Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb27c768 authored by Chaohui Wang's avatar Chaohui Wang Committed by Cherrypicker Worker
Browse files

Check ims for isVoImsOptInEnabled

If the device does not have PackageManager.FEATURE_TELEPHONY_IMS,
ProvisioningManager.getProvisioningIntValue() could not be called.

Fix: 346708541
Flag: EXEMPT bug fix
Test: manual - SIM settings
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aa0d63ce4022fa3ae29b77c299c4dce37d11b338)
Merged-In: I52b5a62d20ee7df14ecf93c9b0dbbed6f7dc0f0d
Change-Id: I52b5a62d20ee7df14ecf93c9b0dbbed6f7dc0f0d
parent 72541b8b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.network.ims;
import static android.telephony.ims.ProvisioningManager.KEY_VOIMS_OPT_IN_STATUS;

import android.content.Context;
import android.content.pm.PackageManager;
import android.telecom.TelecomManager;
import android.telephony.AccessNetworkConstants;
import android.telephony.SubscriptionManager;
@@ -143,6 +144,11 @@ public class VolteQueryImsState extends ImsQueryController {
     * @return true when VoIMS opt-in has been enabled, otherwise false
     */
    public boolean isVoImsOptInEnabled() {
        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS)) {
            // If the device does not have PackageManager.FEATURE_TELEPHONY_IMS,
            // ProvisioningManager.getProvisioningIntValue() could not be called.
            return false;
        }
        int voImsOptInStatus = ProvisioningManager.createForSubscriptionId(mSubId)
                .getProvisioningIntValue(KEY_VOIMS_OPT_IN_STATUS);
        return voImsOptInStatus == ProvisioningManager.PROVISIONING_VALUE_ENABLED;