X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Ffarmerbb%2Ftaskbar%2Fui%2FUIController.java;h=2d700e3081c165d1aa813602573a93cbddb68e76;hb=1142e0e96b500ab3419c30e6d7b14f4703aa8542;hp=de2e63aea5f07787ed0fb25bab9fa28c36941ffa;hpb=c80521c4165defcc5481cf94f680215c464ea5f5;p=android-x86%2Fpackages-apps-Taskbar.git diff --git a/app/src/main/java/com/farmerbb/taskbar/ui/UIController.java b/app/src/main/java/com/farmerbb/taskbar/ui/UIController.java index de2e63ae..2d700e30 100644 --- a/app/src/main/java/com/farmerbb/taskbar/ui/UIController.java +++ b/app/src/main/java/com/farmerbb/taskbar/ui/UIController.java @@ -17,8 +17,11 @@ package com.farmerbb.taskbar.ui; import android.content.Context; import android.content.SharedPreferences; +import android.provider.Settings; import android.view.View; +import com.farmerbb.taskbar.BuildConfig; +import com.farmerbb.taskbar.R; import com.farmerbb.taskbar.activity.SecondaryHomeActivity; import com.farmerbb.taskbar.helper.LauncherHelper; import com.farmerbb.taskbar.util.CompatUtils; @@ -68,18 +71,32 @@ public abstract class UIController { } protected void applyMarginFix(UIHost host, View layout, ViewParams params) { - if(U.getCurrentApiVersion() <= 29.0) return; + if(U.getCurrentApiVersion() <= 29.0 || !(host instanceof SecondaryHomeActivity)) + return; layout.setOnApplyWindowInsetsListener((v, insets) -> { boolean isImeVisible = CompatUtils.isImeVisible(v); if(isImeVisible != prevImeVisibility) { prevImeVisibility = isImeVisible; - ViewParams newParams = isImeVisible ? params.noBottomMargin() : params; + ViewParams newParams = isImeVisible ? params.updateBottomMargin(0) : params; host.updateViewLayout(layout, newParams); + + if(isImeFixDisabled() && !U.isLibrary(context)) { + SharedPreferences pref = U.getSharedPreferences(context); + if(!pref.getBoolean(PREF_DESKTOP_MODE_IME_FIX, false)) { + pref.edit().putBoolean(PREF_DESKTOP_MODE_IME_FIX, true).apply(); + U.showToastLong(context, R.string.tb_desktop_mode_ime_fix_toast); + } + } } return insets; }); } + + protected boolean isImeFixDisabled() { + String ime = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD); + return !ime.startsWith(BuildConfig.BASE_APPLICATION_ID) && !ime.startsWith("com.farmerbb.secondscreen"); + } } \ No newline at end of file