mirror of
				https://github.com/SimpleMobileTools/Simple-Keyboard.git
				synced 2025-06-05 21:49:26 +02:00 
			
		
		
		
	Fixed directBoot crashes
This commit is contained in:
		| @@ -4,12 +4,12 @@ import android.app.Application | ||||
| import androidx.emoji2.bundled.BundledEmojiCompatConfig | ||||
| import androidx.emoji2.text.EmojiCompat | ||||
| import com.simplemobiletools.commons.extensions.checkUseEnglish | ||||
| import com.simplemobiletools.keyboard.extensions.isDeviceLocked | ||||
| import com.simplemobiletools.keyboard.extensions.isDeviceInDirectBootMode | ||||
|  | ||||
| class App : Application() { | ||||
|     override fun onCreate() { | ||||
|         super.onCreate() | ||||
|         if (!isDeviceLocked) { | ||||
|         if (!isDeviceInDirectBootMode) { | ||||
|             checkUseEnglish() | ||||
|         } | ||||
|         setupEmojiCompat() | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package com.simplemobiletools.keyboard.extensions | ||||
|  | ||||
| import android.app.KeyguardManager | ||||
| import android.content.ClipboardManager | ||||
| import android.content.Context | ||||
| import android.graphics.Color | ||||
| import android.os.IBinder | ||||
| import android.os.UserManager | ||||
| import android.view.* | ||||
| import android.widget.TextView | ||||
| import androidx.appcompat.app.AlertDialog | ||||
| @@ -19,17 +19,21 @@ import com.simplemobiletools.keyboard.databases.ClipsDatabase | ||||
| import com.simplemobiletools.keyboard.helpers.* | ||||
| import com.simplemobiletools.keyboard.interfaces.ClipsDao | ||||
|  | ||||
|  | ||||
| val Context.config: Config get() = Config.newInstance(applicationContext.safeStorageContext) | ||||
|  | ||||
| val Context.safeStorageContext: Context | ||||
|     get() = if (isNougatPlus() && isDeviceLocked) { | ||||
|     get() = if (isNougatPlus() && isDeviceInDirectBootMode) { | ||||
|         createDeviceProtectedStorageContext() | ||||
|     } else { | ||||
|         this | ||||
|     } | ||||
|  | ||||
| val Context.isDeviceLocked: Boolean | ||||
|     get() = (getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager).isDeviceLocked | ||||
| val Context.isDeviceInDirectBootMode: Boolean | ||||
|     get() { | ||||
|         val userManager = getSystemService(Context.USER_SERVICE) as UserManager | ||||
|         return isNougatPlus() && userManager.isUserUnlocked | ||||
|     } | ||||
|  | ||||
| val Context.clipsDB: ClipsDao | ||||
|     get() = ClipsDatabase.getInstance(applicationContext.safeStorageContext).ClipsDao() | ||||
|   | ||||
| @@ -2,9 +2,9 @@ package com.simplemobiletools.keyboard.helpers | ||||
|  | ||||
| import android.content.Context | ||||
| import com.simplemobiletools.commons.helpers.BaseConfig | ||||
| import com.simplemobiletools.keyboard.extensions.isDeviceLocked | ||||
| import com.simplemobiletools.keyboard.extensions.isDeviceInDirectBootMode | ||||
| import com.simplemobiletools.keyboard.extensions.safeStorageContext | ||||
| import java.util.* | ||||
| import java.util.Locale | ||||
|  | ||||
| class Config(context: Context) : BaseConfig(context) { | ||||
|     companion object { | ||||
| @@ -44,7 +44,7 @@ class Config(context: Context) : BaseConfig(context) { | ||||
|         set(showClipboardContent) = prefs.edit().putBoolean(SHOW_CLIPBOARD_CONTENT, showClipboardContent).apply() | ||||
|  | ||||
|     var showNumbersRow: Boolean | ||||
|         get() = if (!context.isDeviceLocked) { | ||||
|         get() = if (!context.isDeviceInDirectBootMode) { | ||||
|             prefs.getBoolean(SHOW_NUMBERS_ROW, false) | ||||
|         } else { | ||||
|             true | ||||
|   | ||||
| @@ -431,7 +431,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|             pinned_clipboard_items.applyColorFilter(mTextColor) | ||||
|             clipboard_clear.applyColorFilter(mTextColor) | ||||
|  | ||||
|             toolbar_holder.beInvisibleIf(context.isDeviceLocked) | ||||
|             toolbar_holder.beInvisibleIf(context.isDeviceInDirectBootMode) | ||||
|         } | ||||
|  | ||||
|         mClipboardManagerHolder?.apply { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user