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

Commit 460a7447 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Android (Google) Code Review
Browse files

Merge "Skip minimalTelephonyCdmCheck for pre-V vendor API devices" into main

parents c1b5c4dc f1972b49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ public class GsmCdmaCallTracker extends CallTracker {
    public GsmCdmaCallTracker(GsmCdmaPhone phone, FeatureFlags featureFlags) {
        super(featureFlags);

        if (mFeatureFlags.minimalTelephonyCdmCheck()
        if (TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)
                && !phone.getContext().getPackageManager().hasSystemFeature(
                    PackageManager.FEATURE_TELEPHONY_CALLING)) {
            throw new UnsupportedOperationException("GsmCdmaCallTracker requires calling");
+1 −1
Original line number Diff line number Diff line
@@ -470,7 +470,7 @@ public class GsmCdmaPhone extends Phone {
    };

    private boolean hasCalling() {
        if (!mFeatureFlags.minimalTelephonyCdmCheck()) return true;
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mContext.getPackageManager().hasSystemFeature(
            PackageManager.FEATURE_TELEPHONY_CALLING);
    }
+3 −3
Original line number Diff line number Diff line
@@ -255,19 +255,19 @@ public class MultiSimSettingController extends Handler {
    }

    private boolean hasCalling() {
        if (!mFeatureFlags.minimalTelephonyCdmCheck()) return true;
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY_CALLING);
    }

    private boolean hasData() {
        if (!mFeatureFlags.minimalTelephonyCdmCheck()) return true;
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY_DATA);
    }

    private boolean hasMessaging() {
        if (!mFeatureFlags.minimalTelephonyCdmCheck()) return true;
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY_MESSAGING);
    }
+15 −0
Original line number Diff line number Diff line
@@ -16,9 +16,12 @@

package com.android.internal.telephony;

import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.SystemProperties;

import com.android.internal.telephony.flags.FeatureFlags;
import com.android.telephony.Rlog;

/**
@@ -194,4 +197,16 @@ public class TelephonyCapabilities {
    public static boolean canDistinguishDialingAndConnected(int phoneType) {
        return phoneType == PhoneConstants.PHONE_TYPE_GSM;
    }

    /**
     * Returns true if Calling/Data/Messaging features should be checked on this device.
     */
    public static boolean minimalTelephonyCdmCheck(@NonNull FeatureFlags featureFlags) {
        // Check SDK version of the vendor partition.
        final int vendorApiLevel = SystemProperties.getInt(
                "ro.vendor.api_level", Build.VERSION.DEVICE_INITIAL_SDK_INT);
        if (vendorApiLevel < Build.VERSION_CODES.VANILLA_ICE_CREAM) return false;

        return featureFlags.minimalTelephonyCdmCheck();
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.SlidingWindowEventCounter;
import com.android.internal.telephony.TelephonyCapabilities;
import com.android.internal.telephony.TelephonyComponentFactory;
import com.android.internal.telephony.data.AccessNetworksManager.AccessNetworksManagerCallback;
import com.android.internal.telephony.data.DataConfigManager.DataConfigManagerCallback;
@@ -462,7 +463,7 @@ public class DataNetworkController extends Handler {
    };

    private boolean hasCalling() {
        if (!mFeatureFlags.minimalTelephonyCdmCheck()) return true;
        if (!TelephonyCapabilities.minimalTelephonyCdmCheck(mFeatureFlags)) return true;
        return mPhone.getContext().getPackageManager().hasSystemFeature(
            PackageManager.FEATURE_TELEPHONY_CALLING);
    }
Loading