blob: 64dccd88c4f0469ee7d9d1d5b8a48546b4e007eb [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.phone;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
/**
* List of Network-specific settings screens.
*/
public class GsmUmtsOptions {
private static final String LOG_TAG = "GsmUmtsOptions";
private PreferenceScreen mButtonAPNExpand;
private PreferenceScreen mButtonOperatorSelectionExpand;
private CheckBoxPreference mButtonPrefer2g;
private static final String BUTTON_APN_EXPAND_KEY = "button_apn_key";
private static final String BUTTON_OPERATOR_SELECTION_EXPAND_KEY = "button_carrier_sel_key";
private static final String BUTTON_PREFER_2G_KEY = "button_prefer_2g_key";
private PreferenceActivity mPrefActivity;
private PreferenceScreen mPrefScreen;
public GsmUmtsOptions(PreferenceActivity prefActivity, PreferenceScreen prefScreen) {
mPrefActivity = prefActivity;
mPrefScreen = prefScreen;
create();
}
protected void create() {
mPrefActivity.addPreferencesFromResource(R.xml.gsm_umts_options);
mButtonAPNExpand = (PreferenceScreen) mPrefScreen.findPreference(BUTTON_APN_EXPAND_KEY);
mButtonOperatorSelectionExpand =
(PreferenceScreen) mPrefScreen.findPreference(BUTTON_OPERATOR_SELECTION_EXPAND_KEY);
mButtonPrefer2g = (CheckBoxPreference) mPrefScreen.findPreference(BUTTON_PREFER_2G_KEY);
if (PhoneFactory.getDefaultPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_GSM) {
log("Not a GSM phone");
mButtonAPNExpand.setEnabled(false);
mButtonOperatorSelectionExpand.setEnabled(false);
mButtonPrefer2g.setEnabled(false);
} else if (mPrefActivity.getResources().getBoolean(R.bool.csp_enabled)) {
if (PhoneFactory.getDefaultPhone().isCspPlmnEnabled()) {
log("[CSP] Enabling Operator Selection menu.");
mButtonOperatorSelectionExpand.setEnabled(true);
} else {
log("[CSP] Disabling Operator Selection menu.");
mPrefScreen.removePreference(mPrefScreen
.findPreference(BUTTON_OPERATOR_SELECTION_EXPAND_KEY));
}
}
}
public boolean preferenceTreeClick(Preference preference) {
if (preference.getKey().equals(BUTTON_PREFER_2G_KEY)) {
log("preferenceTreeClick: return true");
return true;
}
log("preferenceTreeClick: return false");
return false;
}
protected void log(String s) {
android.util.Log.d(LOG_TAG, s);
}
}