mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-06-10 16:39:35 +00:00
add internal logger, so user is able to provide logs on issues
This commit is contained in:
parent
0739eca2ff
commit
ad9282ea25
82 changed files with 287 additions and 171 deletions
|
@ -7,7 +7,7 @@
|
|||
package com.android.inputmethod.keyboard;
|
||||
|
||||
import android.graphics.Rect;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package com.android.inputmethod.latin;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package com.android.inputmethod.latin.utils;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
import org.dslul.openboard.inputmethod.latin.NgramContext;
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.os.Build
|
|||
import android.os.SystemClock
|
||||
import android.provider.Settings
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.accessibility
|
|||
|
||||
import android.content.Context
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.util.SparseIntArray
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import org.dslul.openboard.inputmethod.keyboard.Key
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.accessibility
|
||||
|
||||
import android.os.SystemClock
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.accessibility.AccessibilityEvent
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.accessibility
|
|||
|
||||
import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.view.View
|
||||
import android.view.accessibility.AccessibilityEvent
|
||||
import android.view.accessibility.AccessibilityRecord
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.accessibility
|
|||
|
||||
import android.graphics.Rect
|
||||
import android.os.SystemClock
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.util.SparseIntArray
|
||||
import android.view.MotionEvent
|
||||
import org.dslul.openboard.inputmethod.accessibility.AccessibilityLongPressTimer.LongPressTimerCallback
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.accessibility
|
||||
|
||||
import android.graphics.Rect
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.view.MotionEvent
|
||||
import org.dslul.openboard.inputmethod.keyboard.KeyDetector
|
||||
import org.dslul.openboard.inputmethod.keyboard.MoreKeysKeyboardView
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.compat
|
||||
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import java.lang.reflect.Constructor
|
||||
import java.lang.reflect.Field
|
||||
import java.lang.reflect.InvocationTargetException
|
||||
|
|
|
@ -13,7 +13,7 @@ import android.content.res.TypedArray;
|
|||
import android.content.res.XmlResourceParser;
|
||||
import android.os.Build;
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.SparseArray;
|
||||
import android.util.Xml;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
|
|
|
@ -9,7 +9,7 @@ package org.dslul.openboard.inputmethod.keyboard;
|
|||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
|
|
@ -18,7 +18,7 @@ import android.graphics.Paint;
|
|||
import android.graphics.Paint.Align;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
|
|
@ -11,7 +11,7 @@ import static java.lang.Math.abs;
|
|||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.os.SystemClock;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import static org.dslul.openboard.inputmethod.keyboard.internal.keyboard_parser.
|
|||
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.content.res.Resources;
|
|||
import android.content.res.TypedArray;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.core.graphics.PaintCompat;
|
||||
import org.dslul.openboard.inputmethod.keyboard.Key;
|
||||
|
|
|
@ -13,7 +13,7 @@ import android.graphics.PorterDuff;
|
|||
import android.graphics.PorterDuffXfermode;
|
||||
import android.os.Handler;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.emoji;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.SparseArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.keyboard.internal;
|
|||
|
||||
import android.content.res.Resources;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.common.Constants;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.common.Constants;
|
||||
import org.dslul.openboard.inputmethod.latin.common.InputPointers;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -7,7 +7,7 @@ package org.dslul.openboard.inputmethod.keyboard.internal
|
|||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.util.Xml
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.XmlRes
|
||||
|
|
|
@ -9,7 +9,7 @@ package org.dslul.openboard.inputmethod.keyboard.internal;
|
|||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.SparseIntArray;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ package org.dslul.openboard.inputmethod.keyboard.internal;
|
|||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
import org.dslul.openboard.inputmethod.latin.RichInputMethodManager;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import org.dslul.openboard.inputmethod.keyboard.Key;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.keyboard.internal;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
import org.dslul.openboard.inputmethod.keyboard.internal.MatrixUtils.MatrixOperationFailedException;
|
||||
|
|
|
@ -3,7 +3,7 @@ package org.dslul.openboard.inputmethod.keyboard.internal.keyboard_parser
|
|||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.content.res.Resources
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.StringRes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
package org.dslul.openboard.inputmethod.keyboard.internal.keyboard_parser
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import org.dslul.openboard.inputmethod.keyboard.internal.KeyboardParams
|
||||
import org.dslul.openboard.inputmethod.keyboard.internal.keyboard_parser.floris.KeyData
|
||||
import org.dslul.openboard.inputmethod.keyboard.internal.keyboard_parser.floris.toTextKey
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.content.res.XmlResourceParser;
|
|||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.util.Xml;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import static org.dslul.openboard.inputmethod.latin.settings.LanguageSettingsFra
|
|||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.common.FileUtils;
|
||||
import org.dslul.openboard.inputmethod.latin.common.LocaleUtils;
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.content.Context;
|
|||
import android.net.Uri;
|
||||
import android.provider.ContactsContract;
|
||||
import android.provider.ContactsContract.Contacts;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.content.Context;
|
|||
import android.database.ContentObserver;
|
||||
import android.os.SystemClock;
|
||||
import android.provider.ContactsContract.Contacts;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.ContactsManager.ContactsChangedListener;
|
||||
import org.dslul.openboard.inputmethod.latin.define.DebugFlags;
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.database.sqlite.SQLiteException;
|
|||
import android.net.Uri;
|
||||
import android.provider.ContactsContract.Contacts;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.common.Constants;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
|
||||
import org.dslul.openboard.inputmethod.latin.common.ComposedData;
|
||||
|
|
|
@ -9,7 +9,7 @@ package org.dslul.openboard.inputmethod.latin;
|
|||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
public class DictionaryDumpBroadcastReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = DictionaryDumpBroadcastReceiver.class.getSimpleName();
|
||||
|
|
|
@ -10,7 +10,7 @@ import android.Manifest;
|
|||
import android.content.Context;
|
||||
import android.provider.UserDictionary;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.LruCache;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
|
@ -10,7 +10,7 @@ import android.content.Context;
|
|||
import android.content.res.AssetFileDescriptor;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.makedict.DictionaryHeader;
|
||||
|
|
|
@ -13,7 +13,7 @@ import android.content.pm.PackageInfo;
|
|||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ProviderInfo;
|
||||
import android.net.Uri;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.dictionarypack.DictionaryPackConstants;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.TargetPackageInfoGetterTask;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.Pair;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.latin;
|
|||
|
||||
import android.os.Build;
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.common.StringUtils;
|
||||
|
|
|
@ -21,7 +21,7 @@ import android.os.IBinder;
|
|||
import android.os.Message;
|
||||
import android.os.Process;
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.PrintWriterPrinter;
|
||||
import android.util.Printer;
|
||||
import android.util.SparseArray;
|
||||
|
|
|
@ -15,7 +15,7 @@ import android.os.SystemClock;
|
|||
import android.text.SpannableStringBuilder;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.CharacterStyle;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.inputmethod.CompletionInfo;
|
||||
import android.view.inputmethod.CorrectionInfo;
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.content.SharedPreferences;
|
|||
import android.inputmethodservice.InputMethodService;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import org.dslul.openboard.inputmethod.compat.InputMethodSubtypeCompatUtils;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
import org.dslul.openboard.inputmethod.keyboard.Keyboard;
|
||||
|
|
|
@ -11,10 +11,9 @@ import android.content.ComponentName;
|
|||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Process;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import org.dslul.openboard.inputmethod.keyboard.KeyboardLayoutSet;
|
||||
|
@ -84,11 +83,6 @@ public final class SystemBroadcastReceiver extends BroadcastReceiver {
|
|||
}
|
||||
|
||||
public static void toggleAppIcon(final Context context) {
|
||||
final int appInfoFlags = context.getApplicationInfo().flags;
|
||||
final boolean isSystemApp = (appInfoFlags & ApplicationInfo.FLAG_SYSTEM) > 0;
|
||||
if (Log.isLoggable(TAG, Log.INFO)) {
|
||||
Log.i(TAG, "toggleAppIcon() : FLAG_SYSTEM = " + isSystemApp);
|
||||
}
|
||||
final SharedPreferences prefs = DeviceProtectedUtils.getSharedPreferences(context);
|
||||
context.getPackageManager().setComponentEnabledSetting(
|
||||
new ComponentName(context, SetupActivity.class),
|
||||
|
|
|
@ -14,7 +14,7 @@ import android.database.sqlite.SQLiteException;
|
|||
import android.net.Uri;
|
||||
import android.provider.UserDictionary.Words;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import android.text.Spanned;
|
|||
import android.text.TextUtils;
|
||||
import android.text.style.BackgroundColorSpan;
|
||||
import android.text.style.SuggestionSpan;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.KeyCharacterMap;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.inputmethod.CorrectionInfo;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin.personalization;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2014 The Android Open Source Project
|
||||
* modified
|
||||
* SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.dslul.openboard.inputmethod.latin.settings;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.Spanned;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.BuildConfig;
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.SpannableStringUtils;
|
||||
|
||||
/**
|
||||
* "About" sub screen.
|
||||
*/
|
||||
public final class AboutFragment extends SubScreenFragment {
|
||||
@Override
|
||||
public void onCreate(final Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
addPreferencesFromResource(R.xml.prefs_screen_about);
|
||||
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||
// need to set icon tint because old android versions don't use the vector drawables
|
||||
for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
|
||||
final Preference p = getPreferenceScreen().getPreference(0);
|
||||
final Drawable icon = p.getIcon();
|
||||
if (icon != null)
|
||||
DrawableCompat.setTint(icon, Color.WHITE);
|
||||
}
|
||||
}
|
||||
|
||||
setupHiddenFeatures();
|
||||
setupVersionPref();
|
||||
}
|
||||
|
||||
private void setupHiddenFeatures() {
|
||||
Preference hiddenFeaturesPreference = findPreference("hidden_features");
|
||||
hiddenFeaturesPreference.setOnPreferenceClickListener(preference -> {
|
||||
final String link = "<a href=\"https://developer.android.com/reference/android/content/Context#createDeviceProtectedStorageContext()\">"
|
||||
+ getString(R.string.hidden_features_text) + "</a>";
|
||||
final String message = requireContext().getString(R.string.hidden_features_message, link);
|
||||
final Spanned dialogMessage = SpannableStringUtils.fromHtml(message);
|
||||
|
||||
final AlertDialog builder = new AlertDialog.Builder(requireContext())
|
||||
.setIcon(R.drawable.ic_settings_about_hidden_features)
|
||||
.setTitle(R.string.hidden_features_title)
|
||||
.setMessage(dialogMessage)
|
||||
.setPositiveButton(R.string.dialog_close, null)
|
||||
.create();
|
||||
builder.show();
|
||||
((TextView) builder.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
private void setupVersionPref() {
|
||||
Preference versionPreference = findPreference("pref_key_version");
|
||||
versionPreference.setSummary(BuildConfig.VERSION_NAME);
|
||||
if (BuildConfig.DEBUG) return;
|
||||
int[] count = new int[] {0};
|
||||
versionPreference.setOnPreferenceClickListener((pref) -> {
|
||||
if (getSharedPreferences().getBoolean(DebugSettings.PREF_SHOW_DEBUG_SETTINGS, false))
|
||||
return true;
|
||||
count[0]++;
|
||||
if (count[0] < 5) return true;
|
||||
getSharedPreferences().edit().putBoolean(DebugSettings.PREF_SHOW_DEBUG_SETTINGS, true).apply();
|
||||
Toast.makeText(requireContext(), R.string.prefs_debug_settings_enabled, Toast.LENGTH_LONG).show();
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* Copyright (C) 2014 The Android Open Source Project
|
||||
* modified
|
||||
* SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only
|
||||
*/
|
||||
package org.dslul.openboard.inputmethod.latin.settings
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.preference.Preference
|
||||
import org.dslul.openboard.inputmethod.latin.BuildConfig
|
||||
import org.dslul.openboard.inputmethod.latin.R
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.SpannableStringUtils
|
||||
|
||||
/**
|
||||
* "About" sub screen.
|
||||
*/
|
||||
class AboutFragment : SubScreenFragment() {
|
||||
override fun onCreate(icicle: Bundle?) {
|
||||
super.onCreate(icicle)
|
||||
addPreferencesFromResource(R.xml.prefs_screen_about)
|
||||
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||
// need to set icon tint because old android versions don't use the vector drawables
|
||||
for (i in 0 until preferenceScreen.preferenceCount) {
|
||||
val p = preferenceScreen.getPreference(0)
|
||||
val icon = p.icon
|
||||
if (icon != null) DrawableCompat.setTint(icon, Color.WHITE)
|
||||
}
|
||||
}
|
||||
|
||||
setupHiddenFeatures()
|
||||
setupVersionPref()
|
||||
findPreference<Preference>("log_reader")?.setOnPreferenceClickListener {
|
||||
val intent = Intent(Intent.ACTION_CREATE_DOCUMENT)
|
||||
.addCategory(Intent.CATEGORY_OPENABLE)
|
||||
.putExtra(Intent.EXTRA_TITLE,
|
||||
requireContext().getString(R.string.english_ime_name)
|
||||
.replace(" ", "_") + "_log_${System.currentTimeMillis()}.txt"
|
||||
)
|
||||
.setType("text/plain")
|
||||
logFilePicker.launch(intent)
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private val logFilePicker = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||
if (result.resultCode != Activity.RESULT_OK) return@registerForActivityResult
|
||||
val uri = result.data?.data ?: return@registerForActivityResult
|
||||
activity?.contentResolver?.openOutputStream(uri)?.use { os ->
|
||||
os.bufferedWriter().use { it.write(Log.getLog().joinToString("\n")) }
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupHiddenFeatures() {
|
||||
findPreference<Preference>("hidden_features")?.onPreferenceClickListener =
|
||||
Preference.OnPreferenceClickListener {
|
||||
val link = ("<a href=\"https://developer.android.com/reference/android/content/Context#createDeviceProtectedStorageContext()\">"
|
||||
+ getString(R.string.hidden_features_text) + "</a>")
|
||||
val message = requireContext().getString(R.string.hidden_features_message, link)
|
||||
val dialogMessage = SpannableStringUtils.fromHtml(message)
|
||||
val builder = AlertDialog.Builder(requireContext())
|
||||
.setIcon(R.drawable.ic_settings_about_hidden_features)
|
||||
.setTitle(R.string.hidden_features_title)
|
||||
.setMessage(dialogMessage)
|
||||
.setPositiveButton(R.string.dialog_close, null)
|
||||
.create()
|
||||
builder.show()
|
||||
(builder.findViewById<View>(android.R.id.message) as TextView).movementMethod = LinkMovementMethod.getInstance()
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupVersionPref() {
|
||||
val versionPreference = findPreference<Preference>("pref_key_version") ?: return
|
||||
versionPreference.summary = BuildConfig.VERSION_NAME
|
||||
if (BuildConfig.DEBUG) return
|
||||
var count = 0
|
||||
versionPreference.onPreferenceClickListener =
|
||||
Preference.OnPreferenceClickListener {
|
||||
if (sharedPreferences.getBoolean(DebugSettings.PREF_SHOW_DEBUG_SETTINGS, false))
|
||||
return@OnPreferenceClickListener true
|
||||
count++
|
||||
if (count < 5) return@OnPreferenceClickListener true
|
||||
sharedPreferences.edit().putBoolean(DebugSettings.PREF_SHOW_DEBUG_SETTINGS, true).apply()
|
||||
Toast.makeText(requireContext(), R.string.prefs_debug_settings_enabled, Toast.LENGTH_LONG).show()
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,7 +11,7 @@ import android.content.SharedPreferences
|
|||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.preference.Preference
|
||||
|
|
|
@ -14,7 +14,7 @@ import android.content.res.Configuration;
|
|||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import android.util.TypedValue;
|
||||
import android.view.ContextThemeWrapper;
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.content.SharedPreferences;
|
|||
import android.content.pm.PackageInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
|||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
|
|
@ -17,7 +17,7 @@ import android.net.Uri;
|
|||
import android.os.Bundle;
|
||||
import android.os.Message;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.ImageView;
|
||||
|
|
|
@ -9,7 +9,7 @@ package org.dslul.openboard.inputmethod.latin.spellcheck;
|
|||
import android.content.res.Resources;
|
||||
import android.os.Binder;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.textservice.SentenceSuggestionsInfo;
|
||||
import android.view.textservice.SuggestionsInfo;
|
||||
import android.view.textservice.TextInfo;
|
||||
|
|
|
@ -13,7 +13,7 @@ import android.os.Binder;
|
|||
import android.provider.UserDictionary.Words;
|
||||
import android.service.textservice.SpellCheckerService.Session;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.LruCache;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.latin.suggestions;
|
|||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.latin.utils;
|
|||
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.content.Context;
|
|||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
public final class ApplicationUtils {
|
||||
private static final String TAG = ApplicationUtils.class.getSimpleName();
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.define.DebugFlags;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import android.content.Context;
|
|||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.content.Context;
|
|||
import android.content.res.AssetManager;
|
||||
import android.content.res.Resources;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
|
||||
|
@ -47,7 +47,7 @@ public class ExecutorUtils {
|
|||
public Thread newThread(final Runnable runnable) {
|
||||
Thread thread = new Thread(runnable, TAG);
|
||||
thread.setUncaughtExceptionHandler((thread1, ex) ->
|
||||
Log.w(mName + "-" + runnable.getClass().getSimpleName(), ex));
|
||||
Log.w(mName, runnable.getClass().getSimpleName(), ex));
|
||||
return thread;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.dslul.openboard.inputmethod.latin.utils;
|
||||
|
||||
import android.app.Application;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.BuildConfig;
|
||||
import org.dslul.openboard.inputmethod.latin.define.JniLibName;
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.latin.utils;
|
|||
|
||||
import android.util.JsonReader;
|
||||
import android.util.JsonWriter;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
package org.dslul.openboard.inputmethod.latin.utils
|
||||
|
||||
import android.os.Build
|
||||
import java.time.LocalDateTime
|
||||
import java.util.Date
|
||||
|
||||
/**
|
||||
* Logger that does the android logging, but also allows reading the log in the app.
|
||||
* It's only a little slower than the android logger, but since both are used we end up at
|
||||
* half performance (still fast enough to not be noticeable, unless spamming thousands of log lines)
|
||||
*/
|
||||
object Log {
|
||||
@JvmStatic
|
||||
fun wtf(tag: String?, message: String) {
|
||||
log(LogLine('F', tag, message))
|
||||
android.util.Log.wtf(tag, message)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun e(tag: String?, message: String, e: Throwable) {
|
||||
log(LogLine('E', tag, "$message\n${e.stackTraceToString()}"))
|
||||
android.util.Log.e(tag, message, e)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun e(tag: String?, message: String) {
|
||||
log(LogLine('E', tag, message))
|
||||
android.util.Log.e(tag, message)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun w(tag: String?, message: String, e: Throwable) {
|
||||
log(LogLine('W', tag, "$message\n${e.stackTraceToString()}"))
|
||||
android.util.Log.w(tag, message, e)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun w(tag: String?, message: String) {
|
||||
log(LogLine('W', tag, message))
|
||||
android.util.Log.w(tag, message)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun i(tag: String?, message: String, e: Throwable) {
|
||||
log(LogLine('I', tag, "$message\n${e.stackTraceToString()}"))
|
||||
android.util.Log.i(tag, message, e)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun i(tag: String?, message: String) {
|
||||
log(LogLine('I', tag, message))
|
||||
android.util.Log.i(tag, message)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun d(tag: String?, message: String, e: Throwable) {
|
||||
log(LogLine('D', tag, "$message\n${e.stackTraceToString()}"))
|
||||
android.util.Log.d(tag, message, e)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun d(tag: String?, message: String) {
|
||||
log(LogLine('D', tag, message))
|
||||
android.util.Log.d(tag, message)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun v(tag: String?, message: String) {
|
||||
log(LogLine('V', tag, message))
|
||||
android.util.Log.v(tag, message)
|
||||
}
|
||||
|
||||
private fun log(line: LogLine) {
|
||||
synchronized(logLines) {
|
||||
if (logLines.size > 12000) // clear oldest entries if list gets too long
|
||||
logLines.subList(0, 2000).clear()
|
||||
logLines.add(line)
|
||||
}
|
||||
}
|
||||
|
||||
private val logLines: MutableList<LogLine> = ArrayList(2000)
|
||||
|
||||
/** returns a copy of [logLines] */
|
||||
fun getLog() = synchronized(logLines) { logLines.toList() }
|
||||
}
|
||||
|
||||
data class LogLine(val level: Char, val tag: String?, val message: String) {
|
||||
|
||||
// time can be Date or LocalDateTime, doesn't matter because but it's used for toString only
|
||||
private val time = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
LocalDateTime.now()
|
||||
} else {
|
||||
Date(System.currentTimeMillis())
|
||||
}
|
||||
|
||||
override fun toString(): String = // should look like a normal android log line, at least for api26+
|
||||
"${time.toString().replace('T', ' ')} $level $tag: $message"
|
||||
}
|
|
@ -12,7 +12,7 @@ import android.content.res.TypedArray;
|
|||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import org.dslul.openboard.inputmethod.annotations.UsedForTesting;
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.dslul.openboard.inputmethod.latin.utils;
|
|||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.Log;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
|
|
|
@ -661,11 +661,13 @@ New dictionary:
|
|||
<!-- version for about screen-->
|
||||
<string name="version">Version</string>
|
||||
<!-- github repo link for about screen-->
|
||||
<string name="about_github_link" >View on GitHub</string>
|
||||
<string name="about_github_link">View on GitHub</string>
|
||||
<!-- preference title for saving the log to a file -->
|
||||
<string name="save_log">Save log</string>
|
||||
<!-- license for about screen-->
|
||||
<string name="license" >Open-source license</string>
|
||||
<string name="license">Open-source license</string>
|
||||
<!-- license link for about screen-->
|
||||
<string name="gnu_gpl" >GNU General Public License v3.0</string>
|
||||
<string name="gnu_gpl">GNU General Public License v3.0</string>
|
||||
<!-- Button to close a dialog where neither "ok" nor "cancel" are suitable -->
|
||||
<string name="dialog_close">Close</string>
|
||||
<!-- Preference for selecting system locales -->
|
||||
|
|
|
@ -41,4 +41,9 @@
|
|||
android:action="android.intent.action.VIEW"
|
||||
android:data="https://github.com/Helium314/openboard" />
|
||||
</Preference>
|
||||
|
||||
<Preference
|
||||
android:title="@string/save_log"
|
||||
android:key="log_reader" > <!-- todo (low priority): add icon -->
|
||||
</Preference>
|
||||
</PreferenceScreen>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue