[tor-commits] [orbot/master] make the "check" button a bit smarter

n8fr8 at torproject.org n8fr8 at torproject.org
Mon Aug 19 15:21:28 UTC 2013


commit eb1c6b0829f7a47e566f8f82ba76666a91da8a44
Author: Nathan Freitas <nathan at freitas.net>
Date:   Mon Aug 19 11:17:20 2013 -0400

    make the "check" button a bit smarter
---
 src/org/torproject/android/Orbot.java              |  112 +++++++++++++++++---
 .../android/service/TorServiceConstants.java       |    2 +-
 .../torproject/android/wizard/TipsAndTricks.java   |    3 +-
 3 files changed, 98 insertions(+), 19 deletions(-)

diff --git a/src/org/torproject/android/Orbot.java b/src/org/torproject/android/Orbot.java
index dcd2e00..9f4229b 100644
--- a/src/org/torproject/android/Orbot.java
+++ b/src/org/torproject/android/Orbot.java
@@ -11,19 +11,23 @@ import org.torproject.android.service.TorServiceConstants;
 import org.torproject.android.settings.ProcessSettingsAsyncTask;
 import org.torproject.android.settings.SettingsPreferences;
 import org.torproject.android.wizard.ChooseLocaleWizardActivity;
+import org.torproject.android.wizard.TipsAndTricks;
 
 import android.app.AlertDialog;
 import android.app.NotificationManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Configuration;
+import android.drm.DrmStore.Action;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
@@ -72,7 +76,7 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
     ITorService mService = null;
 	private boolean autoStartFromIntent = false;
 
-	SharedPreferences prefs;
+	SharedPreferences mPrefs;
 	
 	public static Orbot currentInstance = null;
 	
@@ -96,8 +100,8 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
         	}
         */
 
-    	prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-    	prefs.registerOnSharedPreferenceChangeListener(this);
+        mPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+        mPrefs.registerOnSharedPreferenceChangeListener(this);
         
         Orbot.setCurrent(this);
 
@@ -365,9 +369,9 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 	
 	private void enableHiddenServicePort (int hsPort)
 	{
-		Editor pEdit = prefs.edit();
+		Editor pEdit = mPrefs.edit();
 		
-		String hsPortString = prefs.getString("pref_hs_ports", "");
+		String hsPortString = mPrefs.getString("pref_hs_ports", "");
 		
 		if (hsPortString.length() > 0 && hsPortString.indexOf(hsPort+"")==-1)
 			hsPortString += ',' + hsPort;
@@ -379,7 +383,7 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 		
 		pEdit.commit();
 		
-		String onionHostname = prefs.getString("pref_hs_hostname","");
+		String onionHostname = mPrefs.getString("pref_hs_hostname","");
 
 		while (onionHostname.length() == 0)
 		{
@@ -395,7 +399,7 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 				e.printStackTrace();
 			}
 			 
-			 onionHostname = prefs.getString("pref_hs_hostname","");
+			 onionHostname = mPrefs.getString("pref_hs_hostname","");
 		}
 		
 		Intent nResult = new Intent();
@@ -520,13 +524,13 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 		
 			
 	
-			boolean showWizard = prefs.getBoolean("show_wizard",true);
+			boolean showWizard = mPrefs.getBoolean("show_wizard",true);
 			
 			if (showWizard)
 			{
 			
 				
-				Editor pEdit = prefs.edit();
+				Editor pEdit = mPrefs.edit();
 				pEdit.putBoolean("show_wizard",false);
 				pEdit.commit();
 	
@@ -566,15 +570,89 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 	/*
 	 * Launch the system activity for Uri viewing with the provided url
 	 */
-	private void openBrowser(String url)
+	private void openBrowser(final String browserLaunchUrl)
 	{
-		Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-		intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
-		startActivity(intent);
+		boolean isOrwebInstalled = appInstalledOrNot("info.guardianproject.browser");
+		boolean isTransProxy =  mPrefs.getBoolean("pref_transparent", false);
+		
+		if (isOrwebInstalled)
+		{
+			startIntent("info.guardianproject.browser",Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl));						
+		}
+		else if (isTransProxy)
+		{
+			Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
+			intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
+			startActivity(intent);
+		}
+		else
+		{
+			AlertDialog aDialog = new AlertDialog.Builder(Orbot.this)
+              .setIcon(R.drawable.icon)
+		      .setTitle("Install apps?")
+		      .setMessage("It doesn't seem like you have Orweb installed. Want help with that, or should we just open the browser?")
+		      .setPositiveButton(android.R.string.ok, new OnClickListener ()
+		      {
+
+				@Override
+				public void onClick(DialogInterface dialog, int which) {
+
+					//prompt to install Orweb
+					Intent intent = new Intent(Orbot.this,TipsAndTricks.class);
+					startActivity(intent);
+					
+				}
+		    	  
+		      })
+		      .setNegativeButton(android.R.string.no, new OnClickListener ()
+		      {
+
+				@Override
+				public void onClick(DialogInterface dialog, int which) {
+					Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
+					intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
+					startActivity(intent);
+					
+				}
+		    	  
+		      })
+		      .show();
+			  
+		}
 		
 	}
 	
