aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-07-29 03:13:35 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-07-29 03:13:35 +0000
commiteee0baad2e7ac239cda55e675faaebd9642c21d3 (patch)
tree9563eff2bb9214363d36a15dfe997a1a80813719 /java/src
parentaf6cfb36cf15883022a527a3d47f53c18c259041 (diff)
parent76cffec78834a2db525608587eae1a5a7ef998dd (diff)
downloadlatinime-eee0baad2e7ac239cda55e675faaebd9642c21d3.tar.gz
latinime-eee0baad2e7ac239cda55e675faaebd9642c21d3.tar.xz
latinime-eee0baad2e7ac239cda55e675faaebd9642c21d3.zip
am 76cffec7: Show "navigate up" icon on settings activity
* commit '76cffec78834a2db525608587eae1a5a7ef998dd': Show "navigate up" icon on settings activity
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java18
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsActivity.java27
2 files changed, 34 insertions, 11 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index c7c1d0564..719aeac77 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -20,7 +20,6 @@ import static com.android.inputmethod.latin.Constants.ImeOption.FORCE_ASCII;
import static com.android.inputmethod.latin.Constants.ImeOption.NO_MICROPHONE;
import static com.android.inputmethod.latin.Constants.ImeOption.NO_MICROPHONE_COMPAT;
-import android.app.Activity;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -1621,24 +1620,22 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (mainKeyboardView != null) {
mainKeyboardView.closing();
}
- launchSubActivity(SettingsActivity.class);
- }
-
- private void launchSubActivity(final Class<? extends Activity> activityClass) {
- Intent intent = new Intent();
- intent.setClass(LatinIME.this, activityClass);
+ final Intent intent = new Intent();
+ intent.setClass(LatinIME.this, SettingsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ intent.putExtra(SettingsActivity.EXTRA_SHOW_HOME_AS_UP, false);
startActivity(intent);
}
private void showSubtypeSelectorAndSettings() {
final CharSequence title = getString(R.string.english_ime_input_options);
+ // TODO: Should use new string "Select active input modes".
+ final CharSequence languageSelectionTitle = getString(R.string.language_selection_title);
final CharSequence[] items = new CharSequence[] {
- // TODO: Should use new string "Select active input modes".
- getString(R.string.language_selection_title),
- getString(ApplicationUtils.getActivityTitleResId(this, SettingsActivity.class)),
+ languageSelectionTitle,
+ getString(ApplicationUtils.getActivityTitleResId(this, SettingsActivity.class))
};
final OnClickListener listener = new OnClickListener() {
@Override
@@ -1651,6 +1648,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ intent.putExtra(Intent.EXTRA_TITLE, languageSelectionTitle);
startActivity(intent);
break;
case 1:
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
index c7b9dcdd9..b0c494098 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
@@ -18,11 +18,36 @@ package com.android.inputmethod.latin.settings;
import com.android.inputmethod.latin.utils.FragmentUtils;
+import android.app.ActionBar;
import android.content.Intent;
+import android.os.Bundle;
import android.preference.PreferenceActivity;
+import android.view.MenuItem;
public final class SettingsActivity extends PreferenceActivity {
+ public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up";
private static final String DEFAULT_FRAGMENT = SettingsFragment.class.getName();
+ private boolean mShowHomeAsUp;
+
+ @Override
+ protected void onCreate(final Bundle savedState) {
+ super.onCreate(savedState);
+ final ActionBar actionBar = getActionBar();
+ if (actionBar != null) {
+ mShowHomeAsUp = getIntent().getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true);
+ actionBar.setDisplayHomeAsUpEnabled(mShowHomeAsUp);
+ actionBar.setHomeButtonEnabled(mShowHomeAsUp);
+ }
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(final MenuItem item) {
+ if (mShowHomeAsUp && item.getItemId() == android.R.id.home) {
+ finish();
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
@Override
public Intent getIntent() {
@@ -36,7 +61,7 @@ public final class SettingsActivity extends PreferenceActivity {
}
@Override
- public boolean isValidFragment(String fragmentName) {
+ public boolean isValidFragment(final String fragmentName) {
return FragmentUtils.isValidFragment(fragmentName);
}
}