private void setScreenState() {
   if (isAirplaneModeOn()) {
     mNetworkSetting.setEnabled(false);
     mCallSetting.setEnabled(false);
     mEnablerPreference.setEnabled(false);
     mCDMACheckbox.setChecked(false);
     mGSMCheckbox.setChecked(false);
   } else {
     mNetworkSetting.setEnabled(isSubActivated());
     mCallSetting.setEnabled(isSubActivated());
     mEnablerPreference.setEnabled(hasCard());
     mCDMACheckbox.setEnabled(mEnablerPreference.isCard1Active());
     mGSMCheckbox.setEnabled(mEnablerPreference.isCard1Active());
     for (int i = 0; i < MAX_SUBSCRIPTIONS; i++) {
       Subscription sub = mSubscriptionManager.getCurrentSubscription(i);
       Log.d(LOG_TAG, "kangta" + sub.toString());
       if (sub.subId == 0) {
         mCDMACheckbox.setChecked(
             ((sub.subStatus == Subscription.SubscriptionStatus.SUB_ACTIVATED && sub.slotId == 0)
                 ? true
                 : false));
       } else if (sub.subId == 1) {
         mGSMCheckbox.setChecked(
             ((sub.subStatus == Subscription.SubscriptionStatus.SUB_ACTIVATED && sub.slotId == 0)
                 ? true
                 : false));
       }
     }
   }
 }
 @Override
 protected void onResume() {
   super.onResume();
   mSim1Setting.setEnabled(PhoneFactory.isCardReady(0));
   mSim2Setting.setEnabled(PhoneFactory.isCardReady(1));
   mIpDailingOn.setChecked(mIpDailingUtils.getIsIpDial());
   mIpDailingPreference.setEnabled(mIpDailingOn.isChecked());
   mGsmButtonCallVibrate.setChecked(
       (defaultSharedpref == null ? true : defaultSharedpref.getBoolean(KEY_CALL_VIBRATE, true)));
 }
  /**
   * 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) {
    /** TODO: Refactor and get rid of the if's using subclasses */
    if (mGsmUmtsOptions != null && mGsmUmtsOptions.preferenceTreeClick(preference) == true) {
      return true;
    } else if (mCdmaOptions != null && mCdmaOptions.preferenceTreeClick(preference) == true) {
      if (Boolean.parseBoolean(SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {

        mClickedPreference = preference;

        // In ECM mode launch ECM app dialog
        startActivityForResult(
            new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
            REQUEST_CODE_EXIT_ECM);
      }
      return true;
    } else if (preference == mButtonPreferredNetworkMode) {
      // displays the value taken from the Settings.System
      int settingsNetworkMode = getPreferredNetworkMode();
      mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
      return true;
    } else {
      // if the button is anything but the simple toggle preference,
      // we'll need to disable all preferences to reject all click
      // events until the sub-activity's UI comes up.
      preferenceScreen.setEnabled(false);
      // Let the intents be launched by the Preference manager
      return false;
    }
  }
 @Override
 public boolean onPreferenceChange(Preference preference, Object newValue) {
   if (preference == mIpDailingOn) {
     mIpDailingPreference.setEnabled(!mIpDailingOn.isChecked());
     mIpDailingUtils.setIsIpDialer(!mIpDailingOn.isChecked());
   }
   return true;
 }
 private void handleGetCellBroadcastConfigResponse(SmsBroadcastConfigInfo[] infoList) {
   onFinished(mLanguagePreference, true);
   onFinished(mAddChannelPreference, true);
   if (infoList == null || infoList.length == 0) {
     onError(mLanguagePreference, EXCEPTION_ERROR);
     mLanguagePreference.setEnabled(false);
     mAddChannelPreference.setEnabled(false);
   } else {
     mList = new ArrayList<SmsBroadcastConfigInfo>(infoList.length);
     for (int i = 0; i < infoList.length; i++) {
       mList.add(infoList[i]);
     }
     if (mCellBroadcastAsyncTask != null) {
       mCellBroadcastAsyncTask.cancel(true);
       mCellBroadcastAsyncTask = null;
     }
     mCellBroadcastAsyncTask = new CellBroadcastAsyncTask();
     mCellBroadcastAsyncTask.execute();
   }
 }
 private void updateVPNSettingState() {
   String toggleable =
       Settings.Global.getString(
           WirelessSettings.this.getContentResolver(),
           Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
   // Manually set dependencies for Wifi when not toggleable.
   if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIFI)) {
     if (mVPNSettingPreference != null) {
       mVPNSettingPreference.setEnabled(isAirplaneOff());
     }
   }
 }
 // SPRD: add for <Bug#255679> setenable false when no sim card start
 private void updateMobileSettingsState() {
   // SPRD: modify for bug306910
   Activity activity = getActivity();
   if (activity != null && !Utils.isWifiOnly(activity)) {
     boolean isSimReady = false;
     int phoneCount = TelephonyManager.getPhoneCount();
     for (int i = 0; i < phoneCount; i++) {
       TelephonyManager tm =
           (TelephonyManager)
               getSystemService(TelephonyManager.getServiceName(Context.TELEPHONY_SERVICE, i));
       if (tm.hasIccCard() && isStandby(i)) {
         isSimReady = tm.getSimState() == TelephonyManager.SIM_STATE_READY;
         break;
       }
     }
     if (mMobileNetworkPreference != null) {
       if (!isSimReady || !isAirplaneOff()) {
         mMobileNetworkPreference.setEnabled(false);
       } else {
         mMobileNetworkPreference.setEnabled(true);
       }
     }
   }
 }
 private void updateStatus(boolean statue) {
   mLanguagePreference.setEnabled(statue);
   mAddChannelPreference.setEnabled(statue);
   mChannelListPreference.setEnabled(statue);
 }
  private void updateServicesPreferences() {
    // Since services category is auto generated we have to do a pass
    // to generate it since services can come and go and then based on
    // the global accessibility state to decided whether it is enabled.

    // Generate.
    mServicesCategory.removeAll();

    AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(getActivity());

    List<AccessibilityServiceInfo> installedServices =
        accessibilityManager.getInstalledAccessibilityServiceList();
    Set<ComponentName> enabledServices =
        AccessibilityUtils.getEnabledServicesFromSettings(getActivity());
    List<String> permittedServices = mDpm.getPermittedAccessibilityServices(UserHandle.myUserId());
    final boolean accessibilityEnabled =
        Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, 0) == 1;

    for (int i = 0, count = installedServices.size(); i < count; ++i) {
      AccessibilityServiceInfo info = installedServices.get(i);

      PreferenceScreen preference = getPreferenceManager().createPreferenceScreen(getActivity());
      String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();

      ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;
      ComponentName componentName = new ComponentName(serviceInfo.packageName, serviceInfo.name);

      preference.setKey(componentName.flattenToString());

      preference.setTitle(title);
      final boolean serviceEnabled =
          accessibilityEnabled && enabledServices.contains(componentName);
      String serviceEnabledString;
      if (serviceEnabled) {
        serviceEnabledString = getString(R.string.accessibility_feature_state_on);
      } else {
        serviceEnabledString = getString(R.string.accessibility_feature_state_off);
      }

      // Disable all accessibility services that are not permitted.
      String packageName = serviceInfo.packageName;
      boolean serviceAllowed = permittedServices == null || permittedServices.contains(packageName);
      preference.setEnabled(serviceAllowed || serviceEnabled);

      String summaryString;
      if (serviceAllowed) {
        summaryString = serviceEnabledString;
      } else {
        summaryString = getString(R.string.accessibility_feature_or_input_method_not_allowed);
      }
      preference.setSummary(summaryString);

      preference.setOrder(i);
      preference.setFragment(ToggleAccessibilityServicePreferenceFragment.class.getName());
      preference.setPersistent(true);

      Bundle extras = preference.getExtras();
      extras.putString(EXTRA_PREFERENCE_KEY, preference.getKey());
      extras.putBoolean(EXTRA_CHECKED, serviceEnabled);
      extras.putString(EXTRA_TITLE, title);

      String description = info.loadDescription(getPackageManager());
      if (TextUtils.isEmpty(description)) {
        description = getString(R.string.accessibility_service_default_description);
      }
      extras.putString(EXTRA_SUMMARY, description);

      String settingsClassName = info.getSettingsActivityName();
      if (!TextUtils.isEmpty(settingsClassName)) {
        extras.putString(
            EXTRA_SETTINGS_TITLE, getString(R.string.accessibility_menu_item_settings));
        extras.putString(
            EXTRA_SETTINGS_COMPONENT_NAME,
            new ComponentName(info.getResolveInfo().serviceInfo.packageName, settingsClassName)
                .flattenToString());
      }

      extras.putParcelable(EXTRA_COMPONENT_NAME, componentName);

      mServicesCategory.addPreference(preference);
    }

    if (mServicesCategory.getPreferenceCount() == 0) {
      if (mNoServicesMessagePreference == null) {
        mNoServicesMessagePreference = new Preference(getActivity());
        mNoServicesMessagePreference.setPersistent(false);
        mNoServicesMessagePreference.setLayoutResource(R.layout.text_description_preference);
        mNoServicesMessagePreference.setSelectable(false);
        mNoServicesMessagePreference.setSummary(
            getString(R.string.accessibility_no_services_installed));
      }
      mServicesCategory.addPreference(mNoServicesMessagePreference);
    }
  }
Esempio n. 10
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Save location so we can tell when it changes
    saveLocation = ManagePreferences.location();

    // Build preference tree
    addPreferencesFromResource(R.xml.preferences);

    // Set preferences initialized flag
    ManagePreferences.setInitialized(true);

    // Set up the two enable components preferences
    Preference pref = findPreference(getString(R.string.pref_enabled_key));
    pref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean enabled = (Boolean) newValue;
            String enableStr = (enabled ? ManagePreferences.enableMsgType() : "");
            SmsPopupUtils.enableSMSPopup(SmsPopupConfigActivity.this, enableStr);
            CadPageWidget.update(SmsPopupConfigActivity.this);
            return true;
          }
        });
    pref = findPreference(getString(R.string.pref_enable_msg_type_key));
    pref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            SmsPopupUtils.enableSMSPopup(SmsPopupConfigActivity.this, (String) newValue);
            return true;
          }
        });

    // Two other preferences should update the widget display
    pref = findPreference(getString(R.string.pref_notif_enabled_key));
    pref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            CadPageWidget.update(SmsPopupConfigActivity.this);
            return true;
          }
        });
    pref = findPreference(getString(R.string.pref_popup_enabled_key));
    pref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            CadPageWidget.update(SmsPopupConfigActivity.this);
            return true;
          }
        });

    // Set the version number in the about dialog preference
    final DialogPreference aboutPref =
        (DialogPreference) findPreference(getString(R.string.pref_about_key));
    aboutPref.setDialogTitle(CadPageApplication.getNameVersion());
    aboutPref.setDialogLayoutResource(R.layout.about);

    // Set up the payment status tracking screens
    Preference donate = (Preference) findPreference(getString(R.string.pref_payment_status_key));
    MainDonateEvent.instance().setPreference(this, donate);

    // Set up the two location preference screens
    Preference descPreference = findPreference(getString(R.string.pref_loc_desc_key));
    LocationManager locMgr = new LocationManager(this, descPreference);
    setupLocationMenu(R.string.pref_location_tree_key, false, locMgr);
    setupLocationMenu(R.string.pref_location_mtree_key, true, locMgr);
    locMgr.updateDisplay();

    // The location, filter override checkbox, and filter edit box have a complex
    // relationship.  The override checkbox is enabled only when the location parser
    // has a default parser to override.  If it doesn't then it is disabled by forced
    // to true.  The filter is enabled when the override box is checked, whether it
    // is enabled or not.  We have to do this ourselves because the Android dependency
    // logic considers the value to be false if it isn't enabled.

    // On top of all that, the general alert box is enabled only if the current
    // parser has a default filter OR a user filter has been specified

    genAlertPref = (CheckBoxPreference) findPreference(getString(R.string.pref_gen_alert_key));
    filterPref =
        (net.anei.cadpage.preferences.EditTextPreference)
            findPreference(getString(R.string.pref_filter_key));
    filterPref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            String filter = (String) newValue;
            genAlertPref.setEnabled(filter.length() > 1 || parserFilter.length() > 0);
            return true;
          }
        });
    filterPref.setDialogClosedListener(
        new OnDialogClosedListener() {
          @Override
          public void onDialogClosed(boolean positiveResult) {
            if (positiveResult) {
              if ("General".equals(saveLocation)) {
                DonationManager.instance().reset();
                MainDonateEvent.instance().refreshStatus();
              }
            }
          }
        });

    overrideFilterPref =
        (CheckBoxPreference) findPreference(getString(R.string.pref_override_filter_key));
    filterPref.setEnabled(overrideFilterPref.isChecked());
    overrideFilterPref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            filterPref.setEnabled((Boolean) newValue);
            return true;
          }
        });

    adjustLocationChange(ManagePreferences.location(), false);
    locMgr.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            adjustLocationChange((String) newValue, true);
            return true;
          }
        });

    // Have to play some games with the override default settings
    // If the override defaults is turned on, enable the default city and state items
    // If it is turned off, force the default city and state to the current parser
    // defaults and disable them.
    overrideDefaultPref =
        (CheckBoxPreference) findPreference(getString(R.string.pref_override_default_key));
    defCityPref = (EditTextPreference) findPreference(getString(R.string.pref_defcity_key));
    defStatePref = (EditTextPreference) findPreference(getString(R.string.pref_defstate_key));

    overrideDefaultPref =
        (CheckBoxPreference) findPreference(getString(R.string.pref_override_default_key));
    overrideDefaultPref.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean value = ((Boolean) newValue).booleanValue();
            if (!value) {
              defCityPref.setText(parserDefCity);
              defCityPref.refreshSummary();
              defStatePref.setText(parserDefState);
              defStatePref.refreshSummary();
            }
            defCityPref.setEnabled(value);
            defStatePref.setEnabled(value);
            return true;
          }
        });

    // Make an initial call to our preference change listener to set up the
    // correct default summary displays
    overrideDefaultPref
        .getOnPreferenceChangeListener()
        .onPreferenceChange(overrideDefaultPref, ManagePreferences.overrideDefaults());

    // Set up Scanner channel selection preference
    scannerPref = findPreference(getString(R.string.pref_scanner_channel_key));
    if (scannerPref != null) {
      String channel = ManagePreferences.scannerChannel();
      scannerPref.setSummary(channel);
      scannerPref.setOnPreferenceClickListener(
          new OnPreferenceClickListener() {
            @Override
            public boolean onPreferenceClick(Preference pref) {

              // When clicked, ask the scanner app to select a favorite channel
              Intent intent = new Intent("com.scannerradio.intent.action.ACTION_PICK");
              try {
                startActivityForResult(intent, REQ_SCANNER_CHANNEL);
              } catch (ActivityNotFoundException ex) {

                // Scanner radio either isn't installed, or isn't responding to the ACTION_PICK
                // request.  Check the package manager to which, if any, are currently installed
                PackageManager pkgMgr = getPackageManager();
                String pkgName = "com.scannerradio_pro";
                boolean installed = false;
                try {
                  pkgMgr.getPackageInfo(pkgName, 0);
                  installed = true;
                } catch (PackageManager.NameNotFoundException ex2) {
                }
                if (!installed) {
                  pkgName = "com.scannerradio";
                  try {
                    pkgMgr.getPackageInfo(pkgName, 0);
                    installed = true;
                  } catch (PackageManager.NameNotFoundException ex2) {
                  }
                }

                // OK, show a dialog box asking if they want to install Scanner Radio
                final String pkgName2 = pkgName;
                new AlertDialog.Builder(SmsPopupConfigActivity.this)
                    .setMessage(
                        installed ? R.string.scanner_not_current : R.string.scanner_not_installed)
                    .setPositiveButton(
                        R.string.donate_btn_yes,
                        new DialogInterface.OnClickListener() {
                          @Override
                          public void onClick(DialogInterface dialog, int which) {
                            Intent intent =
                                new Intent(
                                    Intent.ACTION_VIEW,
                                    Uri.parse("market://details?id=" + pkgName2));
                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            SmsPopupConfigActivity.this.startActivity(intent);
                          }
                        })
                    .setNegativeButton(R.string.donate_btn_no, null)
                    .create()
                    .show();
              }
              return true;
            }
          });
    }

    // Email developer response
    Preference emailPref = findPreference(getString(R.string.pref_email_key));
    emailPref.setOnPreferenceClickListener(
        new OnPreferenceClickListener() {
          @Override
          public boolean onPreferenceClick(Preference preference) {
            EmailDeveloperActivity.sendGeneralEmail(SmsPopupConfigActivity.this);
            return true;
          }
        });

    // Set up C2DM vendor preference screen
    PreferenceScreen vendorPref =
        (PreferenceScreen) findPreference(getString(R.string.pref_direct_paging_key));
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO
        || DonationManager.instance().isFreeVersion()) {
      vendorPref.setEnabled(false);
    } else {
      VendorManager.instance().setupPreference(this, vendorPref);
    }

    // If free version, switch release notes text to free release notes text
    if (DonationManager.instance().isFreeVersion()) {
      DialogPreference dlg =
          (DialogPreference) findPreference(getString(R.string.pref_releasenotes_key));
      dlg.setDialogMessage(R.string.free_release_text);
    }
    // Add developer dialog preference if appropriate
    DeveloperToolsManager.instance().addPreference(this, getPreferenceScreen());
  }
Esempio n. 11
0
  /**
   * 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.Secure.putInt(
            mPhone.getContext().getContentResolver(),
            android.provider.Settings.Secure.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.Secure.putInt(
            mPhone.getContext().getContentResolver(),
            android.provider.Settings.Secure.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;
  }