moved the system info and interaction utils to their own package
This commit is contained in:
parent
ab46a158ea
commit
533d2a6cde
51 changed files with 115 additions and 78 deletions
|
|
@ -15,8 +15,8 @@ import java.io.FileOutputStream;
|
|||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.Permissions;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.Permissions;
|
||||
|
||||
public abstract class AbstractExporter extends AbstractFileProcessor {
|
||||
protected static String FILE_EXTENSION = ".csv";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import android.view.inputmethod.EditorInfo;
|
|||
import android.view.inputmethod.InputConnection;
|
||||
|
||||
import io.github.sspanak.tt9.ime.helpers.StandardInputType;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class InputType extends StandardInputType {
|
||||
private final boolean isUs;
|
||||
|
|
|
|||
|
|
@ -3,16 +3,16 @@ package io.github.sspanak.tt9.ime;
|
|||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.db.DataStore;
|
||||
import io.github.sspanak.tt9.db.words.DictionaryLoader;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.modes.InputMode;
|
||||
import io.github.sspanak.tt9.ime.modes.InputModeKind;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
|
||||
import io.github.sspanak.tt9.util.Clipboard;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.Ternary;
|
||||
import io.github.sspanak.tt9.util.sys.Clipboard;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
abstract public class CommandHandler extends TextEditingHandler {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import android.view.KeyEvent;
|
|||
import io.github.sspanak.tt9.ime.helpers.Key;
|
||||
import io.github.sspanak.tt9.preferences.screens.debug.ItemInputHandlingMode;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.Timer;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
|
||||
abstract class KeyPadHandler extends UiHandler {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package io.github.sspanak.tt9.ime;
|
|||
import io.github.sspanak.tt9.ime.modes.InputModeKind;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.util.Clipboard;
|
||||
import io.github.sspanak.tt9.util.Ternary;
|
||||
import io.github.sspanak.tt9.util.sys.Clipboard;
|
||||
|
||||
abstract public class TextEditingHandler extends VoiceHandler {
|
||||
protected boolean isLanguageRTL;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
|||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.ui.dialogs.PopupDialog;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class TraditionalT9 extends MainViewHandler {
|
||||
private static final String LOG_TAG = "MAIN";
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@ package io.github.sspanak.tt9.ime;
|
|||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.modes.InputMode;
|
||||
import io.github.sspanak.tt9.ime.modes.InputModeKind;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.ui.main.ResizableMainView;
|
||||
import io.github.sspanak.tt9.ui.tray.StatusBar;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
abstract class UiHandler extends AbstractHandler {
|
||||
protected SettingsStore settings;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import androidx.annotation.Nullable;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class InputField {
|
||||
public static final int IME_ACTION_ENTER = EditorInfo.IME_MASK_ACTION + 1;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import android.view.inputmethod.InputConnection;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import io.github.sspanak.tt9.util.Clipboard;
|
||||
import io.github.sspanak.tt9.util.sys.Clipboard;
|
||||
|
||||
public class TextSelection {
|
||||
@Nullable private final InputConnection connection;
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import android.speech.SpeechRecognizer;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class SpeechRecognizerSupportLegacy {
|
||||
final boolean isOnDeviceRecognitionAvailable;
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
class SpeechRecognizerSupportModern extends SpeechRecognizerSupportLegacy implements RecognitionSupportCallback {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import android.speech.SpeechRecognizer;
|
|||
import androidx.annotation.NonNull;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class VoiceInputError {
|
||||
public final static int ERROR_NOT_AVAILABLE = 101;
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ import androidx.annotation.Nullable;
|
|||
import java.util.ArrayList;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.util.ConsumerCompat;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class VoiceInputOps {
|
||||
private final static String LOG_TAG = VoiceInputOps.class.getSimpleName();
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import java.util.HashMap;
|
|||
import java.util.Locale;
|
||||
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class LanguageCollection {
|
||||
private static LanguageCollection self;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
package io.github.sspanak.tt9.preferences;
|
||||
|
||||
import android.util.TypedValue;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
import io.github.sspanak.tt9.ui.WebViewActivity;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.colors.AccentSystemColor;
|
||||
import io.github.sspanak.tt9.util.colors.TextSystemColor;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class HelpActivity extends WebViewActivity {
|
||||
public HelpActivity() {
|
||||
|
|
@ -30,8 +29,8 @@ public class HelpActivity extends WebViewActivity {
|
|||
builder.append(line);
|
||||
}
|
||||
return builder.toString()
|
||||
.replaceFirst("color: default", getTextColor())
|
||||
.replaceFirst("color: accent", getLinkColor());
|
||||
.replaceFirst("color: default;", (new TextSystemColor(this)).toCssColor())
|
||||
.replaceFirst("color: accent;", (new AccentSystemColor(this)).toCssColor());
|
||||
} catch (Exception e) {
|
||||
Logger.e(getClass().getSimpleName(), "Failed opening the help HTML document.");
|
||||
return "";
|
||||
|
|
@ -44,20 +43,4 @@ public class HelpActivity extends WebViewActivity {
|
|||
file = file.exists() ? file : new HelpFile(this);
|
||||
return file.getReader();
|
||||
}
|
||||
|
||||
private String getTextColor() {
|
||||
return colorToHex(new TextView(this).getTextColors().getDefaultColor());
|
||||
}
|
||||
|
||||
private String getLinkColor() {
|
||||
final TypedValue value = new TypedValue();
|
||||
getTheme().resolveAttribute(android.R.attr.colorAccent, value, true);
|
||||
return colorToHex(value.data);
|
||||
}
|
||||
|
||||
private String colorToHex(int color) {
|
||||
String textColor = String.format("%06x", color);
|
||||
textColor = textColor.length() == 8 ? textColor.substring(2) : textColor;
|
||||
return "color: #" + textColor;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import io.github.sspanak.tt9.preferences.screens.punctuation.PunctuationScreen;
|
|||
import io.github.sspanak.tt9.preferences.screens.setup.SetupScreen;
|
||||
import io.github.sspanak.tt9.ui.ActivityWithNavigation;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class PreferencesActivity extends ActivityWithNavigation implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import androidx.appcompat.content.res.AppCompatResources;
|
|||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
abstract public class ItemSearch extends ItemTextInput {
|
||||
public ItemSearch(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ package io.github.sspanak.tt9.preferences.items;
|
|||
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.ui.UI;
|
||||
import io.github.sspanak.tt9.util.Clipboard;
|
||||
import io.github.sspanak.tt9.util.sys.Clipboard;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ItemText extends ItemClickable {
|
||||
private final PreferencesActivity activity;
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ import android.view.MenuItem;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.preferences.custom.ScreenPreferencesList;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsUI;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
abstract public class BaseScreenFragment extends PreferenceFragmentCompat {
|
||||
protected PreferencesActivity activity;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import androidx.annotation.NonNull;
|
|||
import androidx.annotation.Nullable;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ItemDragResize {
|
||||
public final static String NAME = "pref_drag_resize";
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ import androidx.preference.Preference;
|
|||
import java.util.LinkedHashMap;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ItemSelectSettingsFontSize extends ItemDropDown {
|
||||
public static final String NAME = "pref_font_size";
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
package io.github.sspanak.tt9.preferences.screens.debug;
|
||||
|
||||
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.items.ItemText;
|
||||
import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class DebugScreen extends BaseScreenFragment {
|
||||
public static final String NAME = "Debug";
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import androidx.annotation.NonNull;
|
|||
import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemClickable;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ItemPrecalculateNavbarHeight extends ItemClickable {
|
||||
public static final String NAME = "hack_precalculate_navbar_height_v3";
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ import androidx.annotation.NonNull;
|
|||
import androidx.annotation.Nullable;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.helpers.Key;
|
||||
import io.github.sspanak.tt9.preferences.custom.ScreenPreference;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class PreferenceHotkey extends ScreenPreference implements DialogInterface.OnKeyListener{
|
||||
private static final int CANCEL_KEY = 0;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import androidx.preference.SwitchPreferenceCompat;
|
|||
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemSwitch;
|
||||
import io.github.sspanak.tt9.util.Permissions;
|
||||
import io.github.sspanak.tt9.util.sys.Permissions;
|
||||
|
||||
public class ItemDictionaryNotifications extends ItemSwitch {
|
||||
public static final String NAME = "dictionary_notifications";
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import io.github.sspanak.tt9.R;
|
|||
import io.github.sspanak.tt9.preferences.HelpFile;
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class MainSettingsScreen extends BaseScreenFragment {
|
||||
final public static String NAME = "Main";
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import android.view.textservice.TextServicesManager;
|
|||
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.items.ItemClickable;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ItemSpellCheck extends ItemClickable {
|
||||
public ItemSpellCheck(PreferencesActivity activity, Preference item) {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import androidx.preference.Preference;
|
|||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
|
||||
import io.github.sspanak.tt9.util.SystemSettings;
|
||||
import io.github.sspanak.tt9.util.sys.SystemSettings;
|
||||
|
||||
public class SetupScreen extends BaseScreenFragment {
|
||||
final public static String NAME = "Setup";
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ package io.github.sspanak.tt9.preferences.settings;
|
|||
|
||||
import android.content.Context;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.screens.debug.ItemInputHandlingMode;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
class SettingsHacks extends BaseSettings {
|
||||
private boolean demoMode = false;
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import android.view.Gravity;
|
|||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class SettingsUI extends SettingsTyping {
|
||||
public final static int FONT_SIZE_DEFAULT = 0;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import android.view.WindowInsets;
|
|||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
|
||||
public class EdgeToEdgeActivity extends AppCompatActivity {
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|||
|
||||
import java.util.HashMap;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class UI {
|
||||
private static final HashMap<String, Toast> singleToasts = new HashMap<>();
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ import android.view.View;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.ui.main.keys.BaseClickableKey;
|
||||
import io.github.sspanak.tt9.ui.main.keys.SoftKeyNumber;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class Vibration {
|
||||
@NonNull private final SettingsStore settings;
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ import android.webkit.WebViewClient;
|
|||
import androidx.annotation.NonNull;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.Clipboard;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.Clipboard;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class WebViewSafeClient extends WebViewClient {
|
||||
private final Activity activity;
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ import androidx.annotation.NonNull;
|
|||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.db.DataStore;
|
||||
import io.github.sspanak.tt9.db.entities.AddWordResult;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.ConsumerCompat;
|
||||
import io.github.sspanak.tt9.util.ThemedContextBuilder;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class AddWordDialog extends PopupDialog {
|
||||
public static final String TYPE = "tt9.popup_dialog.add_word";
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.ime.TraditionalT9;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.util.Permissions;
|
||||
import io.github.sspanak.tt9.util.sys.Permissions;
|
||||
|
||||
public class RequestPermissionDialog extends AppCompatActivity {
|
||||
private final Permissions permissions;
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ import androidx.core.view.WindowInsetsCompat;
|
|||
import java.util.ArrayList;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.TraditionalT9;
|
||||
import io.github.sspanak.tt9.ui.main.keys.SoftKey;
|
||||
import io.github.sspanak.tt9.util.ThemedContextBuilder;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
abstract class BaseMainLayout {
|
||||
protected int e2ePaddingBottomLandscape = -1;
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ import androidx.annotation.NonNull;
|
|||
import java.util.ArrayList;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.TraditionalT9;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.ui.main.keys.SoftKey;
|
||||
import io.github.sspanak.tt9.ui.main.keys.SoftKeySettings;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
class MainLayoutNumpad extends BaseMainLayout {
|
||||
private boolean isTextEditingShown = false;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ import android.view.View;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.ime.TraditionalT9;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.ui.Vibration;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class ResizableMainView extends MainView implements View.OnAttachStateChangeListener {
|
||||
private Vibration vibration;
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ import android.widget.TextView;
|
|||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
import io.github.sspanak.tt9.util.Text;
|
||||
import io.github.sspanak.tt9.util.chars.Characters;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public class SoftKey extends BaseClickableKey {
|
||||
protected RelativeLayout overlay = null;
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import androidx.annotation.NonNull;
|
|||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.util.Logger;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
public abstract class DictionaryNotification {
|
||||
private static final int NOTIFICATION_ID = 1;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import android.graphics.Paint;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
class Emoji extends Punctuation {
|
||||
final public static boolean NO_EMOJI_SUPPORT = !DeviceInfo.AT_LEAST_ANDROID_6;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import android.graphics.Paint;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.util.sys.DeviceInfo;
|
||||
|
||||
class Punctuation {
|
||||
public static final String AR_QUESTION_MARK = "؟";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
package io.github.sspanak.tt9.util.colors;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
public class AccentSystemColor extends SystemColor{
|
||||
public AccentSystemColor(@NonNull Context context) {
|
||||
final TypedValue value = new TypedValue();
|
||||
context.getTheme().resolveAttribute(android.R.attr.colorAccent, value, true);
|
||||
color = value.data;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package io.github.sspanak.tt9.util.colors;
|
||||
|
||||
public class SystemColor {
|
||||
protected int color;
|
||||
|
||||
protected SystemColor(int color) {
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
public SystemColor() {
|
||||
color = 0;
|
||||
}
|
||||
|
||||
final public int get() {
|
||||
return color;
|
||||
}
|
||||
|
||||
final public SystemColor toComplementary() {
|
||||
return new SystemColor(0xFFFFFF - color);
|
||||
}
|
||||
|
||||
final public String toCssColor() {
|
||||
return "color:" + toHex() + ";";
|
||||
}
|
||||
|
||||
final public String toHex() {
|
||||
String hexColor = String.format("%06x", color);
|
||||
hexColor = hexColor.length() == 8 ? hexColor.substring(2) : hexColor;
|
||||
return "#" + hexColor;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package io.github.sspanak.tt9.util.colors;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
public class TextSystemColor extends SystemColor{
|
||||
public TextSystemColor(@NonNull Context context) {
|
||||
color = new TextView(context).getTextColors().getDefaultColor();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package io.github.sspanak.tt9.util;
|
||||
package io.github.sspanak.tt9.util.sys;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package io.github.sspanak.tt9.hacks;
|
||||
package io.github.sspanak.tt9.util.sys;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package io.github.sspanak.tt9.hacks;
|
||||
package io.github.sspanak.tt9.util.sys;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package io.github.sspanak.tt9.util;
|
||||
package io.github.sspanak.tt9.util.sys;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
|
|
@ -9,8 +9,6 @@ import androidx.annotation.NonNull;
|
|||
|
||||
import java.util.HashMap;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
|
||||
public class Permissions {
|
||||
private static final HashMap<String, Boolean> firstTimeAsking = new HashMap<>();
|
||||
@NonNull private final Activity activity;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package io.github.sspanak.tt9.util;
|
||||
package io.github.sspanak.tt9.util.sys;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.LocaleList;
|
||||
|
|
@ -13,8 +13,6 @@ import androidx.annotation.Nullable;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import io.github.sspanak.tt9.hacks.DeviceInfo;
|
||||
|
||||
|
||||
public class SystemSettings {
|
||||
private static InputMethodManager inputManager;
|
||||
Loading…
Add table
Add a link
Reference in a new issue