This commit is contained in:
gdlbo
2022-05-06 01:58:35 +03:00
16 changed files with 154 additions and 57 deletions
+4 -4
View File
@@ -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)
![](https://cdn.discordapp.com/attachments/762063967979175946/961682299366309928/unknown.png)
@@ -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");
}
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="@color/picker_blue_pressed"
<ripple android:color="?accent"
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="@color/picker_blue_pressed"
<ripple android:color="?accent"
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<selector>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="@color/picker_blue_pressed"
<ripple android:color="?accent"
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
+1 -1
View File
@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/picker_blue_pressed" />
<solid android:color="?accent" />
</shape>
</item>
<item>
@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="@color/picker_blue_pressed" />
<solid android:color="?accent" />
</shape>
</item>
<item>
+1 -1
View File
@@ -3,7 +3,7 @@
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="10000.0dip" />
<solid android:color="@color/picker_blue_pressed" />
<solid android:color="?accent" />
</shape>
</item>
<item>
+1 -1
View File
@@ -6,7 +6,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.AppBarLayout
android:background="?header_alternate_background"
android:background="?background_content"
android:layout_width="fill_parent"
android:layout_height="?actionBarSize"
style="@style/VKAppBar">
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<com.vk.sharing.view.SharingActionsView android:orientation="horizontal"
android:id="@id/sharing_actions_container"
android:background="@color/pale_grey"
android:background="?tabbar_background"
android:paddingLeft="4.0dip"
android:paddingTop="8.0dip"
android:paddingRight="4.0dip"
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="horizontal"
android:id="@id/picker_attach_gallery_camera_layout"
android:background="?tabbar_background"
android:background="#ffffffff"
android:layout_width="fill_parent"
android:layout_height="56.0dip"
xmlns:android="http://schemas.android.com/apk/res/android"
+4 -2
View File
@@ -3,11 +3,13 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<ScrollView
android:background="?background_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<com.vtosters.lite.ui.ConstrainedLinearLayout
android:background="?background_content"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
@@ -103,11 +105,11 @@
<TextView
android:textSize="16.0sp"
android:textColor="#ffffffff"
android:textColor="?header_text"
android:gravity="center"
android:layout_gravity="bottom"
android:id="@id/tv_apply_params"
android:background="@drawable/picker_btn_blue"
android:background="?tabbar_background"
android:layout_width="fill_parent"
android:layout_height="48.0dip"
android:text="@string/discover_search_show_result"
+4 -2
View File
@@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<ScrollView
android:background="?background_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
@@ -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">
<include layout="@layout/discover_search_header" />
@@ -147,11 +149,11 @@
<TextView
android:textSize="16.0sp"
android:textColor="#ffffffff"
android:textColor="?header_text"
android:gravity="center"
android:layout_gravity="bottom"
android:id="@id/tv_apply_params"
android:background="@drawable/picker_btn_blue"
android:background="?tabbar_background"
android:layout_width="fill_parent"
android:layout_height="48.0dip"
android:text="@string/discover_search_show_result"
+1 -1
View File
@@ -8016,7 +8016,7 @@
</style>
<style name="Widget.Design.BottomSheet.Modal" parent="@android:style/Widget">
<item name="android:background">?android:colorBackground</item>
<item name="android:background">?background_content</item>
<item name="behavior_hideable">true</item>
<item name="behavior_peekHeight">auto</item>
<item name="behavior_skipCollapsed">false</item>
+30
View File
@@ -38,6 +38,16 @@
android:defaultValue=""
android:key="proxyPortHTTP"
android:title="@string/proxyport" />
<EditTextPreference
android:defaultValue=""
android:key="proxyUserHTTP"
android:summary="Если имеется"
android:title="Логин" />
<EditTextPreference
android:defaultValue=""
android:key="proxyPassHTTP"
android:summary="Если имеется"
android:title="Пароль" />
<com.vtosters.lite.ui.MaterialSectionDividerPreference />
</PreferenceCategory>
<PreferenceCategory android:title="@string/proxyhttps">
@@ -49,6 +59,16 @@
android:defaultValue=""
android:key="proxyPortHTTPS"
android:title="@string/proxyport" />
<EditTextPreference
android:defaultValue=""
android:key="proxyUserHTTPS"
android:summary="Если имеется"
android:title="Логин" />
<EditTextPreference
android:defaultValue=""
android:key="proxyPassHTTPS"
android:summary="Если имеется"
android:title="Пароль" />
<com.vtosters.lite.ui.MaterialSectionDividerPreference />
</PreferenceCategory>
<PreferenceCategory android:title="@string/proxysocks">
@@ -60,6 +80,16 @@
android:defaultValue=""
android:key="proxyPortSocks"
android:title="@string/proxyport" />
<EditTextPreference
android:defaultValue=""
android:key="proxyUserSocks"
android:summary="Если имеется"
android:title="Логин" />
<EditTextPreference
android:defaultValue=""
android:key="proxyPassSocks"
android:summary="Если имеется"
android:title="Пароль" />
<com.vtosters.lite.ui.MaterialSectionDividerPreference />
</PreferenceCategory>
<PreferenceCategory android:title="@string/proxyowners">
@@ -203,11 +203,7 @@
invoke-virtual {v0, v1}, Landroid/text/TextPaint;->setTextSize(F)V
.line 180
iget-object v0, p0, Lcom/vk/sharing/view/SharingActionsView$a;->l:Landroid/text/TextPaint;
const v1, 0x7f0600ab
invoke-static {p1, v1}, Landroid/support/v4/content/ContextCompat;->c(Landroid/content/Context;I)I
invoke-static {}, Lru/vtosters/lite/utils/Themes;->getHeaderText()I
move-result v1