17d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonpackage com.android.phone;
27d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
37d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport com.android.internal.telephony.CallForwardInfo;
47d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport com.android.internal.telephony.CommandsInterface;
52b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Leeimport com.android.internal.telephony.Phone;
67d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
77d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.app.ActionBar;
87d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.content.Intent;
97d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.database.Cursor;
107d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.os.Bundle;
117d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.preference.Preference;
127d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.preference.PreferenceScreen;
13491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebingerimport android.telephony.CarrierConfigManager;
147d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.util.Log;
157d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.view.MenuItem;
167d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
177d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport java.util.ArrayList;
187d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
197d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
207d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonpublic class GsmUmtsCallForwardOptions extends TimeConsumingPreferenceActivity {
217d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String LOG_TAG = "GsmUmtsCallForwardOptions";
227d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
232b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee    private static final String NUM_PROJECTION[] = {
242b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee        android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER
252b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee    };
267d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
277d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String BUTTON_CFU_KEY   = "button_cfu_key";
287d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String BUTTON_CFB_KEY   = "button_cfb_key";
297d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String BUTTON_CFNRY_KEY = "button_cfnry_key";
307d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String BUTTON_CFNRC_KEY = "button_cfnrc_key";
317d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
327d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String KEY_TOGGLE = "toggle";
337d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String KEY_STATUS = "status";
347d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private static final String KEY_NUMBER = "number";
357d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
367d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private CallForwardEditPreference mButtonCFU;
377d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private CallForwardEditPreference mButtonCFB;
387d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private CallForwardEditPreference mButtonCFNRy;
397d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private CallForwardEditPreference mButtonCFNRc;
407d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
417d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private final ArrayList<CallForwardEditPreference> mPreferences =
427d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            new ArrayList<CallForwardEditPreference> ();
437d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private int mInitIndex= 0;
447d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
457d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private boolean mFirstResume;
467d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    private Bundle mIcicle;
472b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee    private Phone mPhone;
485efb112905b222d1a5b2e1052a94b7a7dfbe66d2Andrew Lee    private SubscriptionInfoHelper mSubscriptionInfoHelper;
49491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger    private boolean mReplaceInvalidCFNumbers;
507d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
517d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
527d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    protected void onCreate(Bundle icicle) {
537d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        super.onCreate(icicle);
547d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
557d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        addPreferencesFromResource(R.xml.callforward_options);
567d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
57dd4f6df7bf726284b0747405307de54e0c0acabbAndrew Lee        mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
585efb112905b222d1a5b2e1052a94b7a7dfbe66d2Andrew Lee        mSubscriptionInfoHelper.setActionBarTitle(
592b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee                getActionBar(), getResources(), R.string.call_forwarding_settings_with_label);
605efb112905b222d1a5b2e1052a94b7a7dfbe66d2Andrew Lee        mPhone = mSubscriptionInfoHelper.getPhone();
612b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee
62491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger        CarrierConfigManager carrierConfig = (CarrierConfigManager)
63491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger                getSystemService(CARRIER_CONFIG_SERVICE);
64491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger        if (carrierConfig != null) {
65491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger            mReplaceInvalidCFNumbers = carrierConfig.getConfig().getBoolean(
66491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger                    CarrierConfigManager.KEY_CALL_FORWARDING_MAP_NON_NUMBER_TO_VOICEMAIL_BOOL);
67491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger        }
68491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger
697d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        PreferenceScreen prefSet = getPreferenceScreen();
702b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee        mButtonCFU = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFU_KEY);
712b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee        mButtonCFB = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFB_KEY);
727d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFNRy = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFNRY_KEY);
737d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFNRc = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFNRC_KEY);
747d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
757d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFU.setParentActivity(this, mButtonCFU.reason);
767d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFB.setParentActivity(this, mButtonCFB.reason);
777d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFNRy.setParentActivity(this, mButtonCFNRy.reason);
787d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mButtonCFNRc.setParentActivity(this, mButtonCFNRc.reason);
797d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
807d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mPreferences.add(mButtonCFU);
817d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mPreferences.add(mButtonCFB);
827d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mPreferences.add(mButtonCFNRy);
837d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mPreferences.add(mButtonCFNRc);
847d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
857d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        // we wait to do the initialization until onResume so that the
867d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        // TimeConsumingPreferenceActivity dialog can display as it
877d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        // relies on onResume / onPause to maintain its foreground state.
887d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
897d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mFirstResume = true;
907d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        mIcicle = icicle;
917d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
927d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        ActionBar actionBar = getActionBar();
937d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        if (actionBar != null) {
947d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            // android.R.id.home will be triggered in onOptionsItemSelected()
957d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            actionBar.setDisplayHomeAsUpEnabled(true);
967d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
977d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
987d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
997d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
1007d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    public void onResume() {
1017d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        super.onResume();
1027d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1037d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        if (mFirstResume) {
1047d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            if (mIcicle == null) {
10559b6e78da15af6bf8706f22ed7176b14f7ca59f7Tyler Gunn                Log.d(LOG_TAG, "start to init ");
106491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger                mPreferences.get(mInitIndex).init(this, false, mPhone, mReplaceInvalidCFNumbers);
1077d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            } else {
1087d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                mInitIndex = mPreferences.size();
1097d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1107d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                for (CallForwardEditPreference pref : mPreferences) {
1117d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    Bundle bundle = mIcicle.getParcelable(pref.getKey());
1127d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    pref.setToggled(bundle.getBoolean(KEY_TOGGLE));
1137d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    CallForwardInfo cf = new CallForwardInfo();
1147d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    cf.number = bundle.getString(KEY_NUMBER);
1157d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    cf.status = bundle.getInt(KEY_STATUS);
1167d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    pref.handleCallForwardResult(cf);
117491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger                    pref.init(this, true, mPhone, mReplaceInvalidCFNumbers);
1187d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                }
1197d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            }
1207d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            mFirstResume = false;
1212b36ba2d3b68fce3e44078c1bdedf9af00b7fc5bAndrew Lee            mIcicle = null;
1227d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1237d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
1247d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1257d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
1267d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    protected void onSaveInstanceState(Bundle outState) {
1277d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        super.onSaveInstanceState(outState);
1287d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1297d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        for (CallForwardEditPreference pref : mPreferences) {
1307d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            Bundle bundle = new Bundle();
1317d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            bundle.putBoolean(KEY_TOGGLE, pref.isToggled());
1327d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            if (pref.callForwardInfo != null) {
1337d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                bundle.putString(KEY_NUMBER, pref.callForwardInfo.number);
1347d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                bundle.putInt(KEY_STATUS, pref.callForwardInfo.status);
1357d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            }
1367d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            outState.putParcelable(pref.getKey(), bundle);
1377d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1387d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
1397d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1407d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
1417d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    public void onFinished(Preference preference, boolean reading) {
1427d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        if (mInitIndex < mPreferences.size()-1 && !isFinishing()) {
1437d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            mInitIndex++;
144491fd4e3ce586271d4c1b1c1ead5863cd16bbca3Brad Ebinger            mPreferences.get(mInitIndex).init(this, false, mPhone, mReplaceInvalidCFNumbers);
1457d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1467d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1477d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        super.onFinished(preference, reading);
1487d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
1497d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1507d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
1517d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
15259b6e78da15af6bf8706f22ed7176b14f7ca59f7Tyler Gunn        Log.d(LOG_TAG, "onActivityResult: done");
1537d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        if (resultCode != RESULT_OK) {
15459b6e78da15af6bf8706f22ed7176b14f7ca59f7Tyler Gunn            Log.d(LOG_TAG, "onActivityResult: contact picker result not OK.");
1557d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            return;
1567d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1577d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        Cursor cursor = null;
1587d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        try {
1597d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            cursor = getContentResolver().query(data.getData(),
1607d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                NUM_PROJECTION, null, null, null);
1617d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            if ((cursor == null) || (!cursor.moveToFirst())) {
16259b6e78da15af6bf8706f22ed7176b14f7ca59f7Tyler Gunn                Log.d(LOG_TAG, "onActivityResult: bad contact data, no results found.");
1637d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                return;
1647d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            }
1657d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1667d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            switch (requestCode) {
1677d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                case CommandsInterface.CF_REASON_UNCONDITIONAL:
1687d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    mButtonCFU.onPickActivityResult(cursor.getString(0));
1697d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    break;
1707d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                case CommandsInterface.CF_REASON_BUSY:
1717d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    mButtonCFB.onPickActivityResult(cursor.getString(0));
1727d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    break;
1737d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                case CommandsInterface.CF_REASON_NO_REPLY:
1747d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    mButtonCFNRy.onPickActivityResult(cursor.getString(0));
1757d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    break;
1767d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                case CommandsInterface.CF_REASON_NOT_REACHABLE:
1777d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    mButtonCFNRc.onPickActivityResult(cursor.getString(0));
1787d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    break;
1797d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                default:
1807d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                    // TODO: may need exception here.
1817d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            }
1827d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        } finally {
1837d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            if (cursor != null) {
1847d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon                cursor.close();
1857d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            }
1867d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1877d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
1887d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon
1897d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    @Override
1907d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    public boolean onOptionsItemSelected(MenuItem item) {
1917d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        final int itemId = item.getItemId();
1927d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        if (itemId == android.R.id.home) {  // See ActionBar#setDisplayHomeAsUpEnabled()
1935efb112905b222d1a5b2e1052a94b7a7dfbe66d2Andrew Lee            CallFeaturesSetting.goUpToTopLevelSetting(this, mSubscriptionInfoHelper);
1947d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon            return true;
1957d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        }
1967d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon        return super.onOptionsItemSelected(item);
1977d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon    }
1987d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon}
199