// reason=true means get config when init.
 // reason=false means get config after update
 private void getCellBroadcastConfig() {
   MmsLog.d(LOG_TAG, "getCellBroadcastConfig start");
   onStarted(mLanguagePreference, true);
   SmsBroadcastConfigInfo[] info = EncapsulatedSmsManager.getCellBroadcastSmsConfig(mSlotId);
   handleGetCellBroadcastConfigResponse(info);
   MmsLog.d(LOG_TAG, "getCellBroadcastConfig end");
 }
 private void setCellBroadcastConfig(SmsBroadcastConfigInfo[] objectList) {
   MmsLog.d(LOG_TAG, "setCellBroadcastConfig start");
   onStarted(mLanguagePreference, false);
   boolean isSetConfigSuccess =
       EncapsulatedSmsManager.setCellBroadcastSmsConfig(objectList, objectList, mSlotId);
   handleSetCellBroadcastConfigResponse(isSetConfigSuccess);
   MmsLog.d(LOG_TAG, "setCellBroadcastConfig end isSetConfigSuccess =" + isSetConfigSuccess);
 }
 private void handleSetCellBroadcastConfigResponse(boolean isSetConfigSuccess) {
   onFinished(mLanguagePreference, false);
   onFinished(mAddChannelPreference, false);
   if (!isSetConfigSuccess) {
     onError(mLanguagePreference, EXCEPTION_ERROR);
   }
   SmsBroadcastConfigInfo[] info = EncapsulatedSmsManager.getCellBroadcastSmsConfig(mSlotId);
   handleGetCellBroadcastConfigResponse(info);
 }