From 7f2d54bb70d0ef5e38073f48d630b83254c08a84 Mon Sep 17 00:00:00 2001 From: sspanak Date: Fri, 17 May 2024 10:29:52 +0300 Subject: [PATCH] all settings are enabled for robots --- .../sspanak/tt9/db/exporter/LogcatExporter.java | 1 + .../io/github/sspanak/tt9/hacks/DeviceInfo.java | 15 +++++++++++++++ .../preferences/screens/MainSettingsScreen.java | 3 ++- .../preferences/screens/setup/SetupScreen.java | 9 +++++---- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/db/exporter/LogcatExporter.java b/app/src/main/java/io/github/sspanak/tt9/db/exporter/LogcatExporter.java index c9c1d91c..143d7b7b 100644 --- a/app/src/main/java/io/github/sspanak/tt9/db/exporter/LogcatExporter.java +++ b/app/src/main/java/io/github/sspanak/tt9/db/exporter/LogcatExporter.java @@ -32,6 +32,7 @@ public class LogcatExporter extends AbstractExporter { } + @NonNull public static String getLogs(boolean includeSystemLogs) { StringBuilder log = new StringBuilder(); try { diff --git a/app/src/main/java/io/github/sspanak/tt9/hacks/DeviceInfo.java b/app/src/main/java/io/github/sspanak/tt9/hacks/DeviceInfo.java index 9ee1d7c5..94a70fee 100644 --- a/app/src/main/java/io/github/sspanak/tt9/hacks/DeviceInfo.java +++ b/app/src/main/java/io/github/sspanak/tt9/hacks/DeviceInfo.java @@ -9,7 +9,13 @@ import android.view.KeyEvent; import androidx.annotation.NonNull; +import java.util.regex.Pattern; + +import io.github.sspanak.tt9.db.exporter.LogcatExporter; + public class DeviceInfo { + private static Boolean isRobo = null; + public static boolean noKeyboard(Context context) { return context.getResources().getConfiguration().keyboard == Configuration.KEYBOARD_NOKEYS @@ -29,6 +35,15 @@ public class DeviceInfo { return Build.MANUFACTURER.equals("DuoQin") && Build.MODEL.contains("F21"); } + public static boolean isRobo() { + if (isRobo == null) { + Pattern roboLog = Pattern.compile("\\d+\\s+\\d+\\s+\\|\\s+Robo\\W"); + isRobo = roboLog.matcher(LogcatExporter.getLogs(false)).find(); + } + + return isRobo; + } + public static boolean isSonim() { return Build.MANUFACTURER.equals("Sonimtech"); } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/MainSettingsScreen.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/MainSettingsScreen.java index f66b58ce..36db5257 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/MainSettingsScreen.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/MainSettingsScreen.java @@ -11,6 +11,7 @@ import java.util.regex.Pattern; import io.github.sspanak.tt9.BuildConfig; import io.github.sspanak.tt9.R; +import io.github.sspanak.tt9.hacks.DeviceInfo; import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.util.Logger; import io.github.sspanak.tt9.util.SystemSettings; @@ -100,7 +101,7 @@ public class MainSettingsScreen extends BaseScreenFragment { for (Preference goToScreen : screens) { if (goToScreen != null) { - goToScreen.setEnabled(isTT9On); + goToScreen.setEnabled(isTT9On || DeviceInfo.isRobo()); } } } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/setup/SetupScreen.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/setup/SetupScreen.java index 8e4acd12..f1ed02e9 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/setup/SetupScreen.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/setup/SetupScreen.java @@ -3,6 +3,7 @@ package io.github.sspanak.tt9.preferences.screens.setup; import androidx.preference.Preference; import io.github.sspanak.tt9.R; +import io.github.sspanak.tt9.hacks.DeviceInfo; import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment; import io.github.sspanak.tt9.util.SystemSettings; @@ -20,7 +21,7 @@ public class SetupScreen extends BaseScreenFragment { public void onCreate() { boolean isTT9On = SystemSettings.isTT9Enabled(activity); createKeyboardSection(isTT9On); - createHacksSection(isTT9On); + createHacksSection(isTT9On | DeviceInfo.isRobo()); resetFontSize(false); } @@ -47,15 +48,15 @@ public class SetupScreen extends BaseScreenFragment { } } - private void createHacksSection(boolean isTT9On) { + private void createHacksSection(boolean isEnabled) { Preference hackGoogleChat = findPreference("pref_hack_google_chat"); if (hackGoogleChat != null) { - hackGoogleChat.setEnabled(isTT9On); + hackGoogleChat.setEnabled(isEnabled); } Preference hackFBMessenger = findPreference("pref_hack_fb_messenger"); if (hackFBMessenger != null) { - hackFBMessenger.setEnabled(isTT9On); + hackFBMessenger.setEnabled(isEnabled); } } }