SettingsActivity.java revision 76cffec78834a2db525608587eae1a5a7ef998dd
1c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka/*
2c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka * Copyright (C) 2012 The Android Open Source Project
3c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka *
48aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License");
58aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * you may not use this file except in compliance with the License.
68aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * You may obtain a copy of the License at
7c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka *
88aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka *      http://www.apache.org/licenses/LICENSE-2.0
9c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka *
10c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software
118aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS,
128aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * See the License for the specific language governing permissions and
148aa9963a895f9dd5bb1bc92ab2e4f461e058f87aTadashi G. Takaoka * limitations under the License.
15c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka */
16c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka
17a7d2fc6befa1b16883200a653fc01deb4d94944dKen Wakasapackage com.android.inputmethod.latin.settings;
18c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka
1964f64bdf58ebcfb412c810646eb12e22b586aa87Satoshi Kataokaimport com.android.inputmethod.latin.utils.FragmentUtils;
2064f64bdf58ebcfb412c810646eb12e22b586aa87Satoshi Kataoka
2176cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaokaimport android.app.ActionBar;
22c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaokaimport android.content.Intent;
2376cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaokaimport android.os.Bundle;
24c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaokaimport android.preference.PreferenceActivity;
2576cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaokaimport android.view.MenuItem;
26c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka
27a28a05e971cc242b338331a3b78276fa95188d19Tadashi G. Takaokapublic final class SettingsActivity extends PreferenceActivity {
2876cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up";
29cbee8a33d58f438b1e616947df282944c0046498Tadashi G. Takaoka    private static final String DEFAULT_FRAGMENT = SettingsFragment.class.getName();
3076cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    private boolean mShowHomeAsUp;
3176cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka
3276cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    @Override
3376cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    protected void onCreate(final Bundle savedState) {
3476cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        super.onCreate(savedState);
3576cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        final ActionBar actionBar = getActionBar();
3676cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        if (actionBar != null) {
3776cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka            mShowHomeAsUp = getIntent().getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true);
3876cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka            actionBar.setDisplayHomeAsUpEnabled(mShowHomeAsUp);
3976cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka            actionBar.setHomeButtonEnabled(mShowHomeAsUp);
4076cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        }
4176cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    }
4276cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka
4376cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    @Override
4476cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    public boolean onOptionsItemSelected(final MenuItem item) {
4576cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        if (mShowHomeAsUp && item.getItemId() == android.R.id.home) {
4676cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka            finish();
4776cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka            return true;
4876cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        }
4976cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka        return super.onOptionsItemSelected(item);
5076cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    }
51c27fe6253c1d8b3ad3c2f891a48ec5c54d77a3f1Tadashi G. Takaoka
52c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka    @Override
53c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka    public Intent getIntent() {
54c27fe6253c1d8b3ad3c2f891a48ec5c54d77a3f1Tadashi G. Takaoka        final Intent intent = super.getIntent();
55262d5bd9f964d7fb18d96ec2ccf821b042aa3a3aTadashi G. Takaoka        final String fragment = intent.getStringExtra(EXTRA_SHOW_FRAGMENT);
56262d5bd9f964d7fb18d96ec2ccf821b042aa3a3aTadashi G. Takaoka        if (fragment == null) {
57262d5bd9f964d7fb18d96ec2ccf821b042aa3a3aTadashi G. Takaoka            intent.putExtra(EXTRA_SHOW_FRAGMENT, DEFAULT_FRAGMENT);
58262d5bd9f964d7fb18d96ec2ccf821b042aa3a3aTadashi G. Takaoka        }
59c27fe6253c1d8b3ad3c2f891a48ec5c54d77a3f1Tadashi G. Takaoka        intent.putExtra(EXTRA_NO_HEADERS, true);
60c27fe6253c1d8b3ad3c2f891a48ec5c54d77a3f1Tadashi G. Takaoka        return intent;
61c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka    }
62c5182c9a4ae66e75df8c959bf625d08ef99f81d2Satoshi Kataoka
63bfcd98edc7c5ac28fdc1e4b7a97b2912124e622aTadashi G. Takaoka    @Override
6476cffec78834a2db525608587eae1a5a7ef998ddTadashi G. Takaoka    public boolean isValidFragment(final String fragmentName) {
6564f64bdf58ebcfb412c810646eb12e22b586aa87Satoshi Kataoka        return FragmentUtils.isValidFragment(fragmentName);
66c5182c9a4ae66e75df8c959bf625d08ef99f81d2Satoshi Kataoka    }
67c206d0462354b3bf1ad0cec61534da567829555dTadashi G. Takaoka}
68