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