From 345aea9ad2e93e9724bdb503b44664aa58215fc8 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 24 Oct 2016 16:50:59 -0400 Subject: [PATCH] move the controls to the left sidebar; improve VPN mode more --- .../torproject/android/OrbotMainActivity.java | 54 +++--- .../org/torproject/android/ui/AppManager.java | 17 +- app/src/main/res/layout/layout_diag.xml | 2 +- app/src/main/res/layout/layout_main.xml | 171 ++---------------- .../main/res/layout/layout_orbot_control.xml | 124 +++++++++++++ app/src/main/res/values/arrays.xml | 2 - 6 files changed, 184 insertions(+), 186 deletions(-) create mode 100644 app/src/main/res/layout/layout_orbot_control.xml diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java index d95e0f25..93e79b21 100644 --- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java +++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java @@ -322,17 +322,9 @@ public class OrbotMainActivity extends AppCompatActivity @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + enableVPN(isChecked); - Prefs.putUseVpn(isChecked); - if (isChecked) { - if (mIsLollipop) //let the user choose the apps - startActivityForResult(new Intent(OrbotMainActivity.this, AppManager.class),REQUEST_VPN_APPS_SELECT); - else - startActivity(new Intent(OrbotMainActivity.this, VPNEnableActivity.class)); - } - else - stopVpnService(); } }); @@ -550,6 +542,19 @@ public class OrbotMainActivity extends AppCompatActivity } + + private void enableVPN (boolean enable) + { + Prefs.putUseVpn(enable); + + if (enable) { + if (mIsLollipop) //let the user choose the apps + startActivityForResult(new Intent(OrbotMainActivity.this, AppManager.class), REQUEST_VPN_APPS_SELECT); + else + startActivity(new Intent(OrbotMainActivity.this, VPNEnableActivity.class)); + } else + stopVpnService(); + } private void enableHiddenServicePort (int hsPort) throws RemoteException, InterruptedException { @@ -758,7 +763,6 @@ public class OrbotMainActivity extends AppCompatActivity else { 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(R.string.install_orweb, new Dialog.OnClickListener () @@ -777,6 +781,13 @@ public class OrbotMainActivity extends AppCompatActivity } }) + .setNeutralButton(R.string.apps_mode, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // enableVPN(true); + mBtnVPN.setChecked(true); + } + }) .setNegativeButton(R.string.standard_browser, new Dialog.OnClickListener () { @@ -864,8 +875,9 @@ public class OrbotMainActivity extends AppCompatActivity } else if (request == REQUEST_VPN) { - if (response == RESULT_OK) - sendIntentToService(TorServiceConstants.CMD_VPN); + if (response == RESULT_OK) { + sendIntentToService(TorServiceConstants.CMD_VPN); + } else { Prefs.putUseVpn(false); @@ -949,27 +961,17 @@ public class OrbotMainActivity extends AppCompatActivity enableBridges(true); break; - case 1: //obfs3 - setupBridgeType("obfs3"); - enableBridges(true); - - break; - case 2: //scramblesuit - setupBridgeType("scramblesuit"); - enableBridges(true); - - break; - case 3: //azure + case 1: //azure Prefs.setBridgesList("2"); enableBridges(true); break; - case 4: //amazon + case 2: //amazon Prefs.setBridgesList("1"); enableBridges(true); break; - case 5: + case 3: showGetBridgePrompt("obfs4"); break; @@ -1224,7 +1226,7 @@ public class OrbotMainActivity extends AppCompatActivity } else if (torStatus == TorServiceConstants.STATUS_OFF) { imgStatus.setImageResource(R.drawable.toroff); - lblStatus.setText(getString(R.string.press_to_start)); + // lblStatus.setText(getString(R.string.press_to_start)); mBtnBrowser.setEnabled(false); mBtnStart.setText(R.string.menu_start); diff --git a/app/src/main/java/org/torproject/android/ui/AppManager.java b/app/src/main/java/org/torproject/android/ui/AppManager.java index 84af48d1..85fe4b3c 100644 --- a/app/src/main/java/org/torproject/android/ui/AppManager.java +++ b/app/src/main/java/org/torproject/android/ui/AppManager.java @@ -27,6 +27,7 @@ import android.support.v7.app.ActionBarActivity; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; @@ -127,7 +128,21 @@ public class AppManager extends AppCompatActivity implements OnCheckedChangeList loadApps(prefs); } } - + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + setResult(RESULT_OK); + finish(); + return true; + + + } + + return false; + } + @Override protected void onResume() { super.onResume(); diff --git a/app/src/main/res/layout/layout_diag.xml b/app/src/main/res/layout/layout_diag.xml index df38971d..5b4ce215 100644 --- a/app/src/main/res/layout/layout_diag.xml +++ b/app/src/main/res/layout/layout_diag.xml @@ -9,6 +9,6 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" - android:layout_margin="3dp" + android:layout_margin="6dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_main.xml b/app/src/main/res/layout/layout_main.xml index 3dfd15aa..ab566ec4 100644 --- a/app/src/main/res/layout/layout_main.xml +++ b/app/src/main/res/layout/layout_main.xml @@ -33,9 +33,10 @@ android:layout_height="400dp" android:id="@+id/frameMain" android:visibility="visible" - android:orientation="vertical" - android:gravity="center_horizontal|center_vertical" - > + android:orientation="vertical" + android:layout_centerVertical="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 7defef0f..795a4198 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -4,8 +4,6 @@ Obfs4 (Best) - Obfs3 - ScrambleSuit Tunnel through Azure Tunnel through Amazon Get New Bridges