This commit is contained in:
NudeDude 2019-06-16 14:07:24 +02:00
parent 1410ea0567
commit 099d4b48fc
3 changed files with 40 additions and 45 deletions

View File

@ -10,6 +10,8 @@ import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Locale; import java.util.Locale;
import static android.content.Context.MODE_PRIVATE;
public class GlobalSettings { public class GlobalSettings {
private static final String NAME = "settings"; private static final String NAME = "settings";
@ -36,7 +38,7 @@ public class GlobalSettings {
private String proxyUser, proxyPass; private String proxyUser, proxyPass;
private GlobalSettings(Context context) { private GlobalSettings(Context context) {
settings = context.getSharedPreferences(NAME, 0); settings = context.getSharedPreferences(NAME, MODE_PRIVATE);
woeId = settings.getInt("world_id", 1); woeId = settings.getInt("world_id", 1);
customWorldId = settings.getBoolean("custom_woeId", false); customWorldId = settings.getBoolean("custom_woeId", false);
woeIdPos = settings.getInt("world_id_pos", 0); woeIdPos = settings.getInt("world_id_pos", 0);
@ -57,7 +59,7 @@ public class GlobalSettings {
proxyPass = settings.getString("proxy_pass", ""); proxyPass = settings.getString("proxy_pass", "");
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss", Locale.getDefault()); sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss", Locale.getDefault());
formatter = NumberFormat.getIntegerInstance(); formatter = NumberFormat.getIntegerInstance();
setProxy(); configureProxy();
} }
/** /**
@ -296,11 +298,21 @@ public class GlobalSettings {
* set proxy address * set proxy address
* *
* @param proxyHost address of proxy * @param proxyHost address of proxy
* @param proxyPort port of proxy
*/ */
public void setProxyHost(String proxyHost) { public void setProxyServer(String proxyHost, String proxyPort) {
this.proxyHost = proxyHost;
Editor edit = settings.edit(); Editor edit = settings.edit();
edit.putString("proxy_addr", proxyHost); if (proxyHost.trim().isEmpty()) {
this.proxyHost = "";
this.proxyPort = "";
edit.putString("proxy_addr", "");
edit.putString("proxy_port", "");
} else {
this.proxyHost = proxyHost;
this.proxyPort = proxyPort;
edit.putString("proxy_addr", proxyHost);
edit.putString("proxy_port", proxyPort);
}
edit.apply(); edit.apply();
} }
@ -313,18 +325,6 @@ public class GlobalSettings {
return proxyPort; return proxyPort;
} }
/**
* set proxy port
*
* @param proxyPort port string
*/
public void setProxyPort(String proxyPort) {
this.proxyPort = proxyPort;
Editor edit = settings.edit();
edit.putString("proxy_port", proxyPort);
edit.apply();
}
/** /**
* get proxy user login * get proxy user login
* *
@ -337,12 +337,22 @@ public class GlobalSettings {
/** /**
* set proxy user login * set proxy user login
* *
* @param proxyUser username * @param proxyUser proxy username
* @param proxyPass proxy password
*/ */
public void setProxyUser(String proxyUser) { public void setProxyLogin(String proxyUser, String proxyPass) {
this.proxyUser = proxyUser;
Editor edit = settings.edit(); Editor edit = settings.edit();
edit.putString("proxy_user", proxyUser); if (proxyUser.trim().isEmpty()) {
this.proxyUser = "";
this.proxyPass = "";
edit.putString("proxy_user", "");
edit.putString("proxy_pass", "");
} else {
this.proxyUser = proxyUser;
this.proxyPass = proxyPass;
edit.putString("proxy_user", proxyUser);
edit.putString("proxy_pass", proxyPass);
}
edit.apply(); edit.apply();
} }
@ -355,18 +365,6 @@ public class GlobalSettings {
return proxyPass; return proxyPass;
} }
/**
* set proxy password
*
* @param proxyPass login password
*/
public void setProxyPass(String proxyPass) {
this.proxyPass = proxyPass;
Editor edit = settings.edit();
edit.putString("proxy_pass", proxyPass);
edit.apply();
}
/** /**
* Check if current user is logged in * Check if current user is logged in
* *
@ -438,7 +436,7 @@ public class GlobalSettings {
/** /**
* set JAVA VM proxy * set JAVA VM proxy
*/ */
public void setProxy() { public void configureProxy() {
try { try {
if (proxyHost.trim().isEmpty()) { if (proxyHost.trim().isEmpty()) {
System.clearProperty("https.proxyHost"); System.clearProperty("https.proxyHost");

View File

@ -140,12 +140,9 @@ public class AppSettings extends AppCompatActivity implements OnClickListener,
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (validateInputs()) { if (validateInputs()) {
settings.setProxyHost(proxyAddr.getText().toString()); settings.setProxyServer(proxyAddr.getText().toString(), proxyPort.getText().toString());
settings.setProxyPort(proxyPort.getText().toString()); settings.setProxyLogin(proxyUser.getText().toString(), proxyPass.getText().toString());
settings.setProxyUser(proxyUser.getText().toString()); settings.configureProxy();
settings.setProxyPass(proxyPass.getText().toString());
settings.setProxy();
if (customWoeId) { if (customWoeId) {
String woeText = woeIdText.getText().toString(); String woeText = woeIdText.getText().toString();
settings.setWoeId(Long.parseLong(woeText)); settings.setWoeId(Long.parseLong(woeText));

View File

@ -164,7 +164,7 @@
<EditText <EditText
android:id="@+id/woe_id" android:id="@+id/woe_id"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginStart="@dimen/padding_side" android:layout_marginStart="@dimen/padding_side"
android:layout_marginLeft="@dimen/padding_side" android:layout_marginLeft="@dimen/padding_side"
android:layout_weight="2" android:layout_weight="2"
@ -253,7 +253,7 @@
<EditText <EditText
android:id="@+id/edit_proxyadress" android:id="@+id/edit_proxyadress"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="4" android:layout_weight="4"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:ems="10" android:ems="10"
@ -265,7 +265,7 @@
<EditText <EditText
android:id="@+id/edit_proxyport" android:id="@+id/edit_proxyport"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:ems="10" android:ems="10"
@ -291,7 +291,7 @@
<EditText <EditText
android:id="@+id/edit_proxyuser" android:id="@+id/edit_proxyuser"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="3" android:layout_weight="3"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:ems="10" android:ems="10"
@ -303,7 +303,7 @@
<EditText <EditText
android:id="@+id/edit_proxypass" android:id="@+id/edit_proxypass"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="2" android:layout_weight="2"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:ems="10" android:ems="10"