avoid phone crash from exported activities

- remove the obsolote activities from source code and manifest
- remove non-activities declarations from manifest file

Bug: 29446895
Change-Id: I2ffed48c1781f68bf870e395cf848184615eb8b7
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 865573e..91d3e03 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -366,22 +366,6 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="GsmUmtsOptions"
-                android:label="@string/gsm_umts_options"
-                android:theme="@style/DialerSettingsLight">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name="CdmaOptions"
-                android:label="@string/cdma_options"
-                android:theme="@style/DialerSettingsLight">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
         <activity android:name="GsmUmtsCallOptions"
                 android:label="@string/gsm_umts_options"
                 android:theme="@style/DialerSettingsLight">
@@ -416,14 +400,6 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="CellBroadcastSms"
-            android:label="@string/cell_broadcast_sms"
-            android:theme="@android:style/Theme.Holo.DialogWhenLarge">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
         <!-- fdn setting -->
         <activity android:name="com.android.phone.settings.fdn.FdnSetting"
                 android:label="@string/fdn"
@@ -468,23 +444,6 @@
                 android:label="@string/delete_fdn_contact">
         </activity>
 
-        <activity android:name="DataRoamingReenable"
-                android:label="@string/dialog_alert_title"
-                android:theme="@android:style/Theme.Holo.Dialog">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
-        <!-- data roaming setting -->
-        <activity android:name="RoamingSetting"
-                android:label="@string/roaming"
-                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
         <!-- "Call settings" UI, used only on voice-capable phone devices. -->
         <activity android:name="CallFeaturesSetting"
                 android:label="@string/call_settings"
diff --git a/src/com/android/phone/CellBroadcastSms.java b/src/com/android/phone/CellBroadcastSms.java
deleted file mode 100644
index 7428321..0000000
--- a/src/com/android/phone/CellBroadcastSms.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*
- * Copyright (C) 2009 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.os.Bundle;
-import android.preference.CheckBoxPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceScreen;
-import android.preference.PreferenceActivity;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.RILConstants;
-
-import android.os.AsyncResult;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-
-/**
- * List of Phone-specific settings screens.
- */
-public class CellBroadcastSms extends PreferenceActivity
-        implements Preference.OnPreferenceChangeListener{
-    // debug data
-    private static final String LOG_TAG = "CellBroadcastSms";
-    private static final boolean DBG = false;
-
-    //String keys for preference lookup
-    private static final String BUTTON_ENABLE_DISABLE_BC_SMS_KEY =
-        "button_enable_disable_cell_bc_sms";
-    private static final String LIST_LANGUAGE_KEY =
-        "list_language";
-    private static final String BUTTON_EMERGENCY_BROADCAST_KEY =
-        "button_emergency_broadcast";
-    private static final String BUTTON_ADMINISTRATIVE_KEY =
-        "button_administrative";
-    private static final String BUTTON_MAINTENANCE_KEY =
-        "button_maintenance";
-    private static final String BUTTON_LOCAL_WEATHER_KEY =
-        "button_local_weather";
-    private static final String BUTTON_ATR_KEY =
-        "button_atr";
-    private static final String BUTTON_LAFS_KEY =
-        "button_lafs";
-    private static final String BUTTON_RESTAURANTS_KEY =
-        "button_restaurants";
-    private static final String BUTTON_LODGINGS_KEY =
-        "button_lodgings";
-    private static final String BUTTON_RETAIL_DIRECTORY_KEY =
-        "button_retail_directory";
-    private static final String BUTTON_ADVERTISEMENTS_KEY =
-        "button_advertisements";
-    private static final String BUTTON_STOCK_QUOTES_KEY =
-        "button_stock_quotes";
-    private static final String BUTTON_EO_KEY =
-        "button_eo";
-    private static final String BUTTON_MHH_KEY =
-        "button_mhh";
-    private static final String BUTTON_TECHNOLOGY_NEWS_KEY =
-        "button_technology_news";
-    private static final String BUTTON_MULTI_CATEGORY_KEY =
-        "button_multi_category";
-
-    private static final String BUTTON_LOCAL_GENERAL_NEWS_KEY =
-        "button_local_general_news";
-    private static final String BUTTON_REGIONAL_GENERAL_NEWS_KEY =
-        "button_regional_general_news";
-    private static final String BUTTON_NATIONAL_GENERAL_NEWS_KEY =
-        "button_national_general_news";
-    private static final String BUTTON_INTERNATIONAL_GENERAL_NEWS_KEY =
-        "button_international_general_news";
-
-    private static final String BUTTON_LOCAL_BF_NEWS_KEY =
-        "button_local_bf_news";
-    private static final String BUTTON_REGIONAL_BF_NEWS_KEY =
-        "button_regional_bf_news";
-    private static final String BUTTON_NATIONAL_BF_NEWS_KEY =
-        "button_national_bf_news";
-    private static final String BUTTON_INTERNATIONAL_BF_NEWS_KEY =
-        "button_international_bf_news";
-
-    private static final String BUTTON_LOCAL_SPORTS_NEWS_KEY =
-        "button_local_sports_news";
-    private static final String BUTTON_REGIONAL_SPORTS_NEWS_KEY =
-        "button_regional_sports_news";
-    private static final String BUTTON_NATIONAL_SPORTS_NEWS_KEY =
-        "button_national_sports_news";
-    private static final String BUTTON_INTERNATIONAL_SPORTS_NEWS_KEY =
-        "button_international_sports_news";
-
-    private static final String BUTTON_LOCAL_ENTERTAINMENT_NEWS_KEY =
-        "button_local_entertainment_news";
-    private static final String BUTTON_REGIONAL_ENTERTAINMENT_NEWS_KEY =
-        "button_regional_entertainment_news";
-    private static final String BUTTON_NATIONAL_ENTERTAINMENT_NEWS_KEY =
-        "button_national_entertainment_news";
-    private static final String BUTTON_INTERNATIONAL_ENTERTAINMENT_NEWS_KEY =
-        "button_international_entertainment_news";
-
-    //Class constants
-    //These values are related to the C structs. See the comments in  method
-    //setCbSmsConfig for more information.
-    private static final int NO_OF_SERVICE_CATEGORIES = 31;
-    private static final int NO_OF_INTS_STRUCT_1 = 3;
-    private static final int MAX_LENGTH_RESULT = NO_OF_SERVICE_CATEGORIES * NO_OF_INTS_STRUCT_1 + 1;
-    //Handler keys
-    private static final int MESSAGE_ACTIVATE_CB_SMS = 1;
-    private static final int MESSAGE_GET_CB_SMS_CONFIG = 2;
-    private static final int MESSAGE_SET_CB_SMS_CONFIG = 3;
-
-    //UI objects
-    private CheckBoxPreference mButtonBcSms;
-
-    private ListPreference mListLanguage;
-
-    private CheckBoxPreference mButtonEmergencyBroadcast;
-    private CheckBoxPreference mButtonAdministrative;
-    private CheckBoxPreference mButtonMaintenance;
-    private CheckBoxPreference mButtonLocalWeather;
-    private CheckBoxPreference mButtonAtr;
-    private CheckBoxPreference mButtonLafs;
-    private CheckBoxPreference mButtonRestaurants;
-    private CheckBoxPreference mButtonLodgings;
-    private CheckBoxPreference mButtonRetailDirectory;
-    private CheckBoxPreference mButtonAdvertisements;
-    private CheckBoxPreference mButtonStockQuotes;
-    private CheckBoxPreference mButtonEo;
-    private CheckBoxPreference mButtonMhh;
-    private CheckBoxPreference mButtonTechnologyNews;
-    private CheckBoxPreference mButtonMultiCategory;
-
-    private CheckBoxPreference mButtonLocal1;
-    private CheckBoxPreference mButtonRegional1;
-    private CheckBoxPreference mButtonNational1;
-    private CheckBoxPreference mButtonInternational1;
-
-    private CheckBoxPreference mButtonLocal2;
-    private CheckBoxPreference mButtonRegional2;
-    private CheckBoxPreference mButtonNational2;
-    private CheckBoxPreference mButtonInternational2;
-
-    private CheckBoxPreference mButtonLocal3;
-    private CheckBoxPreference mButtonRegional3;
-    private CheckBoxPreference mButtonNational3;
-    private CheckBoxPreference mButtonInternational3;
-
-    private CheckBoxPreference mButtonLocal4;
-    private CheckBoxPreference mButtonRegional4;
-    private CheckBoxPreference mButtonNational4;
-    private CheckBoxPreference mButtonInternational4;
-
-
-    //Member variables
-    private Phone mPhone;
-    private MyHandler mHandler;
-
-    /**
-     * Invoked on each preference click in this hierarchy, overrides
-     * PreferenceActivity's implementation.  Used to make sure we track the
-     * preference click events.
-     */
-    @Override
-    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
-            Preference preference) {
-        if (preference == mButtonBcSms) {
-            if (DBG) Log.d(LOG_TAG, "onPreferenceTreeClick: preference == mButtonBcSms.");
-            if(mButtonBcSms.isChecked()) {
-                mPhone.activateCellBroadcastSms(RILConstants.CDMA_CELL_BROADCAST_SMS_ENABLED,
-                        Message.obtain(mHandler, MESSAGE_ACTIVATE_CB_SMS));
-                android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.CDMA_CELL_BROADCAST_SMS,
-                        RILConstants.CDMA_CELL_BROADCAST_SMS_ENABLED);
-                enableDisableAllCbConfigButtons(true);
-            } else {
-                mPhone.activateCellBroadcastSms(RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED,
-                        Message.obtain(mHandler, MESSAGE_ACTIVATE_CB_SMS));
-                android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.CDMA_CELL_BROADCAST_SMS,
-                        RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
-                enableDisableAllCbConfigButtons(false);
-            }
-        } else if (preference == mListLanguage) {
-            //Do nothing here, because this click will be handled in onPreferenceChange
-        } else if (preference == mButtonEmergencyBroadcast) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonEmergencyBroadcast.isChecked(), 1);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(
-                    mButtonEmergencyBroadcast.isChecked(), 1);
-        } else if (preference == mButtonAdministrative) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonAdministrative.isChecked(), 2);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonAdministrative.isChecked(), 2);
-        } else if (preference == mButtonMaintenance) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonMaintenance.isChecked(), 3);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonMaintenance.isChecked(), 3);
-        } else if (preference == mButtonLocalWeather) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonLocalWeather.isChecked(), 20);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLocalWeather.isChecked(), 20);
-        } else if (preference == mButtonAtr) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonAtr.isChecked(), 21);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonAtr.isChecked(), 21);
-        } else if (preference == mButtonLafs) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLafs.isChecked(), 22);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLafs.isChecked(), 22);
-        } else if (preference == mButtonRestaurants) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRestaurants.isChecked(), 23);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRestaurants.isChecked(), 23);
-        } else if (preference == mButtonLodgings) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLodgings.isChecked(), 24);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLodgings.isChecked(), 24);
-        } else if (preference == mButtonRetailDirectory) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRetailDirectory.isChecked(), 25);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRetailDirectory.isChecked(), 25);
-        } else if (preference == mButtonAdvertisements) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonAdvertisements.isChecked(), 26);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonAdvertisements.isChecked(), 26);
-        } else if (preference == mButtonStockQuotes) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonStockQuotes.isChecked(), 27);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonStockQuotes.isChecked(), 27);
-        } else if (preference == mButtonEo) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonEo.isChecked(), 28);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonEo.isChecked(), 28);
-        } else if (preference == mButtonMhh) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonMhh.isChecked(), 29);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonMhh.isChecked(), 29);
-        } else if (preference == mButtonTechnologyNews) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonTechnologyNews.isChecked(), 30);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonTechnologyNews.isChecked(), 30);
-        } else if (preference == mButtonMultiCategory) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonMultiCategory.isChecked(), 31);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonMultiCategory.isChecked(), 31);
-        } else if (preference == mButtonLocal1) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLocal1.isChecked(), 4);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLocal1.isChecked(), 4);
-        } else if (preference == mButtonRegional1) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRegional1.isChecked(), 5);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRegional1.isChecked(), 5);
-        } else if (preference == mButtonNational1) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonNational1.isChecked(), 6);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonNational1.isChecked(), 6);
-        } else if (preference == mButtonInternational1) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonInternational1.isChecked(), 7);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonInternational1.isChecked(), 7);
-        } else if (preference == mButtonLocal2) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLocal2.isChecked(), 8);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLocal2.isChecked(), 8);
-        } else if (preference == mButtonRegional2) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRegional2.isChecked(), 9);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRegional2.isChecked(), 9);
-        } else if (preference == mButtonNational2) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonNational2.isChecked(), 10);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonNational2.isChecked(), 10);
-        } else if (preference == mButtonInternational2) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonInternational2.isChecked(), 11);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonInternational2.isChecked(), 11);
-        } else if (preference == mButtonLocal3) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLocal3.isChecked(), 12);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLocal3.isChecked(), 12);
-        } else if (preference == mButtonRegional3) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRegional3.isChecked(), 13);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRegional3.isChecked(), 13);
-        } else if (preference == mButtonNational3) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonNational3.isChecked(), 14);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonNational3.isChecked(), 14);
-        } else if (preference == mButtonInternational3) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonInternational3.isChecked(), 15);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonInternational3.isChecked(), 15);
-        } else if (preference == mButtonLocal4) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(mButtonLocal4.isChecked(), 16);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonLocal4.isChecked(), 16);
-        } else if (preference == mButtonRegional4) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonRegional4.isChecked(), 17);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonRegional4.isChecked(), 17);
-        } else if (preference == mButtonNational4) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonNational4.isChecked(), 18);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonNational4.isChecked(), 18);
-        } else if (preference == mButtonInternational4) {
-            CellBroadcastSmsConfig.setConfigDataCompleteBSelected(
-                    mButtonInternational4.isChecked(), 19);
-            CellBroadcastSmsConfig.setCbSmsBSelectedValue(mButtonInternational4.isChecked(), 19);
-        } else {
-            preferenceScreen.setEnabled(false);
-            return false;
-        }
-
-        return true;
-    }
-
-    public boolean onPreferenceChange(Preference preference, Object objValue) {
-        if (preference == mListLanguage) {
-            // set the new language to the array which will be transmitted later
-            CellBroadcastSmsConfig.setConfigDataCompleteLanguage(
-                    mListLanguage.findIndexOfValue((String) objValue) + 1);
-        }
-
-        // always let the preference setting proceed.
-        return true;
-    }
-
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        addPreferencesFromResource(R.xml.cell_broadcast_sms);
-
-        mPhone = PhoneGlobals.getPhone();
-        mHandler = new MyHandler();
-
-        PreferenceScreen prefSet = getPreferenceScreen();
-
-        mButtonBcSms = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_ENABLE_DISABLE_BC_SMS_KEY);
-        mListLanguage = (ListPreference) prefSet.findPreference(
-                LIST_LANGUAGE_KEY);
-        // set the listener for the language list preference
-        mListLanguage.setOnPreferenceChangeListener(this);
-        mButtonEmergencyBroadcast = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_EMERGENCY_BROADCAST_KEY);
-        mButtonAdministrative = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_ADMINISTRATIVE_KEY);
-        mButtonMaintenance = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_MAINTENANCE_KEY);
-        mButtonLocalWeather = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LOCAL_WEATHER_KEY);
-        mButtonAtr = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_ATR_KEY);
-        mButtonLafs = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LAFS_KEY);
-        mButtonRestaurants = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_RESTAURANTS_KEY);
-        mButtonLodgings = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LODGINGS_KEY);
-        mButtonRetailDirectory = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_RETAIL_DIRECTORY_KEY);
-        mButtonAdvertisements = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_ADVERTISEMENTS_KEY);
-        mButtonStockQuotes = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_STOCK_QUOTES_KEY);
-        mButtonEo = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_EO_KEY);
-        mButtonMhh = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_MHH_KEY);
-        mButtonTechnologyNews = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_TECHNOLOGY_NEWS_KEY);
-        mButtonMultiCategory = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_MULTI_CATEGORY_KEY);
-
-        mButtonLocal1 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LOCAL_GENERAL_NEWS_KEY);
-        mButtonRegional1 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_REGIONAL_GENERAL_NEWS_KEY);
-        mButtonNational1 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_NATIONAL_GENERAL_NEWS_KEY);
-        mButtonInternational1 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_INTERNATIONAL_GENERAL_NEWS_KEY);
-
-        mButtonLocal2 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LOCAL_BF_NEWS_KEY);
-        mButtonRegional2 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_REGIONAL_BF_NEWS_KEY);
-        mButtonNational2 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_NATIONAL_BF_NEWS_KEY);
-        mButtonInternational2 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_INTERNATIONAL_BF_NEWS_KEY);
-
-        mButtonLocal3 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LOCAL_SPORTS_NEWS_KEY);
-        mButtonRegional3 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_REGIONAL_SPORTS_NEWS_KEY);
-        mButtonNational3 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_NATIONAL_SPORTS_NEWS_KEY);
-        mButtonInternational3 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_INTERNATIONAL_SPORTS_NEWS_KEY);
-
-        mButtonLocal4 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_LOCAL_ENTERTAINMENT_NEWS_KEY);
-        mButtonRegional4 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_REGIONAL_ENTERTAINMENT_NEWS_KEY);
-        mButtonNational4 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_NATIONAL_ENTERTAINMENT_NEWS_KEY);
-        mButtonInternational4 = (CheckBoxPreference) prefSet.findPreference(
-                BUTTON_INTERNATIONAL_ENTERTAINMENT_NEWS_KEY);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-
-        getPreferenceScreen().setEnabled(true);
-
-        int settingCbSms = android.provider.Settings.Global.getInt(
-                mPhone.getContext().getContentResolver(),
-                android.provider.Settings.Global.CDMA_CELL_BROADCAST_SMS,
-                RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
-        mButtonBcSms.setChecked(settingCbSms == RILConstants.CDMA_CELL_BROADCAST_SMS_ENABLED);
-
-        if(mButtonBcSms.isChecked()) {
-            enableDisableAllCbConfigButtons(true);
-        } else {
-            enableDisableAllCbConfigButtons(false);
-        }
-
-        mPhone.getCellBroadcastSmsConfig(Message.obtain(mHandler, MESSAGE_GET_CB_SMS_CONFIG));
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-
-            CellBroadcastSmsConfig.setCbSmsNoOfStructs(NO_OF_SERVICE_CATEGORIES);
-
-            mPhone.setCellBroadcastSmsConfig(CellBroadcastSmsConfig.getCbSmsAllValues(),
-                    Message.obtain(mHandler, MESSAGE_SET_CB_SMS_CONFIG));
-        }
-
-    private void enableDisableAllCbConfigButtons(boolean enable) {
-        mButtonEmergencyBroadcast.setEnabled(enable);
-        mListLanguage.setEnabled(enable);
-        mButtonAdministrative.setEnabled(enable);
-        mButtonMaintenance.setEnabled(enable);
-        mButtonLocalWeather.setEnabled(enable);
-        mButtonAtr.setEnabled(enable);
-        mButtonLafs.setEnabled(enable);
-        mButtonRestaurants.setEnabled(enable);
-        mButtonLodgings.setEnabled(enable);
-        mButtonRetailDirectory.setEnabled(enable);
-        mButtonAdvertisements.setEnabled(enable);
-        mButtonStockQuotes.setEnabled(enable);
-        mButtonEo.setEnabled(enable);
-        mButtonMhh.setEnabled(enable);
-        mButtonTechnologyNews.setEnabled(enable);
-        mButtonMultiCategory.setEnabled(enable);
-
-        mButtonLocal1.setEnabled(enable);
-        mButtonRegional1.setEnabled(enable);
-        mButtonNational1.setEnabled(enable);
-        mButtonInternational1.setEnabled(enable);
-
-        mButtonLocal2.setEnabled(enable);
-        mButtonRegional2.setEnabled(enable);
-        mButtonNational2.setEnabled(enable);
-        mButtonInternational2.setEnabled(enable);
-
-        mButtonLocal3.setEnabled(enable);
-        mButtonRegional3.setEnabled(enable);
-        mButtonNational3.setEnabled(enable);
-        mButtonInternational3.setEnabled(enable);
-
-        mButtonLocal4.setEnabled(enable);
-        mButtonRegional4.setEnabled(enable);
-        mButtonNational4.setEnabled(enable);
-        mButtonInternational4.setEnabled(enable);
-    }
-
-    private void setAllCbConfigButtons(int[] configArray) {
-        //These buttons are in a well defined sequence. If you want to change it,
-        //be sure to map the buttons to their corresponding slot in the configArray !
-        mButtonEmergencyBroadcast.setChecked(configArray[1] != 0);
-        //subtract 1, because the values are handled in an array which starts with 0 and not with 1
-        mListLanguage.setValueIndex(CellBroadcastSmsConfig.getConfigDataLanguage() - 1);
-        mButtonAdministrative.setChecked(configArray[2] != 0);
-        mButtonMaintenance.setChecked(configArray[3] != 0);
-        mButtonLocalWeather.setChecked(configArray[20] != 0);
-        mButtonAtr.setChecked(configArray[21] != 0);
-        mButtonLafs.setChecked(configArray[22] != 0);
-        mButtonRestaurants.setChecked(configArray[23] != 0);
-        mButtonLodgings.setChecked(configArray[24] != 0);
-        mButtonRetailDirectory.setChecked(configArray[25] != 0);
-        mButtonAdvertisements.setChecked(configArray[26] != 0);
-        mButtonStockQuotes.setChecked(configArray[27] != 0);
-        mButtonEo.setChecked(configArray[28] != 0);
-        mButtonMhh.setChecked(configArray[29] != 0);
-        mButtonTechnologyNews.setChecked(configArray[30] != 0);
-        mButtonMultiCategory.setChecked(configArray[31] != 0);
-
-        mButtonLocal1.setChecked(configArray[4] != 0);
-        mButtonRegional1.setChecked(configArray[5] != 0);
-        mButtonNational1.setChecked(configArray[6] != 0);
-        mButtonInternational1.setChecked(configArray[7] != 0);
-
-        mButtonLocal2.setChecked(configArray[8] != 0);
-        mButtonRegional2.setChecked(configArray[9] != 0);
-        mButtonNational2.setChecked(configArray[10] != 0);
-        mButtonInternational2.setChecked(configArray[11] != 0);
-
-        mButtonLocal3.setChecked(configArray[12] != 0);
-        mButtonRegional3.setChecked(configArray[13] != 0);
-        mButtonNational3.setChecked(configArray[14] != 0);
-        mButtonInternational3.setChecked(configArray[15] != 0);
-
-        mButtonLocal4.setChecked(configArray[16] != 0);
-        mButtonRegional4.setChecked(configArray[17] != 0);
-        mButtonNational4.setChecked(configArray[18] != 0);
-        mButtonInternational4.setChecked(configArray[19] != 0);
-    }
-
-    private class MyHandler extends Handler {
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-            case MESSAGE_ACTIVATE_CB_SMS:
-                //Only a log message here, because the received response is always null
-                if (DBG) Log.d(LOG_TAG, "Cell Broadcast SMS enabled/disabled.");
-                break;
-            case MESSAGE_GET_CB_SMS_CONFIG:
-                int result[] = (int[])((AsyncResult)msg.obj).result;
-
-                // check if the actual service categoties table size on the NV is '0'
-                if (result[0] == 0) {
-                    result[0] = NO_OF_SERVICE_CATEGORIES;
-
-                    mButtonBcSms.setChecked(false);
-                    mPhone.activateCellBroadcastSms(RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED,
-                            Message.obtain(mHandler, MESSAGE_ACTIVATE_CB_SMS));
-                    android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                            android.provider.Settings.Global.CDMA_CELL_BROADCAST_SMS,
-                            RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
-                    enableDisableAllCbConfigButtons(false);
-                }
-
-                CellBroadcastSmsConfig.setCbSmsConfig(result);
-                setAllCbConfigButtons(CellBroadcastSmsConfig.getCbSmsBselectedValues());
-
-                break;
-            case MESSAGE_SET_CB_SMS_CONFIG:
-                //Only a log message here, because the received response is always null
-                if (DBG) Log.d(LOG_TAG, "Set Cell Broadcast SMS values.");
-                break;
-            default:
-                Log.e(LOG_TAG, "Error! Unhandled message in CellBroadcastSms.java. Message: "
-                        + msg.what);
-            break;
-            }
-        }
-    }
-
-    private static final class CellBroadcastSmsConfig {
-
-        //The values in this array are stored in a particular order. This order
-        //is calculated in the setCbSmsConfig method of this class.
-        //For more information see comments below...
-        //NO_OF_SERVICE_CATEGORIES +1 is used, because we will leave the first array entry 0
-        private static int mBSelected[] = new int[NO_OF_SERVICE_CATEGORIES + 1];
-        private static int mConfigDataComplete[] = new int[MAX_LENGTH_RESULT];
-
-        private static void setCbSmsConfig(int[] configData) {
-            if(configData == null) {
-                Log.e(LOG_TAG, "Error! No cell broadcast service categories returned.");
-                return;
-            }
-
-            if(configData[0] > MAX_LENGTH_RESULT) {
-                Log.e(LOG_TAG, "Error! Wrong number of service categories returned from RIL");
-                return;
-            }
-
-            //The required config values for broadcast SMS are stored in a C struct:
-            //
-            //  typedef struct {
-            //      int size;
-            //      RIL_CDMA_BcServiceInfo *entries;
-            //  } RIL_CDMA_BcSMSConfig;
-            //
-            //  typedef struct {
-            //      int uServiceCategory;
-            //      int uLanguage;
-            //      unsigned char bSelected;
-            //  } RIL_CDMA_BcServiceInfo;
-            //
-            // This means, that we have to ignore the first value and check every
-            // 3rd value starting with the 2nd of all. This value indicates, where we
-            // will store the appropriate bSelected value, which is 2 values behind it.
-            for(int i = 1; i < configData.length; i += NO_OF_INTS_STRUCT_1) {
-                mBSelected[configData[i]] = configData[i +2];
-            }
-
-            //Store all values in an extra array
-            mConfigDataComplete = configData;
-        }
-
-        private static void setCbSmsBSelectedValue(boolean value, int pos) {
-            if(pos < mBSelected.length) {
-                mBSelected[pos] = (value == true ? 1 : 0);
-            } else {
-                Log.e(LOG_TAG,"Error! Invalid value position.");
-            }
-        }
-
-        private static int[] getCbSmsBselectedValues() {
-            return(mBSelected);
-        }
-
-        // TODO: Change the return value to a RIL_BroadcastSMSConfig
-        private static int[] getCbSmsAllValues() {
-            return(mConfigDataComplete);
-        }
-
-        private static void setCbSmsNoOfStructs(int value) {
-            //Sets the size parameter, which contains the number of structs
-            //that will be transmitted
-            mConfigDataComplete[0] = value;
-        }
-
-        private static void setConfigDataCompleteBSelected(boolean value, int serviceCategory) {
-            //Sets the bSelected value for a specific serviceCategory
-            for(int i = 1; i < mConfigDataComplete.length; i += NO_OF_INTS_STRUCT_1) {
-                if(mConfigDataComplete[i] == serviceCategory) {
-                    mConfigDataComplete[i + 2] = value == true ? 1 : 0;
-                    break;
-                }
-            }
-        }
-
-        private static void setConfigDataCompleteLanguage(int language) {
-            //It is only possible to set the same language for all entries
-            for(int i = 2; i < mConfigDataComplete.length; i += NO_OF_INTS_STRUCT_1) {
-                mConfigDataComplete[i] = language;
-            }
-        }
-
-        private static int getConfigDataLanguage() {
-            int language = mConfigDataComplete[2];
-            //2 is the language value of the first entry
-            //It is only possible to set the same language for all entries
-            if (language < 1 || language > 7) {
-                Log.e(LOG_TAG, "Error! Wrong language returned from RIL...defaulting to 1, english");
-                return 1;
-            }
-            else {
-                return language;
-            }
-        }
-    }
-}