commit 5e8272dcc86c2ad2fa192dc019145d9c6445552e Author: Nathan Freitas nathan@freitas.net Date: Wed Mar 18 22:00:27 2015 -0400
revert to old logic for opening/showing browser --- AndroidManifest.xml | 73 +------------------ src/org/torproject/android/OrbotMainActivity.java | 78 +++++++++++++-------- 2 files changed, 51 insertions(+), 100 deletions(-)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 4503f8a..084fb65 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -94,77 +94,6 @@ <activity android:name=".settings.SettingsPreferences" android:label="@string/app_name"/> <activity android:name=".settings.AppManager" android:label="@string/app_name"/>
- <activity android:name="info.guardianproject.browser.Browser" - android:label="@string/app_name_orweb" - android:icon="@drawable/icon_orweb" - android:configChanges="locale|orientation|screenSize" - > - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER" /> - </intent-filter> - <intent-filter> - <action android:name="android.intent.action.SEARCH" /> - <category android:name="android.intent.category.DEFAULT" /> - </intent-filter> - <intent-filter> - <action android:name="android.intent.action.VIEW" /> - - <category android:name="android.intent.category.DEFAULT" /> - <category android:name="android.intent.category.BROWSABLE" /> - <data android:scheme="http" /> - <data android:scheme="https" /> - <data android:scheme="about" /> - </intent-filter> - <!-- For these schemes where any of these particular MIME types - have been supplied, we are a good candidate. --> - <intent-filter> - <action android:name="android.intent.action.VIEW" /> - - <category android:name="android.intent.category.BROWSABLE" /> - <category android:name="android.intent.category.DEFAULT" /> - <data android:scheme="http" /> --> - <data android:scheme="https" /> - <data android:mimeType="text/html"/> - <data android:mimeType="text/plain"/> - <data android:mimeType="application/xhtml+xml"/> - <data android:mimeType="application/vnd.wap.xhtml+xml"/> - </intent-filter>
- <meta-data android:name="android.app.searchable" - android:resource="@xml/searchable"/> - </activity> - <activity android:label="@string/app_name" android:name="info.guardianproject.browser.EditPreferences"></activity> - - - <service android:enabled="true" - android:name=".service.TorService" - android:permission="org.torproject.android.MANAGE_TOR" - android:stopWithTask="false" - > - <intent-filter> - <action android:name="org.torproject.android.service.ITorService" /> - <action android:name="org.torproject.android.service.TOR_SERVICE" /> - </intent-filter> - </service> - - <receiver android:name="org.torproject.android.service.OnBootReceiver"> - <intent-filter> - <action android:name="android.intent.action.BOOT_COMPLETED" /> - <action android:name="android.intent.action.QUICKBOOT_POWERON" /> - <action android:name="android.intent.action.MEDIA_MOUNTED"/> - </intent-filter> - </receiver> - - - <service android:name="org.torproject.android.vpn.OrbotVpnService" - android:permission="android.permission.BIND_VPN_SERVICE"> - <intent-filter> - <action android:name="android.net.VpnService"/> - </intent-filter> - </service> - - </application> - - +</application> </manifest> diff --git a/src/org/torproject/android/OrbotMainActivity.java b/src/org/torproject/android/OrbotMainActivity.java index 62cec03..9f38be4 100644 --- a/src/org/torproject/android/OrbotMainActivity.java +++ b/src/org/torproject/android/OrbotMainActivity.java @@ -3,8 +3,6 @@
package org.torproject.android;
-import info.guardianproject.browser.Browser; - import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; @@ -18,10 +16,12 @@ import org.torproject.android.settings.SettingsPreferences; import org.torproject.android.ui.ChooseLocaleWizardActivity; import org.torproject.android.ui.ImageProgressView; import org.torproject.android.ui.Rotate3dAnimation; +import org.torproject.android.ui.TipsAndTricks;
import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; +import android.app.Dialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -652,21 +652,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC Editor pEdit = mPrefs.edit(); - /* - String bridges = "";//let's override, not add // mPrefs.getString(TorConstants.PREF_BRIDGES_LIST, null); - - - if (bridges != null && bridges.trim().length() > 0) - { - if (bridges.indexOf('\n')!=-1) - bridges += '\n' + newBridgeValue; - else - bridges += ',' + newBridgeValue; - } - else - bridges = newBridgeValue; - */ - pEdit.putString(TorConstants.PREF_BRIDGES_LIST,newBridgeValue); //set the string to a preference pEdit.putBoolean(TorConstants.PREF_BRIDGES_ENABLED,true); @@ -692,31 +677,68 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC /* * Launch the system activity for Uri viewing with the provided url */ - private void openBrowser(String browserLaunchUrl) + private void openBrowser(final String browserLaunchUrl) { - //startIntent("info.guardianproject.browser.Browser",Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl)); - - if (mBtnVPN.isChecked()) + 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 (mBtnVPN.isChecked()) { //use the system browser since VPN is on 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 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 { - - //use the built-in browser - Intent intentBrowser = new Intent(this, Browser.class); - intentBrowser.setAction(Intent.ACTION_VIEW); - intentBrowser.setData(Uri.parse(browserLaunchUrl)); - startActivity(intentBrowser); + AlertDialog aDialog = new AlertDialog.Builder(OrbotMainActivity.this) + .setIcon(R.drawable.onion32) + .setTitle(R.string.install_apps_) + .setMessage(R.string.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 Dialog.OnClickListener () + { + + @Override + public void onClick(DialogInterface dialog, int which) { + + //prompt to install Orweb + Intent intent = new Intent(OrbotMainActivity.this,TipsAndTricks.class); + startActivity(intent); + + } + + }) + .setNegativeButton(android.R.string.no, new Dialog.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)
tor-commits@lists.torproject.org