diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/settings/SettingsActivity.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/settings/SettingsActivity.java | 27 |
1 files changed, 26 insertions, 1 deletions
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); } } |