improved activate button responsive to be more instant
svn:r21778
This commit is contained in:
parent
86c568f03e
commit
09fd0ef66d
|
@ -631,39 +631,37 @@ public class Orbot extends Activity implements OnClickListener, TorConstants, On
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (mService == null)
|
||||
{
|
||||
|
||||
}
|
||||
else if (mService.getStatus() == STATUS_READY)
|
||||
{
|
||||
|
||||
mService.setProfile(PROFILE_ON); //this means turn on
|
||||
|
||||
updateStatus("");
|
||||
imgStatus.setImageResource(R.drawable.torstarting);
|
||||
lblStatus.setText(getString(R.string.status_starting_up));
|
||||
|
||||
Message msg = mHandler.obtainMessage(ENABLE_TOR_MSG);
|
||||
mHandler.sendMessage(msg);
|
||||
|
||||
updateStatus("");
|
||||
|
||||
processSettings();
|
||||
|
||||
|
||||
if (hasRoot && enableTransparentProxy)
|
||||
{
|
||||
|
||||
TorTransProxy.setDNSProxying();
|
||||
TorTransProxy.setTransparentProxying(this,TorServiceUtils.getApps(this));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
mService.setProfile(PROFILE_ONDEMAND); //these means turn off
|
||||
updateStatus("");
|
||||
|
||||
if (hasRoot && enableTransparentProxy)
|
||||
{
|
||||
TorTransProxy.purgeNatIptables();
|
||||
//TorRoot.setDNSProxying(false);
|
||||
//TorRoot.setTransparentProxying(this,false);
|
||||
}
|
||||
Message msg = mHandler.obtainMessage(DISABLE_TOR_MSG);
|
||||
mHandler.sendMessage(msg);
|
||||
|
||||
updateStatus("");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -675,6 +673,31 @@ public class Orbot extends Activity implements OnClickListener, TorConstants, On
|
|||
|
||||
}
|
||||
|
||||
private void doTorSetup (boolean enabled)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
processSettings();
|
||||
|
||||
|
||||
if (hasRoot && enableTransparentProxy)
|
||||
{
|
||||
|
||||
TorTransProxy.setDNSProxying();
|
||||
TorTransProxy.setTransparentProxying(this,TorServiceUtils.getApps(this));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (hasRoot && enableTransparentProxy)
|
||||
{
|
||||
TorTransProxy.purgeNatIptables();
|
||||
//TorRoot.setDNSProxying(false);
|
||||
//TorRoot.setTransparentProxying(this,false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This implementation is used to receive callbacks from the remote
|
||||
* service.
|
||||
|
@ -697,6 +720,8 @@ public class Orbot extends Activity implements OnClickListener, TorConstants, On
|
|||
|
||||
private static final int BUMP_MSG = 1;
|
||||
|
||||
private static final int ENABLE_TOR_MSG = 2;
|
||||
private static final int DISABLE_TOR_MSG = 3;
|
||||
|
||||
private Handler mHandler = new Handler() {
|
||||
@Override public void handleMessage(Message msg) {
|
||||
|
@ -711,6 +736,15 @@ public class Orbot extends Activity implements OnClickListener, TorConstants, On
|
|||
updateStatus(torServiceMsg);
|
||||
|
||||
break;
|
||||
case ENABLE_TOR_MSG:
|
||||
|
||||
doTorSetup(true);
|
||||
break;
|
||||
case DISABLE_TOR_MSG:
|
||||
|
||||
doTorSetup(false);
|
||||
break;
|
||||
|
||||
default:
|
||||
super.handleMessage(msg);
|
||||
}
|
||||
|
|
|
@ -699,6 +699,8 @@ public class TorService extends Service implements TorServiceConstants, Runnable
|
|||
public void setProfile (int profile)
|
||||
{
|
||||
setTorProfile(profile);
|
||||
sendCallbackMessage("");
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue