1c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville/*
2c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * Copyright (C) 2008 The Android Open Source Project
3c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville *
4c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * Licensed under the Apache License, Version 2.0 (the "License");
5c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * you may not use this file except in compliance with the License.
6c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * You may obtain a copy of the License at
7c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville *
8c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville *      http://www.apache.org/licenses/LICENSE-2.0
9c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville *
10c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * Unless required by applicable law or agreed to in writing, software
11c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * distributed under the License is distributed on an "AS IS" BASIS,
12c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * See the License for the specific language governing permissions and
14c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * limitations under the License.
15c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville */
16c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
17c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Savillepackage com.android.phone;
18c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
199ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhangimport android.preference.CheckBoxPreference;
209ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhangimport android.preference.Preference;
21c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Savilleimport android.preference.PreferenceActivity;
22c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Savilleimport android.preference.PreferenceScreen;
23c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
2479b9f6e30e8402b103f1ec3ed9dda1fcad2b1cd5Tammo Spalinkimport com.android.internal.telephony.Phone;
25c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Savilleimport com.android.internal.telephony.PhoneFactory;
26c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
27c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville/**
28c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville * List of Network-specific settings screens.
29c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville */
307ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Savillepublic class GsmUmtsOptions {
317ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    private static final String LOG_TAG = "GsmUmtsOptions";
32c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
33c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville    private PreferenceScreen mButtonAPNExpand;
34c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville    private PreferenceScreen mButtonOperatorSelectionExpand;
359ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang    private CheckBoxPreference mButtonPrefer2g;
36c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
37c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville    private static final String BUTTON_APN_EXPAND_KEY = "button_apn_key";
38c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville    private static final String BUTTON_OPERATOR_SELECTION_EXPAND_KEY = "button_carrier_sel_key";
399ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang    private static final String BUTTON_PREFER_2G_KEY = "button_prefer_2g_key";
40c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
417ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    private PreferenceActivity mPrefActivity;
427ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    private PreferenceScreen mPrefScreen;
43c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
447ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    public GsmUmtsOptions(PreferenceActivity prefActivity, PreferenceScreen prefScreen) {
457ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        mPrefActivity = prefActivity;
467ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        mPrefScreen = prefScreen;
477ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        create();
487ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    }
49c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville
507ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    protected void create() {
517ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        mPrefActivity.addPreferencesFromResource(R.xml.gsm_umts_options);
527ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        mButtonAPNExpand = (PreferenceScreen) mPrefScreen.findPreference(BUTTON_APN_EXPAND_KEY);
539ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang        mButtonOperatorSelectionExpand =
547ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville                (PreferenceScreen) mPrefScreen.findPreference(BUTTON_OPERATOR_SELECTION_EXPAND_KEY);
557ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        mButtonPrefer2g = (CheckBoxPreference) mPrefScreen.findPreference(BUTTON_PREFER_2G_KEY);
5679b9f6e30e8402b103f1ec3ed9dda1fcad2b1cd5Tammo Spalink        if (PhoneFactory.getDefaultPhone().getPhoneType() != Phone.PHONE_TYPE_GSM) {
577ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville            log("Not a GSM phone");
58c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville            mButtonAPNExpand.setEnabled(false);
59c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville            mButtonOperatorSelectionExpand.setEnabled(false);
609ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang            mButtonPrefer2g.setEnabled(false);
61c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville        }
62c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville    }
639ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang
647ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    public boolean preferenceTreeClick(Preference preference) {
659ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang        if (preference.getKey().equals(BUTTON_PREFER_2G_KEY)) {
667ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville            log("preferenceTreeClick: return true");
679ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang            return true;
689ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang        }
697ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        log("preferenceTreeClick: return false");
709ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang        return false;
719ed35b1e94dbfef3ba7dbfc9add957b504e1dab0Chouting Zhang    }
727ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville
737ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    protected void log(String s) {
747ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville        android.util.Log.d(LOG_TAG, s);
757ddbcfad4b2e6701df889a34f79e9b46f79a988eWink Saville    }
76c51f5ac3de9db72a11dfbb1cefd8cc72f7a0fc7cWink Saville}
77