Add manual proxy picker
This commit is contained in:
parent
810483ec74
commit
2eec8be4ce
@ -98,7 +98,10 @@ public class SettingsActivity extends ThemableSettingsActivity {
|
|||||||
mProxyChoiceName = (TextView) findViewById(R.id.proxyChoiceName);
|
mProxyChoiceName = (TextView) findViewById(R.id.proxyChoiceName);
|
||||||
mProxyChoices = this.getResources().getStringArray(R.array.proxy_choices_array);
|
mProxyChoices = this.getResources().getStringArray(R.array.proxy_choices_array);
|
||||||
int choice = mPreferences.getProxyChoice();
|
int choice = mPreferences.getProxyChoice();
|
||||||
mProxyChoiceName.setText(mProxyChoices[choice]);
|
if (choice == Constants.PROXY_MANUAL)
|
||||||
|
mProxyChoiceName.setText(mPreferences.getProxyHost() + ":" + mPreferences.getProxyPort());
|
||||||
|
else
|
||||||
|
mProxyChoiceName.setText(mProxyChoices[choice]);
|
||||||
|
|
||||||
CheckBox flash = (CheckBox) findViewById(R.id.cbFlash);
|
CheckBox flash = (CheckBox) findViewById(R.id.cbFlash);
|
||||||
CheckBox adblock = (CheckBox) findViewById(R.id.cbAdblock);
|
CheckBox adblock = (CheckBox) findViewById(R.id.cbAdblock);
|
||||||
@ -337,6 +340,10 @@ public class SettingsActivity extends ThemableSettingsActivity {
|
|||||||
ih.promptToInstall(this);
|
ih.promptToInstall(this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Constants.PROXY_MANUAL:
|
||||||
|
manualProxyPicker();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
mPreferences.setProxyChoice(choice);
|
mPreferences.setProxyChoice(choice);
|
||||||
@ -344,6 +351,29 @@ public class SettingsActivity extends ThemableSettingsActivity {
|
|||||||
mProxyChoiceName.setText(mProxyChoices[choice]);
|
mProxyChoiceName.setText(mProxyChoices[choice]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void manualProxyPicker() {
|
||||||
|
View v = getLayoutInflater().inflate(R.layout.picker_manual_proxy, null);
|
||||||
|
final EditText eProxyHost = (EditText) v.findViewById(R.id.proxyHost);
|
||||||
|
final EditText eProxyPort = (EditText) v.findViewById(R.id.proxyPort);
|
||||||
|
eProxyHost.setText(mPreferences.getProxyHost());
|
||||||
|
eProxyPort.setText(Integer.toString(mPreferences.getProxyPort()));
|
||||||
|
|
||||||
|
new AlertDialog.Builder(mActivity)
|
||||||
|
.setTitle(R.string.manual_proxy)
|
||||||
|
.setView(v)
|
||||||
|
.setPositiveButton(R.string.action_ok, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialogInterface, int i) {
|
||||||
|
String proxyHost = eProxyHost.getText().toString();
|
||||||
|
int proxyPort = Integer.parseInt(eProxyPort.getText().toString());
|
||||||
|
mPreferences.setProxyHost(proxyHost);
|
||||||
|
mPreferences.setProxyPort(proxyPort);
|
||||||
|
mProxyChoiceName.setText(proxyHost + ":" + proxyPort);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
|
||||||
public void agentPicker() {
|
public void agentPicker() {
|
||||||
final AlertDialog.Builder agentStringPicker = new AlertDialog.Builder(mActivity);
|
final AlertDialog.Builder agentStringPicker = new AlertDialog.Builder(mActivity);
|
||||||
|
|
||||||
|
@ -43,4 +43,5 @@ public final class Constants {
|
|||||||
public static final int NO_PROXY = 0;
|
public static final int NO_PROXY = 0;
|
||||||
public static final int PROXY_ORBOT = 1;
|
public static final int PROXY_ORBOT = 1;
|
||||||
public static final int PROXY_I2P = 2;
|
public static final int PROXY_I2P = 2;
|
||||||
|
public static final int PROXY_MANUAL = 3;
|
||||||
}
|
}
|
||||||
|
@ -423,6 +423,14 @@ public class PreferenceManager {
|
|||||||
putInt(Name.PROXY_CHOICE, choice);
|
putInt(Name.PROXY_CHOICE, choice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setProxyHost(String proxyHost) {
|
||||||
|
putString(Name.USE_PROXY_HOST, proxyHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProxyPort(int proxyPort) {
|
||||||
|
putInt(Name.USE_PROXY_PORT, proxyPort);
|
||||||
|
}
|
||||||
|
|
||||||
public void setUserAgentChoice(int choice) {
|
public void setUserAgentChoice(int choice) {
|
||||||
putInt(Name.USER_AGENT, choice);
|
putInt(Name.USER_AGENT, choice);
|
||||||
}
|
}
|
||||||
|
43
app/src/main/res/layout/picker_manual_proxy.xml
Normal file
43
app/src/main/res/layout/picker_manual_proxy.xml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingLeft="4dp"
|
||||||
|
android:paddingStart="4dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/host"/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/proxyHost"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:inputType="text"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/port"/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/proxyPort"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:inputType="number"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
@ -163,7 +163,11 @@
|
|||||||
<item>None</item>
|
<item>None</item>
|
||||||
<item>Orbot</item>
|
<item>Orbot</item>
|
||||||
<item>I2P</item>
|
<item>I2P</item>
|
||||||
|
<item>Manual</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
<string name="manual_proxy">Manual proxy</string>
|
||||||
|
<string name="host">Host:</string>
|
||||||
|
<string name="port">Port:</string>
|
||||||
<string name="use_tor_prompt">It looks like you have Orbot installed. Do you want to use Tor?</string>
|
<string name="use_tor_prompt">It looks like you have Orbot installed. Do you want to use Tor?</string>
|
||||||
<string name="use_i2p_prompt">It looks like you have I2P installed. Do you want to use I2P?</string>
|
<string name="use_i2p_prompt">It looks like you have I2P installed. Do you want to use I2P?</string>
|
||||||
<string name="install_orbot">Please install Orbot in order to proxy with Tor.</string>
|
<string name="install_orbot">Please install Orbot in order to proxy with Tor.</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user