diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java index 88f13171..a1af7b9d 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java @@ -78,12 +78,12 @@ public class SettingsActivity extends AppCompatActivity { sharedPreferences.registerOnSharedPreferenceChangeListener(this); setPreferenceSummaries(); sharedPreferences.edit().putBoolean(getString(R.string.pref_key__proxy_was_enabled), - sharedPreferences.getBoolean(getString(R.string.pref_key__proxy_enabled), false)).apply(); + sharedPreferences.getBoolean(getString(R.string.pref_key__http_proxy_enabled), false)).apply(); } private void setPreferenceSummaries() { String[] editTextKeys = new String[]{ - getString(R.string.pref_key__proxy_host), getString(R.string.pref_key__proxy_port) + getString(R.string.pref_key__http_proxy_host), getString(R.string.pref_key__http_proxy_port) }; for (String key : editTextKeys) { EditTextPreference p = (EditTextPreference) findPreference(key); @@ -98,9 +98,9 @@ public class SettingsActivity extends AppCompatActivity { key.equals(getString(R.string.pref_key__font_size)) || key.equals(getString(R.string.pref_key__load_images)) || key.equals(getString(R.string.pref_key__intellihide_toolbars)) || - key.equals(getString(R.string.pref_key__proxy_enabled)) || - key.equals(getString(R.string.pref_key__proxy_host)) || - key.equals(getString(R.string.pref_key__proxy_port)) || + key.equals(getString(R.string.pref_key__http_proxy_enabled)) || + key.equals(getString(R.string.pref_key__http_proxy_host)) || + key.equals(getString(R.string.pref_key__http_proxy_port)) || key.startsWith("pref_key__visibility_nav__"))) { ((SettingsActivity) getActivity()).setActivityRestartRequired(); } @@ -123,8 +123,11 @@ public class SettingsActivity extends AppCompatActivity { @Override public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) { + App app = ((App) getActivity().getApplication()); + AppSettings appSettings = app.getSettings(); Intent intent = new Intent(getActivity(), MainActivity.class); - String podDomain = ((App) getActivity().getApplication()).getSettings().getPodDomain(); + String podDomain = appSettings.getPodDomain(); + switch (preference.getTitleRes()) { case R.string.pref_title__personal_settings: { intent.setAction(MainActivity.ACTION_OPEN_URL); @@ -158,6 +161,11 @@ public class SettingsActivity extends AppCompatActivity { .show(); return true; } + case R.string.pref_title__http_proxy_load_tor_preset: { + ((EditTextPreference)findPreference(getString(R.string.pref_key__http_proxy_host))).setText("127.0.0.1"); + ((EditTextPreference)findPreference(getString(R.string.pref_key__http_proxy_port))).setText("8118"); + return true; + } default: { intent = null; diff --git a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java index da5839c9..8d0160dd 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java @@ -202,7 +202,7 @@ public class AppSettings { @SuppressLint("CommitPrefEdits") public void setProxyEnabled(boolean enabled) { //commit instead of apply because the app is likely to be killed before apply is called. - prefApp.edit().putBoolean(context.getString(R.string.pref_key__proxy_enabled), enabled).commit(); + prefApp.edit().putBoolean(context.getString(R.string.pref_key__http_proxy_enabled), enabled).commit(); } /** @@ -211,7 +211,7 @@ public class AppSettings { * @return whether proxy is enabled or not */ public boolean isProxyEnabled() { - return getBoolean(prefApp, R.string.pref_key__proxy_enabled, false); + return getBoolean(prefApp, R.string.pref_key__http_proxy_enabled, false); } public boolean wasProxyEnabled() { @@ -235,9 +235,12 @@ public class AppSettings { * @return proxy host */ public String getProxyHost() { - return getString(prefApp, R.string.pref_key__proxy_host, ""); + return getString(prefApp, R.string.pref_key__http_proxy_host, ""); } + public void setProxyHttpHost(String value) { + setString(prefApp, R.string.pref_key__http_proxy_host, value); + } /** * Default value: 0 * @@ -245,13 +248,17 @@ public class AppSettings { */ public int getProxyPort() { try { - return Integer.parseInt(getString(prefApp, R.string.pref_key__proxy_port, "0")); + return Integer.parseInt(getString(prefApp, R.string.pref_key__http_proxy_port, "0")); } catch (Exception e) { - setString(prefApp, R.string.pref_key__proxy_port, "0"); + setString(prefApp, R.string.pref_key__http_proxy_port, "0"); return 0; } } + public void setProxyHttpPort(int value) { + setInt(prefApp, R.string.pref_key__http_proxy_port, value); + } + public boolean isIntellihideToolbars() { return getBoolean(prefApp, R.string.pref_key__intellihide_toolbars, false); } diff --git a/app/src/main/res/drawable/tor_onion.xml b/app/src/main/res/drawable/tor_onion.xml new file mode 100644 index 00000000..7df39ce0 --- /dev/null +++ b/app/src/main/res/drawable/tor_onion.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/values-de/strings-preferences.xml b/app/src/main/res/values-de/strings-preferences.xml index ed3586f7..c629a28e 100644 --- a/app/src/main/res/values-de/strings-preferences.xml +++ b/app/src/main/res/values-de/strings-preferences.xml @@ -22,9 +22,9 @@ Deaktiviere das Laden von Bildern, um den Datenverbrauch zu verringern Aktiviere Netzwerkproxy - Nutze einen Proxyserver, um Firewalls zu umgehen - Host - Port + Nutze einen Proxyserver, um Firewalls zu umgehen + Host + Port Chrome Custom Tabs Externe Links mit Chrome Custom Tabs öffnen. Für dieses Feature muss Chromium oder Google Chrome installiert sein diff --git a/app/src/main/res/values-es/strings-preferences.xml b/app/src/main/res/values-es/strings-preferences.xml index 6a6b67c1..9cab7553 100644 --- a/app/src/main/res/values-es/strings-preferences.xml +++ b/app/src/main/res/values-es/strings-preferences.xml @@ -22,9 +22,9 @@ Desactivar la carga de de imágenes a datos móviles seguros Activar Proxy - El tráfico proxificado de Diaspora para evitar firewalls.\nPuede necesitar reiniciarse - Anfitrión - Puerto + El tráfico proxificado de Diaspora para evitar firewalls.\nPuede necesitar reiniciarse + Anfitrión + Puerto Configuración personal diff --git a/app/src/main/res/values-fr/strings-preferences.xml b/app/src/main/res/values-fr/strings-preferences.xml index 48b8d71d..2ff27c03 100644 --- a/app/src/main/res/values-fr/strings-preferences.xml +++ b/app/src/main/res/values-fr/strings-preferences.xml @@ -22,9 +22,9 @@ Désactiver le chargements des images pour préserver la data mobile Activer Proxy - Serveur Proxy.\n(Nécessite un redémarrage) - Hôte - Port + Serveur Proxy.\n(Nécessite un redémarrage) + Hôte + Port Onglets personnalisés de Chrome Ouvrir les liens externes avec les onglets personnalisés. Chromium ou Google Chrome doit être installé pour cette fonctionnalité diff --git a/app/src/main/res/values-it/strings-preferences.xml b/app/src/main/res/values-it/strings-preferences.xml index 01fbf921..7ace8cf5 100644 --- a/app/src/main/res/values-it/strings-preferences.xml +++ b/app/src/main/res/values-it/strings-preferences.xml @@ -22,9 +22,9 @@ Disabilita il caricamento delle immagini per risparmiare la rete dati Attiva proxy - Traffico del proxy di Diaspora per bypassare i firewall.\nPuò essere necessario il riavvio dell\'app - Host - Porta + Traffico del proxy di Diaspora per bypassare i firewall.\nPuò essere necessario il riavvio dell\'app + Host + Porta Impostazioni personali diff --git a/app/src/main/res/values-ja/strings-preferences.xml b/app/src/main/res/values-ja/strings-preferences.xml index 909ff218..de7154e6 100644 --- a/app/src/main/res/values-ja/strings-preferences.xml +++ b/app/src/main/res/values-ja/strings-preferences.xml @@ -22,9 +22,9 @@ 安全なモバイルデータのため、画像の読み込みを無効にします プロキシを有効にする - Diaspora の通信をプロキシして、ファイアウォールに回避します。\n再起動が必要になることがあります - ホスト - ポート + Diaspora の通信をプロキシして、ファイアウォールに回避します。\n再起動が必要になることがあります + ホスト + ポート Chrome カスタムタブ Chrome カスタム タブで外部リンクを開きます。この機能は Chromium または Google Chrome をインストールする必要があります diff --git a/app/src/main/res/values-ml/strings-preferences.xml b/app/src/main/res/values-ml/strings-preferences.xml index 390a9139..decc542a 100644 --- a/app/src/main/res/values-ml/strings-preferences.xml +++ b/app/src/main/res/values-ml/strings-preferences.xml @@ -22,9 +22,9 @@ മൊബൈൽ ഡാറ്റ ഉപഭോഗം കുറയ്ക്കാനായി ചിത്രങ്ങൾ ലോഡ് ചെയ്യാതിരിക്കുക പ്രോക്സി അനുവദിക്കൂ - ഫയർവാളുകളെ മറികടക്കാൻ ഡയസ്പോറ ട്രാഫിക് പ്രോക്സി ചെയ്യൂ.\nപുനരാരംഭിക്കേണ്ടി വന്നേക്കാം - ആഥിതേയൻ - പോർട്ട് + ഫയർവാളുകളെ മറികടക്കാൻ ഡയസ്പോറ ട്രാഫിക് പ്രോക്സി ചെയ്യൂ.\nപുനരാരംഭിക്കേണ്ടി വന്നേക്കാം + ആഥിതേയൻ + പോർട്ട് സ്വകാര്യ സജ്ജീകരണങ്ങൾ diff --git a/app/src/main/res/values-nl/strings-preferences.xml b/app/src/main/res/values-nl/strings-preferences.xml index 47b807ca..8526b891 100644 --- a/app/src/main/res/values-nl/strings-preferences.xml +++ b/app/src/main/res/values-nl/strings-preferences.xml @@ -21,9 +21,9 @@ Afbeelding laden uitschakelen om mobiele data te besparen Proxy inschakelen - Gebruik een Proxy voor Diaspora om de firewalls te omzeilen.\nRestart nodig - Host - Poort + Gebruik een Proxy voor Diaspora om de firewalls te omzeilen.\nRestart nodig + Host + Poort Persoonlijke instellingen diff --git a/app/src/main/res/values-pt-rBR/strings-preferences.xml b/app/src/main/res/values-pt-rBR/strings-preferences.xml index ee8eebc8..1fbd4608 100644 --- a/app/src/main/res/values-pt-rBR/strings-preferences.xml +++ b/app/src/main/res/values-pt-rBR/strings-preferences.xml @@ -22,9 +22,9 @@ Desabilitar o carregamento de imagens para economizar seus créditos Habilitar o Proxy - Usar proxy para o tráfego da diáspora para contornar firewalls.\nPode requerer reinicialização - Servidor - Porta + Usar proxy para o tráfego da diáspora para contornar firewalls.\nPode requerer reinicialização + Servidor + Porta Configurações pessoais diff --git a/app/src/main/res/values-ru/strings-preferences.xml b/app/src/main/res/values-ru/strings-preferences.xml index 3bc04e85..0b924029 100644 --- a/app/src/main/res/values-ru/strings-preferences.xml +++ b/app/src/main/res/values-ru/strings-preferences.xml @@ -22,9 +22,9 @@ Отключить загрузку изображений для экономии траффика Использовать прокси - Перенаправить трафик Диаспоры в обход брандмауэров.\nМожет потребовать перезапуска - Хост - Порт + Перенаправить трафик Диаспоры в обход брандмауэров.\nМожет потребовать перезапуска + Хост + Порт Личные настройки diff --git a/app/src/main/res/values/strings-preferences.xml b/app/src/main/res/values/strings-preferences.xml index fe4e728b..225eb33b 100644 --- a/app/src/main/res/values/strings-preferences.xml +++ b/app/src/main/res/values/strings-preferences.xml @@ -15,11 +15,12 @@ pref_key_load_images pref_key_clear_cache pref_key__chrome_custom_tabs_enabled + pref_key__http_proxy_load_tor_preset pref_key_append_shared_via_app - pref_key_proxy_enabled - pref_key_proxy_host - pref_key_proxy_port + pref_key_proxy_enabled + pref_key_proxy_host + pref_key_proxy_port wasProxyEnabled @@ -81,12 +82,16 @@ Disable image loading to safe mobile data + Load Tor Preset + Load proxy settings for Tor (Orbot) HTTP Proxy Proxy - @string/pref_desc__proxy_enabled + @string/pref_desc__http_proxy_enabled Enable Proxy - Proxy Diaspora\'s traffic to circumvent firewalls.\nMay require restart - Host - Port + Proxy Diaspora\'s traffic to circumvent firewalls.\nMay require restart + Host + Port + HTTP + SOCKS5 diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 4bbc7b4c..fca5961e 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -129,21 +129,34 @@ - - - + + + + + + + + + +