mirror of
https://github.com/gsantner/dandelion
synced 2024-11-24 13:22:08 +01:00
Check, whether proxy settings are satisfied before trying to connect vie WebView
This commit is contained in:
parent
da80c11b66
commit
bb0bf6d93b
2 changed files with 29 additions and 3 deletions
|
@ -20,6 +20,7 @@ import android.widget.Toast;
|
||||||
|
|
||||||
import com.github.dfa.diaspora_android.R;
|
import com.github.dfa.diaspora_android.R;
|
||||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||||
|
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||||
import com.github.dfa.diaspora_android.util.OrbotStatusReceiver;
|
import com.github.dfa.diaspora_android.util.OrbotStatusReceiver;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -156,14 +157,27 @@ public class ContextMenuWebView extends NestedWebView {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reload() {
|
public void reload() {
|
||||||
|
AppSettings settings = new AppSettings(context);
|
||||||
|
if(settings.isProxyOrbot()) {
|
||||||
|
if(OrbotStatusReceiver.isInCorrectState(settings.isLoadImages())) {
|
||||||
|
super.reload();
|
||||||
|
} else {
|
||||||
OrbotHelper.requestStartTor(context.getApplicationContext());
|
OrbotHelper.requestStartTor(context.getApplicationContext());
|
||||||
|
}
|
||||||
|
}
|
||||||
super.reload();
|
super.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadUrl(String url) {
|
public void loadUrl(String url) {
|
||||||
if(!OrbotStatusReceiver.isProxySet())
|
AppSettings settings = new AppSettings(context);
|
||||||
|
if(settings.isProxyOrbot()) {
|
||||||
|
if(OrbotStatusReceiver.isInCorrectState(settings.isLoadImages())) {
|
||||||
|
super.loadUrl(url);
|
||||||
|
} else {
|
||||||
OrbotHelper.requestStartTor(context.getApplicationContext());
|
OrbotHelper.requestStartTor(context.getApplicationContext());
|
||||||
|
}
|
||||||
|
}
|
||||||
super.loadUrl(url);
|
super.loadUrl(url);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -147,4 +147,16 @@ public class OrbotStatusReceiver extends BroadcastReceiver {
|
||||||
return proxySet;
|
return proxySet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true if actual state represents desired state
|
||||||
|
* @param orbotProxyActive desired state; true if app should proxy through tor, false if no proxy used
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static boolean isInCorrectState(boolean orbotProxyActive) {
|
||||||
|
if(orbotProxyActive) {
|
||||||
|
return host != null && !host.equals("") && port > 0 && proxySet;
|
||||||
|
} else {
|
||||||
|
return (host.equals("") || host == null) && port < 1 && !proxySet;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue