private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
   switch (NetworkMode) {
     case Phone.NT_MODE_WCDMA_PREF:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_wcdma_perf_summary);
       break;
     case Phone.NT_MODE_GSM_ONLY:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_gsm_only_summary);
       break;
     case Phone.NT_MODE_WCDMA_ONLY:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_wcdma_only_summary);
       break;
     case Phone.NT_MODE_GSM_UMTS:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_gsm_wcdma_summary);
       break;
     case Phone.NT_MODE_CDMA:
       switch (mPhone.getLteOnCdmaMode()) {
         case Phone.LTE_ON_CDMA_TRUE:
           mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_cdma_summary);
           break;
         case Phone.LTE_ON_CDMA_FALSE:
         default:
           mButtonPreferredNetworkMode.setSummary(
               R.string.preferred_network_mode_cdma_evdo_summary);
           break;
       }
       break;
     case Phone.NT_MODE_CDMA_NO_EVDO:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_cdma_only_summary);
       break;
     case Phone.NT_MODE_EVDO_NO_CDMA:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_evdo_only_summary);
       break;
     case Phone.NT_MODE_LTE_ONLY:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_lte_summary);
       break;
     case Phone.NT_MODE_LTE_GSM_WCDMA:
       mButtonPreferredNetworkMode.setSummary(
           R.string.preferred_network_mode_lte_gsm_wcdma_summary);
       break;
     case Phone.NT_MODE_LTE_CDMA_AND_EVDO:
       mButtonPreferredNetworkMode.setSummary(
           R.string.preferred_network_mode_lte_cdma_evdo_summary);
       break;
     case Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_global_summary);
       break;
     case Phone.NT_MODE_GLOBAL:
       mButtonPreferredNetworkMode.setSummary(
           R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary);
       break;
     default:
       mButtonPreferredNetworkMode.setSummary(R.string.preferred_network_mode_global_summary);
   }
 }
Beispiel #2
0
  // SWISTART
  private void updatePhoneType() {
    mPhone = PhoneFactory.getDefaultPhone();
    if (mPhone != null) {
      // NOTE "imei" is the "Device ID" since it represents
      //  the IMEI in GSM and the MEID in CDMA
      if (mPhone.getPhoneName().equals("CDMA")) {
        setSummaryText(KEY_MEID_NUMBER, mPhone.getMeid());
        setSummaryText(KEY_MIN_NUMBER, mPhone.getCdmaMin());
        if (getResources().getBoolean(R.bool.config_msid_enable)) {
          findPreference(KEY_MIN_NUMBER).setTitle(R.string.status_msid_number);
        }
        setSummaryText(KEY_PRL_VERSION, mPhone.getCdmaPrlVersion());
        removePreferenceFromScreen(KEY_IMEI_SV);

        if (mPhone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) {
          // Show ICC ID and IMEI for LTE device
          setSummaryText(KEY_ICC_ID, mPhone.getIccSerialNumber());
          setSummaryText(KEY_IMEI, mPhone.getImei());
        } else {
          // device is not GSM/UMTS, do not display GSM/UMTS features
          // check Null in case no specified preference in overlay xml
          removePreferenceFromScreen(KEY_IMEI);
          removePreferenceFromScreen(KEY_ICC_ID);
        }
      } else {
        setSummaryText(KEY_IMEI, mPhone.getDeviceId());

        setSummaryText(
            KEY_IMEI_SV,
            ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceSoftwareVersion());

        // device is not CDMA, do not display CDMA features
        // check Null in case no specified preference in overlay xml
        removePreferenceFromScreen(KEY_PRL_VERSION);
        removePreferenceFromScreen(KEY_MEID_NUMBER);
        removePreferenceFromScreen(KEY_MIN_NUMBER);
        removePreferenceFromScreen(KEY_ICC_ID);

        // only show area info when SIM country is Brazil
        if ("br".equals(mTelephonyManager.getSimCountryIso())) {
          mShowLatestAreaInfo = true;
        }
      }
      String rawNumber = mPhone.getLine1Number(); // may be null or empty
      String formattedNumber = null;
      if (!TextUtils.isEmpty(rawNumber)) {
        formattedNumber = PhoneNumberUtils.formatNumber(rawNumber);
      }
      // If formattedNumber is null or empty, it'll display as "Unknown".
      setSummaryText(KEY_PHONE_NUMBER, formattedNumber);
    }
  }
Beispiel #3
0
  @Override
  protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    mHandler = new MyHandler(this);

    mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

    addPreferencesFromResource(R.xml.device_info_status);
    mBatteryLevel = findPreference(KEY_BATTERY_LEVEL);
    mBatteryStatus = findPreference(KEY_BATTERY_STATUS);

    mRes = getResources();
    sUnknown = mRes.getString(R.string.device_info_default);
    if (UserHandle.myUserId() == UserHandle.USER_OWNER) {
      mPhone = PhoneFactory.getDefaultPhone();
    }
    // Note - missing in zaku build, be careful later...
    mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH);
    mUptime = findPreference("up_time");

    if (mPhone == null || Utils.isWifiOnly(getApplicationContext())) {
      for (String key : PHONE_RELATED_ENTRIES) {
        removePreferenceFromScreen(key);
      }
    } else {
      // NOTE "imei" is the "Device ID" since it represents
      //  the IMEI in GSM and the MEID in CDMA
      if (mPhone.getPhoneName().equals("CDMA")) {
        setSummaryText(KEY_MEID_NUMBER, mPhone.getMeid());
        setSummaryText(KEY_MIN_NUMBER, mPhone.getCdmaMin());
        if (getResources().getBoolean(R.bool.config_msid_enable)) {
          findPreference(KEY_MIN_NUMBER).setTitle(R.string.status_msid_number);
        }
        setSummaryText(KEY_PRL_VERSION, mPhone.getCdmaPrlVersion());
        removePreferenceFromScreen(KEY_IMEI_SV);

        if (mPhone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) {
          // Show ICC ID and IMEI for LTE device
          setSummaryText(KEY_ICC_ID, mPhone.getIccSerialNumber());
          setSummaryText(KEY_IMEI, mPhone.getImei());
        } else {
          // device is not GSM/UMTS, do not display GSM/UMTS features
          // check Null in case no specified preference in overlay xml
          removePreferenceFromScreen(KEY_IMEI);
          removePreferenceFromScreen(KEY_ICC_ID);
        }
      } else {
        setSummaryText(KEY_IMEI, mPhone.getDeviceId());

        setSummaryText(
            KEY_IMEI_SV,
            ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceSoftwareVersion());

        // device is not CDMA, do not display CDMA features
        // check Null in case no specified preference in overlay xml
        removePreferenceFromScreen(KEY_PRL_VERSION);
        removePreferenceFromScreen(KEY_MEID_NUMBER);
        removePreferenceFromScreen(KEY_MIN_NUMBER);
        removePreferenceFromScreen(KEY_ICC_ID);

        // only show area info when SIM country is Brazil
        if ("br".equals(mTelephonyManager.getSimCountryIso())) {
          mShowLatestAreaInfo = true;
        }
      }

      String rawNumber = mPhone.getLine1Number(); // may be null or empty
      String formattedNumber = null;
      if (!TextUtils.isEmpty(rawNumber)) {
        formattedNumber = PhoneNumberUtils.formatNumber(rawNumber);
      }
      // If formattedNumber is null or empty, it'll display as "Unknown".
      setSummaryText(KEY_PHONE_NUMBER, formattedNumber);

      mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler);
      mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED);
      mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);

      if (!mShowLatestAreaInfo) {
        removePreferenceFromScreen(KEY_LATEST_AREA_INFO);
      }
    }

    setWimaxStatus();
    setWifiStatus();
    setBtStatus();
    setIpAddressStatus();

    String serial = Build.SERIAL;
    if (serial != null && !serial.equals("")) {
      setSummaryText(KEY_SERIAL_NUMBER, serial);
    } else {
      removePreferenceFromScreen(KEY_SERIAL_NUMBER);
    }
  }
 /**
  * Return if the current radio is LTE on CDMA. This is a tri-state return value as for a period of
  * time the mode may be unknown.
  *
  * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} or {@link
  *     PHone#LTE_ON_CDMA_TRUE}
  */
 public int getLteOnCdmaMode() {
   return mPhone.getLteOnCdmaMode();
 }
  @Override
  protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    PhoneApp app = PhoneApp.getInstance();
    addPreferencesFromResource(R.xml.msim_network_settings);

    mSubscription = getIntent().getIntExtra(SUBSCRIPTION_KEY, app.getDefaultSubscription());
    log("Settings onCreate subscription =" + mSubscription);
    mPhone = app.getPhone(mSubscription);
    mHandler = new MyHandler();

    // get UI object references
    PreferenceScreen prefSet = getPreferenceScreen();

    mButtonPreferredNetworkMode =
        (ListPreference) prefSet.findPreference(BUTTON_PREFERED_NETWORK_MODE);

    boolean isLteOnCdma = mPhone.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
    if (getResources().getBoolean(R.bool.world_phone) == true) {

      if (SystemProperties.getBoolean("ro.monkey", false)) {
        prefSet.removePreference(mButtonPreferredNetworkMode);
      } else {
        // set the listener for the mButtonPreferredNetworkMode list
        // preference so we can issue change Preferred Network Mode.
        mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);

        // Get the networkMode from Settings.System and displays it
        int settingsNetworkMode =
            android.provider.Settings.Secure.getInt(
                mPhone.getContext().getContentResolver(),
                android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
                preferredNetworkMode);
        mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
        mCdmaOptions = new CdmaOptions(this, prefSet, mPhone);
        mGsmUmtsOptions = new GsmUmtsOptions(this, prefSet, mSubscription);
      }
    } else {
      if (!isLteOnCdma) {
        prefSet.removePreference(mButtonPreferredNetworkMode);
      }
      int phoneType = mPhone.getPhoneType();
      if (phoneType == Phone.PHONE_TYPE_CDMA) {
        mCdmaOptions = new CdmaOptions(this, prefSet, mPhone);
        if (isLteOnCdma) {
          mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);
          mButtonPreferredNetworkMode.setEntries(R.array.preferred_network_mode_choices_lte);
          mButtonPreferredNetworkMode.setEntryValues(R.array.preferred_network_mode_values_lte);
          int settingsNetworkMode =
              android.provider.Settings.Secure.getInt(
                  mPhone.getContext().getContentResolver(),
                  android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
                  preferredNetworkMode);
          mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
        }

      } else if (phoneType == Phone.PHONE_TYPE_GSM) {
        mGsmUmtsOptions = new GsmUmtsOptions(this, prefSet, mSubscription);
      } else {
        throw new IllegalStateException("Unexpected phone type: " + phoneType);
      }
    }
  }