diff --git a/app/src/main/java/ru/vtosters/hooks/TabletHook.java b/app/src/main/java/ru/vtosters/hooks/TabletHook.java
new file mode 100644
index 000000000..37db7d876
--- /dev/null
+++ b/app/src/main/java/ru/vtosters/hooks/TabletHook.java
@@ -0,0 +1,10 @@
+package ru.vtosters.hooks;
+
+import ru.vtosters.hooks.other.Preferences;
+import ru.vtosters.lite.utils.AndroidUtils;
+
+public class TabletHook {
+ public static boolean hook() {
+ return AndroidUtils.isTablet() && !Preferences.getBoolValue("disableForceTabletMode", false);
+ }
+}
diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java
index 42b22215c..2ccdac614 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java
@@ -67,6 +67,13 @@ public class InterfaceFragment extends TrackedMaterialPreferenceToolbarFragment
findPreference("showmenu").setVisible(false);
}
+ var tablet = findPreference("disableForceTabletMode");
+ tablet.setVisible(AndroidUtils.isTablet());
+ tablet.setOnPreferenceClickListener(preference -> {
+ LifecycleUtils.restartApplicationWithTimer();
+ return true;
+ });
+
findPreference("customrounding").setOnPreferenceClickListener(preference -> {
RoundingSeekbarDialog.dialog(getContext());
return true;
diff --git a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
index b974b0854..ced1bed96 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
@@ -12,13 +12,14 @@ import android.content.res.Resources;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
+import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.core.app.NotificationManagerCompat;
-import com.vk.core.util.Screen;
import com.vk.core.util.ToastUtils;
import com.vtosters.lite.general.fragments.WebViewFragment;
+import ru.vtosters.hooks.other.Preferences;
import java.io.File;
import java.io.FileOutputStream;
@@ -32,6 +33,12 @@ import java.util.Random;
public class AndroidUtils {
private static final String ALLOWED_CHARACTERS = "0123456789qwertyuiopasdfghjklzxcvbnm";
+ public enum ScreenSize {
+ small,
+ normal,
+ large,
+ xlarge
+ }
public static boolean isDebuggable() {
return 0 != (AndroidUtils.getGlobalContext().getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE);
@@ -44,7 +51,8 @@ public class AndroidUtils {
}
public static boolean isTablet() {
- return Screen.l(getGlobalContext());
+ String string = getGlobalContext().getResources().getString(b.h.g.d.screen_size);
+ return TextUtils.equals(string, ScreenSize.large.name()) || TextUtils.equals(string, ScreenSize.xlarge.name());
}
@NonNull
diff --git a/smali/res/xml/preferences_interface.xml b/smali/res/xml/preferences_interface.xml
index 3077df6bd..dc2329eb7 100644
--- a/smali/res/xml/preferences_interface.xml
+++ b/smali/res/xml/preferences_interface.xml
@@ -94,6 +94,11 @@
android:key="pollresults"
android:summary="@string/pollresults_summ"
android:title="@string/pollresults_title"/>
+
f(Landroid/content/Context;)Lcom/vk/core/util/Screen$ScreenSize;
-
- move-result-object p0
-
- invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
+ invoke-static {}, Lru/vtosters/hooks/TabletHook;->hook()Z
move-result p0
- sget-object v0, Lcom/vk/core/util/Screen$ScreenSize;->normal:Lcom/vk/core/util/Screen$ScreenSize;
-
- invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I
-
- move-result v0
-
- if-le p0, v0, :cond_0
-
- const/4 p0, 0x1
-
- goto :goto_0
-
- :cond_0
- const/4 p0, 0x0
-
- :goto_0
return p0
.end method