commit eb1c6b0829f7a47e566f8f82ba76666a91da8a44
Author: Nathan Freitas <[email protected]>
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));



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to