commit ac037a9dc5b4e83cd352c55184dae2582dc7d8f5 Author: Nathan Freitas nathan@freitas.net Date: Mon Oct 24 15:00:47 2016 -0400
fix browser install request --- .../org/torproject/android/OrbotMainActivity.java | 24 ++++++----- .../torproject/android/ui/PromoAppsActivity.java | 17 ++++---- app/src/main/res/layout/layout_main.xml | 48 ++++++++-------------- 3 files changed, 40 insertions(+), 49 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java index 202cff5..d95e0f2 100644 --- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java +++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java @@ -737,8 +737,12 @@ public class OrbotMainActivity extends AppCompatActivity private void openBrowser(final String browserLaunchUrl,boolean forceExternal) { boolean isBrowserInstalled = appInstalledOrNot(TorServiceConstants.BROWSER_APP_USERNAME); - - if (mBtnVPN.isChecked()||forceExternal) + + if (isBrowserInstalled) + { + startIntent(TorServiceConstants.BROWSER_APP_USERNAME,Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl)); + } + else if (mBtnVPN.isChecked()||forceExternal) { //use the system browser since VPN is on Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl)); @@ -751,10 +755,6 @@ public class OrbotMainActivity extends AppCompatActivity intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } - else if (isBrowserInstalled) - { - startIntent(TorServiceConstants.BROWSER_APP_USERNAME,Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl)); - } else { AlertDialog aDialog = new AlertDialog.Builder(OrbotMainActivity.this) @@ -768,10 +768,13 @@ public class OrbotMainActivity extends AppCompatActivity public void onClick(DialogInterface dialog, int which) {
//prompt to install Orweb - Intent intent = new Intent(OrbotMainActivity.this,PromoAppsActivity.class); - startActivity(intent); - - } + //Intent intent = new Intent(OrbotMainActivity.this,PromoAppsActivity.class); + //startActivity(intent); + + startActivity(PromoAppsActivity.getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME,OrbotMainActivity.this)); + + + } }) .setNegativeButton(R.string.standard_browser, new Dialog.OnClickListener () @@ -1291,7 +1294,6 @@ public class OrbotMainActivity extends AppCompatActivity if (torStatus == null && newTorStatus != null) //first time status { torStatus = newTorStatus; - findViewById(R.id.pbConnecting).setVisibility(View.GONE); findViewById(R.id.frameMain).setVisibility(View.VISIBLE); updateStatus(log); diff --git a/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java b/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java index 01c2483..2fdf2df 100644 --- a/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java +++ b/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java @@ -1,6 +1,7 @@ package org.torproject.android.ui;
import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -69,7 +70,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { @Override public void onClick(View view) { finish(); - startActivity(getInstallIntent("info.guardianproject.otr.app.im")); + startActivity(getInstallIntent("info.guardianproject.otr.app.im",PromoAppsActivity.this));
} }); @@ -81,7 +82,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { @Override public void onClick(View view) { finish(); - startActivity(getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME)); + startActivity(getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME,PromoAppsActivity.this));
} }); @@ -94,7 +95,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { public void onClick(View view) {
finish(); - startActivity(getInstallIntent("com.duckduckgo.mobile.android")); + startActivity(getInstallIntent("com.duckduckgo.mobile.android",PromoAppsActivity.this));
} }); @@ -120,7 +121,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { @Override public void onClick(View view) { finish(); - startActivity(getInstallIntent("info.guardianproject.mrapp")); + startActivity(getInstallIntent("info.guardianproject.mrapp",PromoAppsActivity.this));
} }); @@ -132,7 +133,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { @Override public void onClick(View view) { finish(); - startActivity(getInstallIntent("org.martus.android")); + startActivity(getInstallIntent("org.martus.android",PromoAppsActivity.this));
} }); @@ -179,7 +180,7 @@ public class PromoAppsActivity extends Activity implements OrbotConstants {
}
- boolean isAppInstalled(PackageManager pm, String packageName) { + public static boolean isAppInstalled(PackageManager pm, String packageName) { try { pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); return true; @@ -188,11 +189,11 @@ public class PromoAppsActivity extends Activity implements OrbotConstants { } }
- Intent getInstallIntent(String packageName) { + public static Intent getInstallIntent(String packageName, Context context) { final Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(MARKET_URI + packageName));
- PackageManager pm = getPackageManager(); + PackageManager pm = context.getPackageManager(); List<ResolveInfo> resInfos = pm.queryIntentActivities(intent, 0);
String foundPackageName = null; diff --git a/app/src/main/res/layout/layout_main.xml b/app/src/main/res/layout/layout_main.xml index 2759cf5..3dfd15a 100644 --- a/app/src/main/res/layout/layout_main.xml +++ b/app/src/main/res/layout/layout_main.xml @@ -2,7 +2,9 @@
<LinearLayout android:gravity="center_vertical|center_horizontal" xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" android:layout_width="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" + + android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/dark_purple" @@ -23,32 +25,16 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/content_frame" - > - - <LinearLayout android:gravity="center_vertical|center_horizontal" - android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="wrap_content" - - >
- - <ProgressBar - android:id="@+id/pbConnecting" - style="?android:attr/progressBarStyleLarge" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="60dp" - android:visibility="gone" - -android:layout_gravity="center_horizontal|center_vertical"/> - + > + <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="400dp" android:id="@+id/frameMain" android:visibility="visible" android:orientation="vertical" - android:layout_gravity="center_horizontal|center_vertical" + android:gravity="center_horizontal|center_vertical" > <org.torproject.android.ui.ImageProgressView android:id="@+id/imgStatus" @@ -58,7 +44,7 @@ android:layout_gravity="center_horizontal|center_vertical"/> android:padding="0dp" android:layout_margin="0dp" android:src="@drawable/toroff" /> - +
<LinearLayout android:gravity="center_horizontal" @@ -88,9 +74,6 @@ android:layout_gravity="center_horizontal|center_vertical"/> /> </LinearLayout>
- </LinearLayout> - - </LinearLayout>
<LinearLayout @@ -116,31 +99,36 @@ android:layout_gravity="center_horizontal|center_vertical"/>
<android.support.v7.widget.SwitchCompat android:id="@+id/btnVPN" - android:layout_width="80dp" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_vpn" android:layout_margin="3dp" - android:ellipsize="end" android:singleLine="true" - /> + app:switchPadding="9dp" + + />
<android.support.v7.widget.SwitchCompat android:id="@+id/btnBridges" - android:layout_width="100dp" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bridges" android:layout_marginTop="3dp" android:layout_marginLeft="5dp" android:layout_marginBottom="3dp" - android:ellipsize="end" android:singleLine="true" + app:switchPadding="9dp" /> <Spinner android:id="@+id/spinnerCountry" android:layout_width="140dp" android:layout_height="wrap_content" android:layout_weight="1" + + android:layout_marginTop="3dp" + android:layout_marginLeft="5dp" + android:layout_marginBottom="3dp" />
</LinearLayout>
tor-commits@lists.torproject.org