Search in sources :

Example 6 with Phone

use of com.android.internal.telephony.Phone in project platform_packages_apps_Settings by BlissRoms.

the class ImeiInformation method setPreferenceValue.

private void setPreferenceValue(int phoneId) {
    final Phone phone = PhoneFactory.getPhone(phoneId);
    if (phone != null) {
        if (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
            setSummaryText(KEY_MEID_NUMBER, phone.getMeid());
            setSummaryText(KEY_MIN_NUMBER, phone.getCdmaMin());
            if (getResources().getBoolean(R.bool.config_msid_enable)) {
                findPreference(KEY_MIN_NUMBER).setTitle(R.string.status_msid_number);
            }
            setSummaryText(KEY_PRL_VERSION, phone.getCdmaPrlVersion());
            if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) {
                // Show ICC ID and IMEI for LTE device
                setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber());
                setSummaryTextAsDigit(KEY_IMEI, phone.getImei());
                setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn());
            } 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_SV);
                removePreferenceFromScreen(KEY_IMEI);
                removePreferenceFromScreen(KEY_ICC_ID);
            }
        } else {
            setSummaryTextAsDigit(KEY_IMEI, phone.getImei());
            setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn());
            // 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);
        }
    }
}
Also used : Phone(com.android.internal.telephony.Phone)

Example 7 with Phone

use of com.android.internal.telephony.Phone in project android_frameworks_opt_telephony by LineageOS.

the class UiccProfile method handleCarrierNameOverride.

/**
 * Override the carrier name with either carrier config or SPN
 * if an override is provided.
 */
private void handleCarrierNameOverride() {
    SubscriptionController subCon = SubscriptionController.getInstance();
    final int subId = subCon.getSubIdUsingPhoneId(mPhoneId);
    if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
        loge("subId not valid for Phone " + mPhoneId);
        return;
    }
    CarrierConfigManager configLoader = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
    if (configLoader == null) {
        loge("Failed to load a Carrier Config");
        return;
    }
    PersistableBundle config = configLoader.getConfigForSubId(subId);
    boolean preferCcName = config.getBoolean(CarrierConfigManager.KEY_CARRIER_NAME_OVERRIDE_BOOL, false);
    String ccName = config.getString(CarrierConfigManager.KEY_CARRIER_NAME_STRING);
    String newCarrierName = null;
    // Get the name from EF_SPN.
    String currSpn = getServiceProviderName();
    int nameSource = SubscriptionManager.NAME_SOURCE_SIM_SPN;
    // a name in carrier config, use the carrier config name as a backup.
    if (preferCcName || (TextUtils.isEmpty(currSpn) && !TextUtils.isEmpty(ccName))) {
        newCarrierName = ccName;
        nameSource = SubscriptionManager.NAME_SOURCE_CARRIER;
    } else if (TextUtils.isEmpty(currSpn)) {
        // currSpn is empty and could not get name from carrier config; get name from PNN or
        // carrier id
        Phone phone = PhoneFactory.getPhone(mPhoneId);
        if (phone != null) {
            // Get the name from EF_PNN.
            String currPnn = phone.getPlmn();
            if (!TextUtils.isEmpty(currPnn)) {
                newCarrierName = currPnn;
                nameSource = SubscriptionManager.NAME_SOURCE_SIM_PNN;
            } else {
                // Get the name from carrier id.
                newCarrierName = phone.getCarrierName();
                nameSource = SubscriptionManager.NAME_SOURCE_CARRIER_ID;
            }
        }
    }
    if (!TextUtils.isEmpty(newCarrierName)) {
        mTelephonyManager.setSimOperatorNameForPhone(mPhoneId, newCarrierName);
        mOperatorBrandOverrideRegistrants.notifyRegistrants();
    }
    updateCarrierNameForSubscription(subCon, subId, nameSource);
}
Also used : CarrierConfigManager(android.telephony.CarrierConfigManager) PersistableBundle(android.os.PersistableBundle) SubscriptionController(com.android.internal.telephony.SubscriptionController) Phone(com.android.internal.telephony.Phone)

Example 8 with Phone

use of com.android.internal.telephony.Phone in project android_frameworks_opt_telephony by LineageOS.

the class EmergencyNumberTracker method updateEmergencyCountryIsoAllPhones.

/**
 * Update Emergency country iso for all the Phones
 */
