[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [orbot/master] only refresh VPN settings if app selection changes
commit c53204f9c346332a7dc4757fb1a3ccbd67a79301
Author: n8fr8 <nathan@xxxxxxxxxxx>
Date: Tue Oct 31 11:11:46 2017 -0400
only refresh VPN settings if app selection changes
---
.../org/torproject/android/OrbotMainActivity.java | 12 ++++--
.../torproject/android/ui/AppManagerActivity.java | 44 +++++++++++-----------
.../android/service/vpn/OrbotVpnManager.java | 1 -
.../android/service/vpn/TorVpnService.java | 6 ---
4 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 2c45d0f6..60a3a2c5 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -609,6 +609,12 @@ public class OrbotMainActivity extends AppCompatActivity
}
+ private void refreshVPNApps ()
+ {
+ stopVpnService();
+ startActivity(new Intent(OrbotMainActivity.this, VPNEnableActivity.class));
+ }
+
private void enableVPN (boolean enable)
{
Prefs.putUseVpn(enable);
@@ -798,10 +804,8 @@ public class OrbotMainActivity extends AppCompatActivity
case INTENT_ACTION_REQUEST_START_TOR:
autoStartFromIntent = true;
-
startTor();
-
break;
case Intent.ACTION_VIEW:
String urlString = intent.getDataString();
@@ -967,7 +971,9 @@ public class OrbotMainActivity extends AppCompatActivity
}
else if (request == REQUEST_VPN_APPS_SELECT)
{
- startActivity(new Intent(OrbotMainActivity.this, VPNEnableActivity.class));
+ if (response == RESULT_OK)
+ refreshVPNApps();
+
}
IntentResult scanResult = IntentIntegrator.parseActivityResult(request, response, data);
diff --git a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
index 9d909f54..0f8e2f06 100644
--- a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
@@ -18,6 +18,7 @@ import org.torproject.android.service.vpn.TorifiedApp;
import android.app.ProgressDialog;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.ApplicationInfo;
@@ -41,7 +42,7 @@ import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
-public class AppManagerActivity extends AppCompatActivity implements OnCheckedChangeListener, OnClickListener, OrbotConstants {
+public class AppManagerActivity extends AppCompatActivity implements OnClickListener, OrbotConstants {
private GridView listApps;
private ListAdapter adapterApps;
@@ -132,8 +133,6 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
entry.icon = (ImageView) convertView.findViewById(R.id.itemicon);
entry.box = (CheckBox) convertView.findViewById(R.id.itemcheck);
entry.text = (TextView) convertView.findViewById(R.id.itemtext);
-
-
convertView.setTag(entry);
@@ -146,9 +145,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
try {
entry.icon.setImageDrawable(pMgr.getApplicationIcon(app.getPackageName()));
entry.icon.setOnClickListener(AppManagerActivity.this);
-
- if (entry.box != null)
- entry.icon.setTag(entry.box);
+ entry.icon.setTag(entry.box);
}
catch (Exception e)
{
@@ -159,17 +156,12 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
if (entry.text != null) {
entry.text.setText(app.getName());
entry.text.setOnClickListener(AppManagerActivity.this);
-
- if (entry.box != null)
- entry.text.setTag(entry.box);
+ entry.text.setTag(entry.box);
}
-
if (entry.box != null) {
- entry.box.setOnCheckedChangeListener(AppManagerActivity.this);
- entry.box.setTag(app);
+ entry.box.setOnClickListener(AppManagerActivity.this);
entry.box.setChecked(app.isTorified());
-
}
return convertView;
@@ -307,6 +299,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
{
StringBuilder tordApps = new StringBuilder();
+ Intent response = new Intent();
for (TorifiedApp tApp:mApps)
{
@@ -314,6 +307,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
{
tordApps.append(tApp.getUsername());
tordApps.append("|");
+ response.putExtra(tApp.getUsername(),true);
}
}
@@ -321,12 +315,14 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
edit.putString(PREFS_KEY_TORIFIED, tordApps.toString());
edit.commit();
+ setResult(RESULT_OK,response);
}
/**
* Called an application is check/unchecked
*/
+ /**
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final TorifiedApp app = (TorifiedApp) buttonView.getTag();
if (app != null) {
@@ -335,23 +331,29 @@ public class AppManagerActivity extends AppCompatActivity implements OnCheckedCh
saveAppSettings(this);
- }
+ }**/
public void onClick(View v) {
- CheckBox cbox = (CheckBox)v.getTag();
+ CheckBox cbox = null;
- final TorifiedApp app = (TorifiedApp)cbox.getTag();
- if (app != null) {
- app.setTorified(!app.isTorified());
- cbox.setChecked(app.isTorified());
- }
+ if (v instanceof CheckBox)
+ cbox = (CheckBox)v;
+ else if (v.getTag() instanceof CheckBox)
+ cbox = (CheckBox)v.getTag();
- saveAppSettings(this);
+ if (cbox != null) {
+ final TorifiedApp app = (TorifiedApp) cbox.getTag();
+ if (app != null) {
+ app.setTorified(!app.isTorified());
+ cbox.setChecked(app.isTorified());
+ }
+ saveAppSettings(this);
+ }
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
index 3d54e888..bbae15ea 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
@@ -114,7 +114,6 @@ public class OrbotVpnManager implements Handler.Callback {
if (!mIsLollipop)
{
-
startSocksBypass();
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java
index f396860d..7d18ffd8 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java
@@ -5,12 +5,6 @@ import android.app.Service;
import android.content.Intent;
import android.net.VpnService;
import android.os.Build;
-import android.text.TextUtils;
-import android.util.Log;
-
-import org.torproject.android.service.OrbotConstants;
-import org.torproject.android.service.TorServiceConstants;
-import org.torproject.android.service.util.Prefs;
/**
* Created by n8fr8 on 9/26/16.
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits