Loading api/current.xml +14 −1 Original line number Diff line number Diff line Loading @@ -219268,6 +219268,19 @@ visibility="public" > </method> <method name="getEnabledInputMethodSubtypeList" return="java.util.List<android.view.inputmethod.InputMethodSubtype>" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="imi" type="android.view.inputmethod.InputMethodInfo"> </parameter> </method> <method name="getInputMethodList" return="java.util.List<android.view.inputmethod.InputMethodInfo>" abstract="false" Loading Loading @@ -246844,7 +246857,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="t" type="T"> <parameter name="arg0" type="T"> </parameter> </method> </interface> core/java/android/view/inputmethod/InputMethodManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceManager; import android.util.Log; import android.util.Pair; import android.util.PrintWriterPrinter; import android.util.Printer; import android.view.KeyEvent; Loading Loading @@ -502,6 +503,14 @@ public final class InputMethodManager { } } public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi) { try { return mService.getEnabledInputMethodSubtypeList(imi); } catch (RemoteException e) { throw new RuntimeException(e); } } public void showStatusIcon(IBinder imeToken, String packageName, int iconId) { try { mService.updateStatusIcon(imeToken, packageName, iconId); Loading core/java/com/android/internal/view/IInputMethodManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import com.android.internal.view.IInputMethodClient; interface IInputMethodManager { List<InputMethodInfo> getInputMethodList(); List<InputMethodInfo> getEnabledInputMethodList(); List<InputMethodSubtype> getEnabledInputMethodSubtypeList(in InputMethodInfo imi); void addClient(in IInputMethodClient client, in IInputContext inputContext, int uid, int pid); void removeClient(in IInputMethodClient client); Loading services/java/com/android/server/InputMethodManagerService.java +33 −4 Original line number Diff line number Diff line Loading @@ -555,6 +555,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi) { synchronized (mMethodMap) { return mSettings.getEnabledInputMethodSubtypeListLocked(imi); } } public void addClient(IInputMethodClient client, IInputContext inputContext, int uid, int pid) { synchronized (mMethodMap) { Loading Loading @@ -1607,7 +1613,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub synchronized (mMethodMap) { final List<Pair<InputMethodInfo, ArrayList<String>>> immis = mSettings.getEnabledInputMethodAndSubtypeListLocked(); mSettings.getEnabledInputMethodAndSubtypeHashCodeListLocked(); ArrayList<Integer> subtypeIds = new ArrayList<Integer>(); if (immis == null || immis.size() == 0) { Loading Loading @@ -2026,11 +2032,34 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } public List<Pair<InputMethodInfo, ArrayList<String>>> getEnabledInputMethodAndSubtypeListLocked() { return createEnabledInputMethodAndSubtypeListLocked( getEnabledInputMethodAndSubtypeHashCodeListLocked() { return createEnabledInputMethodAndSubtypeHashCodeListLocked( getEnabledInputMethodsAndSubtypeListLocked()); } public List<InputMethodSubtype> getEnabledInputMethodSubtypeListLocked( InputMethodInfo imi) { List<Pair<String, ArrayList<String>>> imsList = getEnabledInputMethodsAndSubtypeListLocked(); ArrayList<InputMethodSubtype> enabledSubtypes = new ArrayList<InputMethodSubtype>(); for (Pair<String, ArrayList<String>> imsPair : imsList) { InputMethodInfo info = mMethodMap.get(imsPair.first); if (info != null && info.getId().equals(imi.getId())) { ArrayList<InputMethodSubtype> subtypes = info.getSubtypes(); for (InputMethodSubtype ims: subtypes) { for (String s: imsPair.second) { if (String.valueOf(ims.hashCode()).equals(s)) { enabledSubtypes.add(ims); } } } break; } } return enabledSubtypes; } // At the initial boot, the settings for input methods are not set, // so we need to enable IME in that case. public void enableAllIMEsIfThereIsNoEnabledIME() { Loading Loading @@ -2128,7 +2157,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } private List<Pair<InputMethodInfo, ArrayList<String>>> createEnabledInputMethodAndSubtypeListLocked( createEnabledInputMethodAndSubtypeHashCodeListLocked( List<Pair<String, ArrayList<String>>> imsList) { final ArrayList<Pair<InputMethodInfo, ArrayList<String>>> res = new ArrayList<Pair<InputMethodInfo, ArrayList<String>>>(); Loading Loading
api/current.xml +14 −1 Original line number Diff line number Diff line Loading @@ -219268,6 +219268,19 @@ visibility="public" > </method> <method name="getEnabledInputMethodSubtypeList" return="java.util.List<android.view.inputmethod.InputMethodSubtype>" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="imi" type="android.view.inputmethod.InputMethodInfo"> </parameter> </method> <method name="getInputMethodList" return="java.util.List<android.view.inputmethod.InputMethodInfo>" abstract="false" Loading Loading @@ -246844,7 +246857,7 @@ deprecated="not deprecated" visibility="public" > <parameter name="t" type="T"> <parameter name="arg0" type="T"> </parameter> </method> </interface>
core/java/android/view/inputmethod/InputMethodManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceManager; import android.util.Log; import android.util.Pair; import android.util.PrintWriterPrinter; import android.util.Printer; import android.view.KeyEvent; Loading Loading @@ -502,6 +503,14 @@ public final class InputMethodManager { } } public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi) { try { return mService.getEnabledInputMethodSubtypeList(imi); } catch (RemoteException e) { throw new RuntimeException(e); } } public void showStatusIcon(IBinder imeToken, String packageName, int iconId) { try { mService.updateStatusIcon(imeToken, packageName, iconId); Loading
core/java/com/android/internal/view/IInputMethodManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import com.android.internal.view.IInputMethodClient; interface IInputMethodManager { List<InputMethodInfo> getInputMethodList(); List<InputMethodInfo> getEnabledInputMethodList(); List<InputMethodSubtype> getEnabledInputMethodSubtypeList(in InputMethodInfo imi); void addClient(in IInputMethodClient client, in IInputContext inputContext, int uid, int pid); void removeClient(in IInputMethodClient client); Loading
services/java/com/android/server/InputMethodManagerService.java +33 −4 Original line number Diff line number Diff line Loading @@ -555,6 +555,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(InputMethodInfo imi) { synchronized (mMethodMap) { return mSettings.getEnabledInputMethodSubtypeListLocked(imi); } } public void addClient(IInputMethodClient client, IInputContext inputContext, int uid, int pid) { synchronized (mMethodMap) { Loading Loading @@ -1607,7 +1613,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub synchronized (mMethodMap) { final List<Pair<InputMethodInfo, ArrayList<String>>> immis = mSettings.getEnabledInputMethodAndSubtypeListLocked(); mSettings.getEnabledInputMethodAndSubtypeHashCodeListLocked(); ArrayList<Integer> subtypeIds = new ArrayList<Integer>(); if (immis == null || immis.size() == 0) { Loading Loading @@ -2026,11 +2032,34 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } public List<Pair<InputMethodInfo, ArrayList<String>>> getEnabledInputMethodAndSubtypeListLocked() { return createEnabledInputMethodAndSubtypeListLocked( getEnabledInputMethodAndSubtypeHashCodeListLocked() { return createEnabledInputMethodAndSubtypeHashCodeListLocked( getEnabledInputMethodsAndSubtypeListLocked()); } public List<InputMethodSubtype> getEnabledInputMethodSubtypeListLocked( InputMethodInfo imi) { List<Pair<String, ArrayList<String>>> imsList = getEnabledInputMethodsAndSubtypeListLocked(); ArrayList<InputMethodSubtype> enabledSubtypes = new ArrayList<InputMethodSubtype>(); for (Pair<String, ArrayList<String>> imsPair : imsList) { InputMethodInfo info = mMethodMap.get(imsPair.first); if (info != null && info.getId().equals(imi.getId())) { ArrayList<InputMethodSubtype> subtypes = info.getSubtypes(); for (InputMethodSubtype ims: subtypes) { for (String s: imsPair.second) { if (String.valueOf(ims.hashCode()).equals(s)) { enabledSubtypes.add(ims); } } } break; } } return enabledSubtypes; } // At the initial boot, the settings for input methods are not set, // so we need to enable IME in that case. public void enableAllIMEsIfThereIsNoEnabledIME() { Loading Loading @@ -2128,7 +2157,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } private List<Pair<InputMethodInfo, ArrayList<String>>> createEnabledInputMethodAndSubtypeListLocked( createEnabledInputMethodAndSubtypeHashCodeListLocked( List<Pair<String, ArrayList<String>>> imsList) { final ArrayList<Pair<InputMethodInfo, ArrayList<String>>> res = new ArrayList<Pair<InputMethodInfo, ArrayList<String>>>(); Loading