improve root access check for transproxy

This commit is contained in:
Nathan Freitas 2015-04-09 09:14:12 -04:00
parent 7d8eea24b1
commit c39cdcba60
1 changed files with 14 additions and 2 deletions

View File

@ -6,6 +6,7 @@ package org.torproject.android.settings;
import java.util.Locale; import java.util.Locale;
import org.sufficientlysecure.rootcommands.RootCommands; import org.sufficientlysecure.rootcommands.RootCommands;
import org.sufficientlysecure.rootcommands.Shell;
import org.torproject.android.R; import org.torproject.android.R;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;
@ -146,13 +147,24 @@ public class SettingsPreferences
{ {
if (prefRequestRoot.isChecked()) if (prefRequestRoot.isChecked())
{ {
boolean canRoot = RootCommands.rootAccessGiven();
boolean canRoot = RootCommands.rootAccessGiven();
prefRequestRoot.setChecked(canRoot); prefRequestRoot.setChecked(canRoot);
if (!canRoot) if (!canRoot)
{ {
Toast.makeText(this, R.string.wizard_permissions_no_root_msg, Toast.LENGTH_LONG).show(); try
{
Shell shell = Shell.startRootShell();
shell.close();
prefRequestRoot.setChecked(true);
}
catch (Exception e)
{
Toast.makeText(this, R.string.wizard_permissions_no_root_msg, Toast.LENGTH_LONG).show();
}
} }
} }
} }