X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FMisc.java;h=9e0a3fec2cc66ae312103cd65b7b6adcd033a2a1;hb=0b6ae8f4d7241ce917da5308721cc36303964af4;hp=16ad9e2c3c933cc769077031170fce86d899101c;hpb=2c000fc2be641f773b764d2040bb5878cc162a83;p=mobile-ledger-staging.git diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/Misc.java b/app/src/main/java/net/ktnx/mobileledger/utils/Misc.java index 16ad9e2c..9e0a3fec 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/Misc.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/Misc.java @@ -18,9 +18,11 @@ package net.ktnx.mobileledger.utils; import android.app.Activity; +import android.content.res.Configuration; import android.view.WindowManager; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; public class Misc { public static boolean isZero(float f) { @@ -28,10 +30,30 @@ public class Misc { } public static void showSoftKeyboard(Activity activity) { // make the keyboard appear - activity.getWindow() - .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); + Configuration cf = activity.getResources() + .getConfiguration(); + if (cf.keyboard == Configuration.KEYBOARD_NOKEYS || + cf.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) + activity.getWindow() + .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } public static void showSoftKeyboard(Fragment fragment) { - showSoftKeyboard(fragment.getActivity()); + final FragmentActivity activity = fragment.getActivity(); + if (activity != null) + showSoftKeyboard(activity); + } + public static void hideSoftKeyboard(Fragment fragment) { + final FragmentActivity activity = fragment.getActivity(); + if (activity != null) + hideSoftKeyboard(activity); + } + public static void hideSoftKeyboard(Activity activity) { + Configuration cf = activity.getResources() + .getConfiguration(); + if (cf.keyboard == Configuration.KEYBOARD_NOKEYS || + cf.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) + activity.getWindow() + .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + } }