diff options
| author | satok <satok@google.com> | 2011-05-26 16:46:14 +0900 |
|---|---|---|
| committer | satok <satok@google.com> | 2011-05-26 19:21:35 +0900 |
| commit | 42c5a1666c4e576ccd5974233513100aad2c1534 (patch) | |
| tree | 78d7835af04bef744259eb34ced43efef6b691e6 /services/java/com/android/server/InputMethodManagerService.java | |
| parent | 2a3c67c0e99bd3d8c6c538ff323a27df19cad109 (diff) | |
Fix internal variables and equals in SuggestionSpan
Bug: 4443922
- Instantiating other package's class for the name is complicated, so we changed the internal value for the notification target class from Class to String.
- Implement equals
Change-Id: Iaf7682be777f0027d33c9a3be4609ac01b6950ad
Diffstat (limited to 'services/java/com/android/server/InputMethodManagerService.java')
| -rw-r--r-- | services/java/com/android/server/InputMethodManagerService.java | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 7361ef7b9c35..465fd2e608dd 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -1021,8 +1021,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final InputMethodInfo currentImi = mMethodMap.get(mCurMethodId); for (int i = 0; i < spans.length; ++i) { SuggestionSpan ss = spans[i]; - if (ss.getNotificationTargetClass() != null) { + if (!TextUtils.isEmpty(ss.getNotificationTargetClassName())) { mSecureSuggestionSpans.put(ss, currentImi); + final InputMethodInfo targetImi = mSecureSuggestionSpans.get(ss); } } } @@ -1035,11 +1036,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub if (targetImi != null) { final String[] suggestions = span.getSuggestions(); if (index < 0 || index >= suggestions.length) return false; - final Class<?> c = span.getNotificationTargetClass(); + final String className = span.getNotificationTargetClassName(); final Intent intent = new Intent(); // Ensures that only a class in the original IME package will receive the // notification. - intent.setClassName(targetImi.getPackageName(), c.getCanonicalName()); + intent.setClassName(targetImi.getPackageName(), className); intent.setAction(SuggestionSpan.ACTION_SUGGESTION_PICKED); intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_BEFORE, originalString); intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_AFTER, suggestions[index]); @@ -1145,6 +1146,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public boolean showSoftInput(IInputMethodClient client, int flags, ResultReceiver resultReceiver) { int uid = Binder.getCallingUid(); @@ -1210,6 +1212,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub return res; } + @Override public boolean hideSoftInput(IInputMethodClient client, int flags, ResultReceiver resultReceiver) { int uid = Binder.getCallingUid(); @@ -1272,6 +1275,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub return res; } + @Override public void windowGainedFocus(IInputMethodClient client, IBinder windowToken, boolean viewHasFocus, boolean isTextEditor, int softInputMode, boolean first, int windowFlags) { @@ -1373,6 +1377,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public void showInputMethodPickerFromClient(IInputMethodClient client) { synchronized (mMethodMap) { if (mCurClient == null || client == null @@ -1387,10 +1392,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public void setInputMethod(IBinder token, String id) { setInputMethodWithSubtypeId(token, id, NOT_A_SUBTYPE_ID); } + @Override public void setInputMethodAndSubtype(IBinder token, String id, InputMethodSubtype subtype) { synchronized (mMethodMap) { if (subtype != null) { @@ -1402,6 +1409,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public void showInputMethodAndSubtypeEnablerFromClient( IInputMethodClient client, String inputMethodId) { synchronized (mMethodMap) { @@ -1524,6 +1532,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public void hideMySoftInput(IBinder token, int flags) { synchronized (mMethodMap) { if (token == null || mCurToken != token) { @@ -1540,6 +1549,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public void showMySoftInput(IBinder token, int flags) { synchronized (mMethodMap) { if (token == null || mCurToken != token) { @@ -1576,6 +1586,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public boolean handleMessage(Message msg) { HandlerCaller.SomeArgs args; switch (msg.what) { @@ -1919,6 +1930,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } AlertDialog.OnClickListener adocl = new AlertDialog.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int which) { hideInputMethodMenu(); } @@ -1930,6 +1942,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mDialogBuilder = new AlertDialog.Builder(context) .setTitle(com.android.internal.R.string.select_input_method) .setOnCancelListener(new OnCancelListener() { + @Override public void onCancel(DialogInterface dialog) { hideInputMethodMenu(); } @@ -1940,6 +1953,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mDialogBuilder.setSingleChoiceItems(mItems, checkedItem, new AlertDialog.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int which) { synchronized (mMethodMap) { if (mIms == null || mIms.length <= which @@ -1964,6 +1978,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mDialogBuilder.setPositiveButton( com.android.internal.R.string.configure_input_methods, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int whichButton) { showConfigureInputMethods(); } @@ -1999,6 +2014,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub // ---------------------------------------------------------------------- + @Override public boolean setInputMethodEnabled(String id, boolean enabled) { synchronized (mMethodMap) { if (mContext.checkCallingOrSelfPermission( @@ -2329,6 +2345,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub /** * @return Return the current subtype of this input method. */ + @Override public InputMethodSubtype getCurrentInputMethodSubtype() { boolean subtypeIsSelected = false; try { @@ -2411,6 +2428,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } + @Override public boolean setCurrentInputMethodSubtype(InputMethodSubtype subtype) { synchronized (mMethodMap) { if (subtype != null && mCurMethodId != null) { |