@VisibleForTesting
public void updateEmergencyCountryIsoAllPhones(String countryIso) {
    // Notify country iso change for current Phone
    mIsCountrySetByAnotherSub = false;
    updateEmergencyNumberDatabaseCountryChange(countryIso);
    // iso there is set by another active subscription.
    for (Phone phone : PhoneFactory.getPhones()) {
        if (phone.getPhoneId() == mPhone.getPhoneId()) {
            continue;
        }
        EmergencyNumberTracker emergencyNumberTracker;
        if (phone != null && phone.getEmergencyNumberTracker() != null) {
            emergencyNumberTracker = phone.getEmergencyNumberTracker();
            if (TextUtils.isEmpty(emergencyNumberTracker.getEmergencyCountryIso()) || emergencyNumberTracker.mIsCountrySetByAnotherSub) {
                emergencyNumberTracker.mIsCountrySetByAnotherSub = true;
                emergencyNumberTracker.updateEmergencyNumberDatabaseCountryChange(countryIso);
            }
        }
    }
}
Also used : Phone(com.android.internal.telephony.Phone) VisibleForTesting(com.android.internal.annotations.VisibleForTesting)

Example 9 with Phone

use of com.android.internal.telephony.Phone in project android_frameworks_opt_telephony by LineageOS.

the class UiccSlot method onIccSwap.

private void onIccSwap(boolean isAdded) {
    boolean isHotSwapSupported = mContext.getResources().getBoolean(R.bool.config_hotswapCapable);
    if (isHotSwapSupported) {
        log("onIccSwap: isHotSwapSupported is true, don't prompt for rebooting");
        return;
    }
    Phone phone = PhoneFactory.getPhone(mPhoneId);
    if (phone != null && phone.isShuttingDown()) {
        log("onIccSwap: already doing shutdown, no need to prompt");
        return;
    }
    log("onIccSwap: isHotSwapSupported is false, prompt for rebooting");
    promptForRestart(isAdded);
}
Also used : Phone(com.android.internal.telephony.Phone)

Example 10 with Phone

use of com.android.internal.telephony.Phone in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class ImeiInformation method setPreferenceValue.

private void setPreferenceValue(int phoneId) {
    final Phone phone = PhoneFactory.getPhone(phoneId);
    if (phone != null) {
        if (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
            setSummaryText(KEY_MEID_NUMBER, phone.getMeid());
            setSummaryText(KEY_MIN_NUMBER, phone.getCdmaMin());
            if (getResources().getBoolean(R.bool.config_msid_enable)) {
                findPreference(KEY_MIN_NUMBER).setTitle(R.string.status_msid_number);
            }
            setSummaryText(KEY_PRL_VERSION, phone.getCdmaPrlVersion());
            if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) {
                // Show ICC ID and IMEI for LTE device
                setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber());
                setSummaryText(KEY_IMEI, phone.getImei());
                setSummaryTextAsDigit(KEY_IMEI, phone.getImei());
                setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn());
            } 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_SV);
                removePreferenceFromScreen(KEY_IMEI);
                removePreferenceFromScreen(KEY_ICC_ID);
            }
        } else {
            boolean displayIccId = getResources().getBoolean(R.bool.config_regional_display_icc_id_enable);
            if (displayIccId) {
                setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber());
            } else {
                removePreferenceFromScreen(KEY_ICC_ID);
            }
            setSummaryText(KEY_IMEI, phone.getImei());
            setSummaryText(KEY_IMEI_SV, phone.getDeviceSvn());
            setSummaryTextAsDigit(KEY_IMEI, phone.getImei());
            setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn());
            // 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);
        }
    }
}
Also used : Phone(com.android.internal.telephony.Phone)

Aggregations

Phone (com.android.internal.telephony.Phone)21 PhoneStateListener (android.telephony.PhoneStateListener)7 ServiceState (android.telephony.ServiceState)7 SignalStrength (android.telephony.SignalStrength)7 ContentValues (android.content.ContentValues)1 AsyncResult (android.os.AsyncResult)1 PersistableBundle (android.os.PersistableBundle)1 CarrierConfigManager (android.telephony.CarrierConfigManager)1 SubscriptionInfo (android.telephony.SubscriptionInfo)1 StatsEvent (android.util.StatsEvent)1 VisibleForTesting (com.android.internal.annotations.VisibleForTesting)1 SubscriptionController (com.android.internal.telephony.SubscriptionController)1