diff --git a/README.md b/README.md index 6089138db..56604828a 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,14 @@ VTosters Lite - это модифицированный клиент (деком Стабильные сборки находятся в [Releases](https://github.com/vtosters/lite/releases) -## Откладка +## Отладка приложения -Для откладки с помощью Android Studio необходимо пройти в `/smali/AndroidManifest.xml` +Для отладки с помощью Android Studio необходимо пройти в `/smali/AndroidManifest.xml` ``` android:debuggable="false" -> android:debuggable="true" ``` -Для дополнительной откладки ответов, доп логов и подмены данных для дебаг приложения необходимо включить **Режим разработчика** +Для дополнительной отладки ответов, доп логов и подмены данных для дебаг приложения необходимо включить **Режим разработчика** ``` Настройки -> Для разработчиков -> Режим разработчика ``` @@ -92,4 +92,4 @@ android:debuggable="false" -> android:debuggable="true" build.bat ``` -![](https://cdn.discordapp.com/attachments/762063967979175946/961682299366309928/unknown.png) \ No newline at end of file +![](https://cdn.discordapp.com/attachments/762063967979175946/961682299366309928/unknown.png) diff --git a/app/src/main/java/ru/vtosters/lite/utils/Proxy.java b/app/src/main/java/ru/vtosters/lite/utils/Proxy.java index 7baf2c45e..3579f727d 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Proxy.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Proxy.java @@ -1,7 +1,8 @@ package ru.vtosters.lite.utils; -import static ru.vtosters.lite.utils.Globals.getPreferences; -import static ru.vtosters.lite.utils.Preferences.BooleanFalse; +import static java.lang.System.*; +import static ru.vtosters.lite.utils.Globals.*; +import static ru.vtosters.lite.utils.Preferences.*; import java.util.Properties; @@ -81,54 +82,90 @@ public class Proxy { } public static void setProxy() { + Properties properties = getProperties(); switch (getPreferences().getString("proxy", "")) { case "zaborona": - Properties properties = System.getProperties(); properties.setProperty("socksProxyHost", "socks.zaboronahelp.pp.ua"); properties.setProperty("socksProxyPort", "1488"); - System.clearProperty("https.proxyHost"); - System.clearProperty("https.proxyPort"); - System.clearProperty("http.proxyHost"); - System.clearProperty("http.proxyPort"); + clearProperty("java.net.socks.username"); + clearProperty("java.net.socks.password"); + resetProxySocks(); break; case "socks": - Properties properties2 = System.getProperties(); - properties2.setProperty("socksProxyHost", proxyHostSocks()); - properties2.setProperty("socksProxyPort", proxyPortSocks()); - System.clearProperty("https.proxyHost"); - System.clearProperty("https.proxyPort"); - System.clearProperty("http.proxyHost"); - System.clearProperty("http.proxyPort"); + properties.setProperty("socksProxyHost", proxyHostSocks()); + properties.setProperty("socksProxyPort", proxyPortSocks()); + properties.setProperty("java.net.socks.username", proxyUserSocks()); + properties.setProperty("java.net.socks.password", proxyPassSocks()); + resetProxySocks(); break; case "http": - Properties properties3 = System.getProperties(); - properties3.setProperty("http.proxyHost", proxyHostHTTP()); - properties3.setProperty("http.proxyPort", proxyPortHTTP()); - System.clearProperty("socksProxyHost"); - System.clearProperty("socksPortHost"); - System.clearProperty("https.proxyHost"); - System.clearProperty("https.proxyPort"); + properties.setProperty("http.proxyHost", proxyHostHTTP()); + properties.setProperty("http.proxyPort", proxyPortHTTP()); + properties.setProperty("http.proxyUser", proxyUserHTTP()); + properties.setProperty("http.proxyPassword", proxyPassHTTP()); + resetProxyHttp(); break; case "https": - Properties properties4 = System.getProperties(); - properties4.setProperty("https.proxyHost", proxyHostHTTPS()); - properties4.setProperty("https.proxyPort", proxyPortHTTPS()); - System.clearProperty("socksProxyHost"); - System.clearProperty("socksPortHost"); - System.clearProperty("http.proxyHost"); - System.clearProperty("http.proxyPort"); + properties.setProperty("https.proxyHost", proxyHostHTTPS()); + properties.setProperty("https.proxyPort", proxyPortHTTPS()); + properties.setProperty("https.proxyUser", proxyUserHTTPS()); + properties.setProperty("https.proxyPassword", proxyPassHTTPS()); + resetProxyHttps(); break; default: - System.clearProperty("socksProxyHost"); - System.clearProperty("socksPortHost"); - System.clearProperty("https.proxyHost"); - System.clearProperty("https.proxyPort"); - System.clearProperty("http.proxyHost"); - System.clearProperty("http.proxyPort"); + resetProxy(); break; } } + public static void resetProxy() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); + clearProperty("socksProxyHost"); + clearProperty("socksPortHost"); + clearProperty("java.net.socks.username"); + clearProperty("java.net.socks.password"); + } + + public static void resetProxySocks() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); + } + + public static void resetProxyHttp() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("socksProxyHost"); + clearProperty("socksPortHost"); + clearProperty("java.net.socks.username"); + clearProperty("java.net.socks.password"); + } + + public static void resetProxyHttps() { + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); + clearProperty("socksProxyHost"); + clearProperty("socksPortHost"); + clearProperty("java.net.socks.username"); + clearProperty("java.net.socks.password"); + } + public static String proxyHostHTTP() { String string = getPreferences().getString("proxyHostHTTP", ""); return string.isEmpty() ? "192.168.0.1" : string; @@ -159,6 +196,36 @@ public class Proxy { return string.isEmpty() ? "8888" : string; } + public static String proxyUserHTTP() { + String string = getPreferences().getString("proxyUserHTTP", ""); + return string.isEmpty() ? "" : string; + } + + public static String proxyUserHTTPS() { + String string = getPreferences().getString("proxyUserHTTPS", ""); + return string.isEmpty() ? "" : string; + } + + public static String proxyUserSocks() { + String string = getPreferences().getString("proxyUserSocks", ""); + return string.isEmpty() ? "" : string; + } + + public static String proxyPassHTTP() { + String string = getPreferences().getString("proxyPassHTTP", ""); + return string.isEmpty() ? "" : string; + } + + public static String proxyPassHTTPS() { + String string = getPreferences().getString("proxyPassHTTPS", ""); + return string.isEmpty() ? "" : string; + } + + public static String proxyPassSocks() { + String string = getPreferences().getString("proxyPassSocks", ""); + return string.isEmpty() ? "" : string; + } + public static boolean proxy() { return getPreferences().getString("proxy", "").equals("apiproxy"); } diff --git a/smali/res/drawable-v21/picker_btn_blue.xml b/smali/res/drawable-v21/picker_btn_blue.xml index 01ff29464..5519549ef 100644 --- a/smali/res/drawable-v21/picker_btn_blue.xml +++ b/smali/res/drawable-v21/picker_btn_blue.xml @@ -1,5 +1,5 @@ - diff --git a/smali/res/drawable-v21/picker_btn_blue_circle.xml b/smali/res/drawable-v21/picker_btn_blue_circle.xml index 9efaf0866..fca300d77 100644 --- a/smali/res/drawable-v21/picker_btn_blue_circle.xml +++ b/smali/res/drawable-v21/picker_btn_blue_circle.xml @@ -1,5 +1,5 @@ - diff --git a/smali/res/drawable-v21/picker_btn_blue_round.xml b/smali/res/drawable-v21/picker_btn_blue_round.xml index 6f24429e3..c18bd90fe 100644 --- a/smali/res/drawable-v21/picker_btn_blue_round.xml +++ b/smali/res/drawable-v21/picker_btn_blue_round.xml @@ -1,5 +1,5 @@ - diff --git a/smali/res/drawable/picker_btn_blue.xml b/smali/res/drawable/picker_btn_blue.xml index 0d34b135a..102634cb8 100644 --- a/smali/res/drawable/picker_btn_blue.xml +++ b/smali/res/drawable/picker_btn_blue.xml @@ -2,7 +2,7 @@ - + diff --git a/smali/res/drawable/picker_btn_blue_circle.xml b/smali/res/drawable/picker_btn_blue_circle.xml index f959541c8..3650c12a1 100644 --- a/smali/res/drawable/picker_btn_blue_circle.xml +++ b/smali/res/drawable/picker_btn_blue_circle.xml @@ -2,7 +2,7 @@ - + diff --git a/smali/res/drawable/picker_btn_blue_round.xml b/smali/res/drawable/picker_btn_blue_round.xml index 5185005cf..07010a5e4 100644 --- a/smali/res/drawable/picker_btn_blue_round.xml +++ b/smali/res/drawable/picker_btn_blue_round.xml @@ -3,7 +3,7 @@ - + diff --git a/smali/res/layout/fragment_attach_gallery.xml b/smali/res/layout/fragment_attach_gallery.xml index a1e6bcca9..b24f8f084 100644 --- a/smali/res/layout/fragment_attach_gallery.xml +++ b/smali/res/layout/fragment_attach_gallery.xml @@ -6,7 +6,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/smali/res/layout/layout_sharing_footer_actions.xml b/smali/res/layout/layout_sharing_footer_actions.xml index 6c692fb60..da4bb2a3b 100644 --- a/smali/res/layout/layout_sharing_footer_actions.xml +++ b/smali/res/layout/layout_sharing_footer_actions.xml @@ -1,7 +1,7 @@ @@ -15,6 +16,7 @@ android:paddingRight="@dimen/standard_list_item_padding" android:layout_width="fill_parent" android:layout_height="wrap_content" + android:background="?background_content" app:max_width="400.0dip"> @@ -147,11 +149,11 @@