Allow applications to set the title of the subtype enabler

Bug: 5058105

Change-Id: Id5e4ccbdf4f830ce5c67232f530d73679d9e038f
This commit is contained in:
satok
2011-07-21 15:32:28 +09:00
parent c29c6d3f8c
commit 5e9c5e7bcf
2 changed files with 14 additions and 3 deletions

View File

@@ -347,7 +347,7 @@
</activity> </activity>
<activity android:name=".inputmethod.InputMethodAndSubtypeEnablerActivity" <activity android:name=".inputmethod.InputMethodAndSubtypeEnablerActivity"
android:label="@string/input_methods_and_subtype_enabler_title" android:label=""
android:clearTaskOnLaunch="true"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />

View File

@@ -22,6 +22,7 @@ import com.android.settings.SettingsPreferenceFragment;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
@@ -56,19 +57,29 @@ public class InputMethodAndSubtypeEnabler extends SettingsPreferenceFragment {
Configuration config = getResources().getConfiguration(); Configuration config = getResources().getConfiguration();
mHaveHardKeyboard = (config.keyboard == Configuration.KEYBOARD_QWERTY); mHaveHardKeyboard = (config.keyboard == Configuration.KEYBOARD_QWERTY);
final Bundle arguments = getArguments();
// Input method id should be available from an Intent when this preference is launched as a // Input method id should be available from an Intent when this preference is launched as a
// single Activity (see InputMethodAndSubtypeEnablerActivity). It should be available // single Activity (see InputMethodAndSubtypeEnablerActivity). It should be available
// from a preference argument when the preference is launched as a part of the other // from a preference argument when the preference is launched as a part of the other
// Activity (like a right pane of 2-pane Settings app) // Activity (like a right pane of 2-pane Settings app)
mInputMethodId = getActivity().getIntent().getStringExtra( mInputMethodId = getActivity().getIntent().getStringExtra(
android.provider.Settings.EXTRA_INPUT_METHOD_ID); android.provider.Settings.EXTRA_INPUT_METHOD_ID);
if (mInputMethodId == null && (getArguments() != null)) { if (mInputMethodId == null && (arguments != null)) {
final String inputMethodId = final String inputMethodId =
getArguments().getString(android.provider.Settings.EXTRA_INPUT_METHOD_ID); arguments.getString(android.provider.Settings.EXTRA_INPUT_METHOD_ID);
if (inputMethodId != null) { if (inputMethodId != null) {
mInputMethodId = inputMethodId; mInputMethodId = inputMethodId;
} }
} }
CharSequence title = getActivity().getIntent().getStringExtra(
Intent.EXTRA_TITLE);
if (title == null && (arguments != null)) {
title = arguments.getString(Intent.EXTRA_TITLE);
}
if (!TextUtils.isEmpty(title)) {
getActivity().setTitle(title);
}
onCreateIMM(); onCreateIMM();
setPreferenceScreen(createPreferenceHierarchy()); setPreferenceScreen(createPreferenceHierarchy());