+	private void startIntent (String pkg, String action, Uri data)
+	{
+		Intent i;
+		PackageManager manager = getPackageManager();
+		try {
+		    i = manager.getLaunchIntentForPackage(pkg);
+		    if (i == null)
+		        throw new PackageManager.NameNotFoundException();		    
+		    i.setAction(action);
+		    i.setData(data);
+		    startActivity(i);
+		} catch (PackageManager.NameNotFoundException e) {
+
+		}
+	}
 	
+	private boolean appInstalledOrNot(String uri)
+    {
+        PackageManager pm = getPackageManager();
+        boolean app_installed = false;
+        try
+        {
+               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
+               app_installed = true;
+        }
+        catch (PackageManager.NameNotFoundException e)
+        {
+               app_installed = false;
+        }
+        return app_installed ;
+}
 	
 	/*
 	 * Show the help view - a popup dialog
@@ -583,7 +661,7 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 	{
 
 
-		Editor pEdit = prefs.edit();
+		Editor pEdit = mPrefs.edit();
 		pEdit.putBoolean("wizardscreen1",true);
 		pEdit.commit();
 		startActivityForResult(new Intent(getBaseContext(), ChooseLocaleWizardActivity.class), 1);
@@ -681,12 +759,12 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
                                     	appendLogTextAndScroll(torServiceMsg);
                                     }
                                     
-                                    boolean showFirstTime = prefs.getBoolean("connect_first_time",true);
+                                    boolean showFirstTime = mPrefs.getBoolean("connect_first_time",true);
                                     
                                     if (showFirstTime)
                                     {
                                     
-                                            Editor pEdit = prefs.edit();
+                                            Editor pEdit = mPrefs.edit();
                                             
                                             pEdit.putBoolean("connect_first_time",false);
                                             
@@ -1073,7 +1151,7 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
 
         Configuration config = getResources().getConfiguration();
 
-        String lang = prefs.getString(PREF_DEFAULT_LOCALE, "");
+        String lang = mPrefs.getString(PREF_DEFAULT_LOCALE, "");
         
         if (! "".equals(lang) && ! config.locale.getLanguage().equals(lang))
         {
diff --git a/src/org/torproject/android/service/TorServiceConstants.java b/src/org/torproject/android/service/TorServiceConstants.java
index b4a39a6..c12d492 100644
--- a/src/org/torproject/android/service/TorServiceConstants.java
+++ b/src/org/torproject/android/service/TorServiceConstants.java
@@ -76,7 +76,7 @@ public interface TorServiceConstants {
     public static final int DISABLE_TOR_MSG = 3;
     public static final int LOG_MSG = 4;
     
-    public static final String BINARY_TOR_VERSION = "0.2.4.15-rc";
+    public static final String BINARY_TOR_VERSION = "0.2.4.16-rc";
     public static final String BINARY_PRIVOXY_VERSION = "3.0.12";
     public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INTALLED";
     public static final String PREF_BINARY_PRIVOXY_VERSION_INSTALLED = "BINARY_PRIVOXY_VERSION_INTALLED";
diff --git a/src/org/torproject/android/wizard/TipsAndTricks.java b/src/org/torproject/android/wizard/TipsAndTricks.java
index 97b8d9a..49bc311 100644
--- a/src/org/torproject/android/wizard/TipsAndTricks.java
+++ b/src/org/torproject/android/wizard/TipsAndTricks.java
@@ -130,6 +130,7 @@ public class TipsAndTricks extends Activity implements TorConstants {
 			}
 		});
         
+        /**
         btnLink = (Button)findViewById(R.id.WizardRootButtonGooglePlay);
 
         btnLink.setOnClickListener(new OnClickListener() {
@@ -141,7 +142,7 @@ public class TipsAndTricks extends Activity implements TorConstants {
 
 			}
 		});
-        
+        */
         
         
         Button back = ((Button)findViewById(R.id.btnWizard1));





More information about the tor-commits mailing list