diff options
Diffstat (limited to 'java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java')
| -rw-r--r-- | java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java b/java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java index cfa1a6596..e56c97578 100644 --- a/java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java +++ b/java/src/com/android/inputmethodcommon/InputMethodSettingsImpl.java @@ -40,6 +40,7 @@ import java.util.List; private Drawable mSubtypeEnablerIcon; private InputMethodManager mImm; private InputMethodInfo mImi; + private boolean mSpawnAsNewActivity = true; /** * Initialize internal states of this object. @@ -55,9 +56,11 @@ import java.util.List; } final Intent intent = new Intent(Settings.ACTION_INPUT_METHOD_SUBTYPE_SETTINGS); intent.putExtra(Settings.EXTRA_INPUT_METHOD_ID, mImi.getId()); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED - | Intent.FLAG_ACTIVITY_CLEAR_TOP); + if (mSpawnAsNewActivity) { + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED + | Intent.FLAG_ACTIVITY_CLEAR_TOP); + } mSubtypeEnablerPreference = new Preference(context); mSubtypeEnablerPreference.setIntent(intent); prefScreen.addPreference(mSubtypeEnablerPreference); @@ -176,4 +179,8 @@ import java.util.List; pref.setIcon(mSubtypeEnablerIcon); } } + + public void setSpawnAsNewActivity(boolean spawnAsNew) { + mSpawnAsNewActivity = spawnAsNew; + } } |
