Make distinction between null and empty IM list.

* null means no policy is enfrced, any IM is allowed.
* empty means no IMs is allowed except system IMs.

Bug: 211063191
Test: manual, CtsVerifier/BYOD managed provisioning/Policy transparency
Change-Id: I35665a547c1e99129c70c834083b3183ba00208d
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 8bef708..931f82a 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -140,7 +140,7 @@
             // allowed by organization. Doing so will allow the user to disable the input method and
             // remain complaint with the organization's policy. Once disabled, the input method
             // cannot be re-enabled because it is not in the permitted list.
-            final boolean isAllowedByOrganization = permittedList.isEmpty()
+            final boolean isAllowedByOrganization = permittedList == null
                     || permittedList.contains(imi.getPackageName())
                     || enabledImis.contains(imi);
             final InputMethodPreference pref = new InputMethodPreference(prefContext, imi,