]> git.ktnx.net Git - mobile-ledger-staging.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/utils/Misc.java
Misc: add routined for hiding the soft keyboard
[mobile-ledger-staging.git] / app / src / main / java / net / ktnx / mobileledger / utils / Misc.java
index 8698e0bc346f58d1763f3c5f658387eeb0102c2e..9e0a3fec2cc66ae312103cd65b7b6adcd033a2a1 100644 (file)
@@ -22,6 +22,7 @@ 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) {
@@ -31,11 +32,28 @@ public class Misc {
         // make the keyboard appear
         Configuration cf = activity.getResources()
                                    .getConfiguration();
-        if (cf.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES)
+        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);
+
     }
 }