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