Skip to content

Commit

Permalink
Merge pull request #277 from eighthave/bugfix-cleanup-and-funding
Browse files Browse the repository at this point in the history
Bugfix, cleanup, and funding
  • Loading branch information
n8fr8 committed Oct 29, 2019
2 parents dbf13dc + 2a5eec5 commit 135a94d
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 81 deletions.
4 changes: 4 additions & 0 deletions FUNDING.yml
@@ -0,0 +1,4 @@
liberapay: GuardianProject
patreon: guardianproject
github:
- eighthave
Expand Up @@ -58,10 +58,10 @@
import org.torproject.android.mini.ui.onboarding.OnboardingActivity;
import org.torproject.android.mini.vpn.VPNEnableActivity;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.vpn.TorVpnService;
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.vpn.TorifiedApp;
import org.torproject.android.service.vpn.VpnConstants;
import org.torproject.android.service.vpn.VpnPrefs;
Expand Down Expand Up @@ -124,7 +124,7 @@ public class MiniMainActivity extends AppCompatActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
mPrefs = Prefs.getSharedPrefs(getApplicationContext());

/* Create the widgets before registering for broadcasts to guarantee
* that the widgets exist when the status updates try to update them */
Expand Down Expand Up @@ -467,7 +467,7 @@ public void onBackPressed() {

private void refreshVPNApps ()
{
stopVpnService();
TorVpnService.start(this);
startActivity(new Intent(MiniMainActivity.this, VPNEnableActivity.class));
}

Expand All @@ -483,7 +483,7 @@ private void enableVPN (boolean enable)
if (enable) {
startActivityForResult(new Intent(MiniMainActivity.this, VPNEnableActivity.class), REQUEST_VPN);
} else {
stopVpnService();
TorVpnService.start(this);
stopTor();
}
}
Expand Down Expand Up @@ -611,7 +611,8 @@ public void run() {
else if (request == REQUEST_VPN)
{
if (response == RESULT_OK) {
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);

}
else if (response == VPNEnableActivity.ACTIVITY_RESULT_VPN_DENIED)
{
Expand Down Expand Up @@ -711,11 +712,6 @@ private void enableBridges (boolean enable)
private void requestTorRereadConfig() {
sendIntentToService(TorServiceConstants.CMD_SIGNAL_HUP);
}

public void stopVpnService ()
{
sendIntentToService(TorServiceConstants.CMD_VPN_CLEAR);
}

@Override
protected void onResume() {
Expand Down
Expand Up @@ -13,7 +13,7 @@
import android.widget.Switch;
import org.torproject.android.mini.R;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorifiedApp;

import static org.torproject.android.mini.MiniMainActivity.getApp;
Expand All @@ -40,7 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {

final String pkgId = getIntent().getStringExtra(Intent.EXTRA_PACKAGE_NAME);

mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
mPrefs = Prefs.getSharedPrefs(getApplicationContext());

ApplicationInfo aInfo = null;
try {
Expand Down
Expand Up @@ -28,7 +28,7 @@
import android.widget.TextView;
import org.torproject.android.mini.R;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorifiedApp;

import java.util.ArrayList;
Expand Down Expand Up @@ -63,7 +63,7 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
protected void onResume() {
super.onResume();
mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
mPrefs = Prefs.getSharedPrefs(getApplicationContext());
reloadApps();
}

Expand Down
Expand Up @@ -11,6 +11,7 @@
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorVpnService;

/**
* To combat background service being stopped/swiped
Expand Down Expand Up @@ -59,7 +60,7 @@ private void startVpnService ()
Prefs.putUseVpn(true);

Log.d("VPNEnableActivity","VPN enabled, starting Tor...");
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);

Handler h = new Handler();
h.postDelayed(new Runnable () {
Expand Down Expand Up @@ -89,7 +90,8 @@ protected void onActivityResult(int request, int response, Intent data) {
super.onActivityResult(request, response, data);

if (request == REQUEST_VPN && response == RESULT_OK) {
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);

h.postDelayed(new Runnable () {
@Override
public void run () {
Expand Down
15 changes: 5 additions & 10 deletions app/src/main/java/org/torproject/android/OrbotMainActivity.java
Expand Up @@ -57,7 +57,7 @@
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.vpn.TorVpnService;
import org.torproject.android.service.vpn.VpnConstants;
import org.torproject.android.service.vpn.VpnPrefs;
import org.torproject.android.settings.Languages;
Expand Down Expand Up @@ -167,7 +167,7 @@ private void migratePreferences() {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
mPrefs = Prefs.getSharedPrefs(getApplicationContext());

migratePreferences(); // Migrate old preferences

Expand Down Expand Up @@ -601,7 +601,7 @@ public void onBackPressed() {

private void refreshVPNApps ()
{
stopVpnService();
TorVpnService.stop(this);
startActivity(new Intent(OrbotMainActivity.this, VPNEnableActivity.class));
}

Expand All @@ -612,7 +612,7 @@ private void enableVPN (boolean enable)
if (enable) {
startActivityForResult(new Intent(OrbotMainActivity.this, VPNEnableActivity.class), REQUEST_VPN);
} else
stopVpnService();
TorVpnService.stop(this);

addAppShortcuts();
}
Expand Down Expand Up @@ -904,7 +904,7 @@ public void run() {
else if (request == REQUEST_VPN)
{
if (response == RESULT_OK) {
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);
}
else if (response == VPNEnableActivity.ACTIVITY_RESULT_VPN_DENIED)
{
Expand Down Expand Up @@ -998,11 +998,6 @@ private void enableBridges (boolean enable)
private void requestTorRereadConfig() {
sendIntentToService(TorServiceConstants.CMD_SIGNAL_HUP);
}

public void stopVpnService ()
{
sendIntentToService(TorServiceConstants.CMD_VPN_CLEAR);
}

@Override
protected void onResume() {
Expand Down
Expand Up @@ -29,7 +29,7 @@
import android.widget.TextView;
import org.torproject.android.R;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorifiedApp;

import java.util.ArrayList;
Expand Down Expand Up @@ -65,7 +65,7 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
protected void onResume() {
super.onResume();
mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
mPrefs = Prefs.getSharedPrefs(getApplicationContext());
reloadApps();
}

Expand Down
Expand Up @@ -11,6 +11,7 @@
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorVpnService;

/**
* To combat background service being stopped/swiped
Expand Down Expand Up @@ -59,7 +60,7 @@ private void startVpnService ()
Prefs.putUseVpn(true);

Log.d("VPNEnableActivity","VPN enabled, starting Tor...");
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);

Handler h = new Handler();
h.postDelayed(new Runnable () {
Expand Down Expand Up @@ -89,7 +90,7 @@ protected void onActivityResult(int request, int response, Intent data) {
super.onActivityResult(request, response, data);

if (request == REQUEST_VPN && response == RESULT_OK) {
sendIntentToService(TorServiceConstants.CMD_VPN);
TorVpnService.start(this);
h.postDelayed(new Runnable () {
@Override
public void run () {
Expand Down
Expand Up @@ -21,13 +21,12 @@ public void onReceive(Context context, Intent intent) {
if (Prefs.allowBackgroundStarts()) {
Intent startTorIntent = new Intent(context, TorService.class);
startTorIntent.setAction(action);
if (packageName != null)
startTorIntent.putExtra(EXTRA_PACKAGE_NAME, packageName);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(startTorIntent);
if (packageName != null) {
startTorIntent.putExtra(TorService.EXTRA_PACKAGE_NAME, packageName);
}
else
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && Prefs.persistNotifications()) {
context.startForegroundService(startTorIntent);
} else {
context.startService(startTorIntent);
}
} else if (!TextUtils.isEmpty(packageName)) {
Expand Down
Expand Up @@ -50,7 +50,6 @@
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.util.Utils;
import org.torproject.android.service.vpn.OrbotVpnManager;
import org.torproject.android.service.vpn.TorVpnService;
import org.torproject.android.service.vpn.VpnPrefs;

import java.io.BufferedReader;
Expand Down Expand Up @@ -381,10 +380,6 @@ else if (action.equals(CMD_SIGNAL_HUP)) {
requestTorRereadConfig();
} else if (action.equals(CMD_NEWNYM)) {
newIdentity();
} else if (action.equals(CMD_VPN)) {
startVPNService();
} else if (action.equals(CMD_VPN_CLEAR)) {
clearVpnProxy();
} else if (action.equals(CMD_SET_EXIT)) {

setExitNode(mIntent.getStringExtra("exit"));
Expand Down Expand Up @@ -610,7 +605,7 @@ public void startTransportSync(TransportListener transportListener) {

private boolean torUpgradeAndConfig() throws IOException, TimeoutException {

SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED,null);

logNotice("checking binary version: " + version);
Expand Down Expand Up @@ -638,7 +633,7 @@ private boolean torUpgradeAndConfig() throws IOException, TimeoutException {

private File updateTorrcCustomFile () throws IOException, TimeoutException
{
SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());

StringBuffer extraLines = new StringBuffer();

Expand Down Expand Up @@ -850,7 +845,7 @@ private void startTor() {
// make sure there are no stray daemons running
killAllDaemons();

SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED,null);
logNotice("checking binary version: " + version);

Expand Down Expand Up @@ -1164,7 +1159,7 @@ private int getControlPort ()
bufferedReader.close();

//store last valid control port
SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
prefs.edit().putInt("controlport", result).commit();

}
Expand Down Expand Up @@ -1483,7 +1478,7 @@ public void onReceive(Context context, Intent intent) {
if (mCurrentStatus == STATUS_OFF)
return;

SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());

boolean doNetworKSleep = prefs.getBoolean(OrbotConstants.PREF_DISABLE_NETWORK, true);

Expand Down Expand Up @@ -1542,7 +1537,7 @@ private StringBuffer processSettingsImpl (StringBuffer extraLines) throws IOExce
{
logNotice(getString(R.string.updating_settings_in_tor_service));

SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());

boolean useBridges = Prefs.bridgesEnabled();

Expand Down Expand Up @@ -1909,7 +1904,7 @@ private void handleIntent( Intent intent ) {

private void setExitNode (String newExits)
{
SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());

if (TextUtils.isEmpty(newExits))
{
Expand Down Expand Up @@ -1973,27 +1968,6 @@ public int getNotifyId ()
return NOTIFY_ID;
}

private void startVPNService ()
{
Intent intentVpn = new Intent(this, TorVpnService.class);
intentVpn.setAction("start");
startService(intentVpn);

}


public void clearVpnProxy ()
{
debug ("clearing VPN Proxy");
Prefs.putUseVpn(false);

Intent intentVpn = new Intent(this,TorVpnService.class);
intentVpn.setAction("stop");
startService(intentVpn);

}


// for bridge loading from the assets default bridges.txt file
class Bridge
{
Expand Down
Expand Up @@ -93,12 +93,7 @@ public interface TorServiceConstants {

// actions for internal command Intents
String CMD_SIGNAL_HUP = "signal_hup";
String CMD_STATUS = "status";
String CMD_FLUSH = "flush";
String CMD_NEWNYM = "newnym";
String CMD_VPN = "vpn";
String CMD_VPN_CLEAR = "vpnclear";
String CMD_UPDATE_TRANS_PROXY = "update";
String CMD_SET_EXIT = "setexit";

String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
Expand Down
Expand Up @@ -3,6 +3,7 @@

import android.content.Context;
import android.content.SharedPreferences;
import org.torproject.android.service.OrbotConstants;

import java.util.Locale;

Expand All @@ -24,7 +25,7 @@ public class Prefs {

public static void setContext(Context context) {
if (prefs == null)
prefs = TorServiceUtils.getSharedPrefs(context);
prefs = getSharedPrefs(context);
}

private static void putBoolean(String key, boolean value) {
Expand Down Expand Up @@ -109,4 +110,8 @@ public static void setExitNodes (String exits)
{
putString(PREF_EXIT_NODES,exits);
}

public static SharedPreferences getSharedPrefs (Context context) {
return context.getSharedPreferences(OrbotConstants.PREF_TOR_SHARED_PREFS,0 | Context.MODE_MULTI_PROCESS);
}
}

0 comments on commit 135a94d

Please sign in to comment.