[tor-commits] [orbot/master] move the controls to the left sidebar; improve VPN mode more
n8fr8 at torproject.org
n8fr8 at torproject.org
Mon Oct 24 20:54:08 UTC 2016
commit 345aea9ad2e93e9724bdb503b44664aa58215fc8
Author: Nathan Freitas <nathan at freitas.net>
Date: Mon Oct 24 16:50:59 2016 -0400
move the controls to the left sidebar; improve VPN mode more
---
.../org/torproject/android/OrbotMainActivity.java | 54 +++----
.../java/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 ++-------------------
app/src/main/res/layout/layout_orbot_control.xml | 124 +++++++++++++++
app/src/main/res/values/arrays.xml | 2 -
6 files changed, 184 insertions(+), 186 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index d95e0f2..93e79b2 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 84af48d..85fe4b3 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 df38971..5b4ce21 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"
/>
</ScrollView>
\ 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 3dfd15a..ab566ec 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">
<org.torproject.android.ui.ImageProgressView
android:id="@+id/imgStatus"
android:layout_width="match_parent"
@@ -76,166 +77,14 @@
</LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:gravity="bottom"
- android:layout_gravity="bottom"
- android:padding="3dp"
- android:background="#454545"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true">
-
- <LinearLayout android:gravity="center_horizontal"
- android:orientation="horizontal" android:layout_width="match_parent"
- android:layout_height="wrap_content"
-
- >
-
- <android.support.v7.widget.SwitchCompat
- android:id="@+id/btnVPN"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/menu_vpn"
- android:layout_margin="3dp"
- android:singleLine="true"
- app:switchPadding="9dp"
-
- />
-
-
- <android.support.v7.widget.SwitchCompat
- android:id="@+id/btnBridges"
- 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: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>
-
-
-
- <TextView
- android:id="@+id/lblStatus"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="14sp"
- android:gravity="center_horizontal"
- android:fontFamily="sans-serif-light"
- android:text=""
- android:lines="2"
- android:maxLines="2"
- android:layout_gravity="center_horizontal"
- android:layout_margin="0dp"
- android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:visibility="gone"
- />
-
- <!--
- <TextView android:id="@+id/lblStatus"
- android:text="status status status"
- android:gravity="center_horizontal"
- android:textSize="20sp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="10dp"
- android:layout_marginTop="10dp"
- android:layout_marginLeft="40dp"
- android:layout_marginRight="40dp"
- android:textColor="#ffffff"
- android:maxLines="1"
- android:orientation="vertical"
- android:fontFamily="sans-serif-light"
- />
- -->
-
- <RelativeLayout
- android:id="@+id/rowTrafficDown"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="3sp"
- android:paddingRight="3sp"
-
- >
- <TextView
- android:id="@+id/trafficLabelDown"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:textSize="15sp"
- android:text="@string/main_layout_download"
- android:gravity="center_vertical"
- android:fontFamily="sans-serif-light" />
- <TextView
- android:id="@+id/trafficLabelUp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:text="@string/main_layout_upload"
- android:textSize="15sp"
- android:gravity="center_vertical"
- android:fontFamily="sans-serif-light" />
-
- </RelativeLayout>
- <RelativeLayout
- android:id="@+id/rowTrafficUp"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="3sp"
- android:paddingRight="3sp"
- android:paddingBottom="3sp"
-
- >
- <TextView
- android:id="@+id/trafficDown"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:textSize="15sp"
- android:gravity="center_vertical"
- android:fontFamily="sans-serif-light"
- />
-
- <TextView
- android:id="@+id/trafficUp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:textSize="15sp"
- android:gravity="center_vertical"
- android:fontFamily="sans-serif-light"
- />
- </RelativeLayout>
- </LinearLayout>
-
-
</RelativeLayout>
<LinearLayout
- android:layout_width="320dp"
+ android:layout_width="250dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/left_drawer"
@@ -243,6 +92,9 @@
android:background="#333333"
>
+ <include layout="@layout/layout_orbot_control"/>
+
+
</LinearLayout>
<LinearLayout
@@ -252,7 +104,14 @@
android:id="@+id/right_drawer"
android:layout_gravity="end"
android:background="#333333"
+ android:padding="6dp"
>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/menu_log"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ />
<TextView
android:id="@+id/orbotLog"
android:textSize="12sp"
diff --git a/app/src/main/res/layout/layout_orbot_control.xml b/app/src/main/res/layout/layout_orbot_control.xml
new file mode 100644
index 0000000..870eda4
--- /dev/null
+++ b/app/src/main/res/layout/layout_orbot_control.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+
+ android:orientation="vertical" android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="3dp">
+
+
+ <android.support.v7.widget.SwitchCompat
+ android:id="@+id/btnVPN"
+ android:layout_width="200dp"
+ android:layout_height="wrap_content"
+ android:text="@string/apps_mode"
+ android:layout_margin="12dp"
+ android:singleLine="true"
+ app:switchPadding="9dp"
+ />
+
+
+ <android.support.v7.widget.SwitchCompat
+ android:id="@+id/btnBridges"
+ android:layout_width="200dp"
+ android:layout_height="wrap_content"
+ android:text="@string/bridges"
+ android:layout_margin="12dp"
+ android:singleLine="true"
+ app:switchPadding="9dp"
+ />
+
+
+ <Spinner
+ android:id="@+id/spinnerCountry"
+ android:layout_width="220dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="12dp"
+ android:layout_marginLeft="9dp"
+ />
+
+
+
+
+ <RelativeLayout
+ android:id="@+id/rowTrafficDown"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="3sp"
+ android:paddingRight="3sp"
+ android:layout_margin="12dp"
+ >
+ <TextView
+ android:id="@+id/trafficLabelDown"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:textSize="15sp"
+ android:text="@string/main_layout_download"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif-light" />
+
+
+ <TextView
+ android:id="@+id/trafficDown"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:textSize="15sp"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif-light"
+ />
+ </RelativeLayout>
+ <RelativeLayout
+ android:id="@+id/rowTrafficUp"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="3sp"
+ android:paddingRight="3sp"
+ android:paddingBottom="3sp"
+ android:layout_margin="12dp"
+
+ >
+
+ <TextView
+ android:id="@+id/trafficLabelUp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:text="@string/main_layout_upload"
+ android:textSize="15sp"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif-light" />
+
+ <TextView
+ android:id="@+id/trafficUp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:textSize="15sp"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif-light"
+ />
+ </RelativeLayout>
+
+ <TextView
+ android:id="@+id/lblStatus"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:fontFamily="sans-serif-light"
+ android:text=""
+ android:lines="2"
+ android:maxLines="2"
+ android:layout_margin="12dp"
+ />
+
+ </LinearLayout>
+
+</LinearLayout>
\ 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 7defef0..795a419 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -4,8 +4,6 @@
<string-array name="bridge_options">
<item>Obfs4 (Best)</item>
- <item>Obfs3</item>
- <item>ScrambleSuit</item>
<item>Tunnel through Azure</item>
<item>Tunnel through Amazon</item>
<item>Get New Bridges</item>
More information about the tor-commits
mailing list