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

Commit fbf5d265 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Protect data call blocking using satellite feature flags." into main

parents 20fc244b cc1c45fb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ aconfig_declarations {
      "misc.aconfig",
      "subscription.aconfig",
      "uicc.aconfig",
      "satellite.aconfig",
    ],
}

@@ -35,3 +36,10 @@ java_aconfig_library {
    name: "telephony_flags-lib",
    aconfig_declarations: "telephony_flags"
}

// Create test version of java flag library to access flags using static approach
java_aconfig_library {
    name: "telephony_flags-lib-test",
    aconfig_declarations: "telephony_flags",
    test: true
}
+15 −0
Original line number Diff line number Diff line
package: "com.android.internal.telephony.flags"

flag {
    name: "oem_enabled_satellite_flag"
    namespace: "telephony"
    description: "This flag controls satellite communication supported by OEMs."
    bug:"291811962"
}

flag {
    name: "carrier_enabled_satellite_flag"
    namespace: "telephony"
    description: "This flag controls satellite communication supported by carriers."
    bug:"296437388"
}
 No newline at end of file
+10 −6
Original line number Diff line number Diff line
@@ -107,6 +107,7 @@ import com.android.internal.telephony.data.LinkBandwidthEstimator;
import com.android.internal.telephony.domainselection.DomainSelectionResolver;
import com.android.internal.telephony.emergency.EmergencyNumberTracker;
import com.android.internal.telephony.emergency.EmergencyStateTracker;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.gsm.GsmMmiCode;
import com.android.internal.telephony.gsm.SsData;
import com.android.internal.telephony.gsm.SuppServiceNotification;
@@ -299,23 +300,26 @@ public class GsmCdmaPhone extends Phone {
    // Constructors

    public GsmCdmaPhone(Context context, CommandsInterface ci, PhoneNotifier notifier, int phoneId,
                        int precisePhoneType, TelephonyComponentFactory telephonyComponentFactory) {
        this(context, ci, notifier, false, phoneId, precisePhoneType, telephonyComponentFactory);
                        int precisePhoneType, TelephonyComponentFactory telephonyComponentFactory,
            @NonNull FeatureFlags featureFlags) {
        this(context, ci, notifier, false, phoneId, precisePhoneType, telephonyComponentFactory,
                featureFlags);
    }

    public GsmCdmaPhone(Context context, CommandsInterface ci, PhoneNotifier notifier,
                        boolean unitTestMode, int phoneId, int precisePhoneType,
                        TelephonyComponentFactory telephonyComponentFactory) {
                        TelephonyComponentFactory telephonyComponentFactory,
            @NonNull FeatureFlags featureFlags) {
        this(context, ci, notifier,
                unitTestMode, phoneId, precisePhoneType,
                telephonyComponentFactory,
                ImsManager::getInstance);
                ImsManager::getInstance, featureFlags);
    }

    public GsmCdmaPhone(Context context, CommandsInterface ci, PhoneNotifier notifier,
            boolean unitTestMode, int phoneId, int precisePhoneType,
            TelephonyComponentFactory telephonyComponentFactory,
            ImsManagerFactory imsManagerFactory) {
            ImsManagerFactory imsManagerFactory, @NonNull FeatureFlags featureFlags) {
        super(precisePhoneType == PhoneConstants.PHONE_TYPE_GSM ? "GSM" : "CDMA",
                notifier, context, ci, unitTestMode, phoneId, telephonyComponentFactory);

@@ -352,7 +356,7 @@ public class GsmCdmaPhone extends Phone {

        mDataNetworkController = mTelephonyComponentFactory.inject(
                DataNetworkController.class.getName())
                .makeDataNetworkController(this, getLooper());
                .makeDataNetworkController(this, getLooper(), featureFlags);

        mCarrierResolver = mTelephonyComponentFactory.inject(CarrierResolver.class.getName())
                .makeCarrierResolver(this);
+4 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import com.android.internal.telephony.data.TelephonyNetworkFactory;
import com.android.internal.telephony.euicc.EuiccCardController;
import com.android.internal.telephony.euicc.EuiccController;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.flags.FeatureFlagsImpl;
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.imsphone.ImsPhoneFactory;
import com.android.internal.telephony.metrics.MetricsCollector;
@@ -104,6 +105,7 @@ public class PhoneFactory {
    static private final HashMap<String, LocalLog>sLocalLogs = new HashMap<String, LocalLog>();
    private static MetricsCollector sMetricsCollector;
    private static RadioInterfaceCapabilityController sRadioHalCapabilities;
    private static @NonNull FeatureFlags sFeatureFlags = new FeatureFlagsImpl();

    //***** Class Methods

@@ -112,6 +114,7 @@ public class PhoneFactory {
     * @param featureFlags The feature flag.
     */
    public static void makeDefaultPhones(Context context, @NonNull FeatureFlags featureFlags) {
        sFeatureFlags = featureFlags;
        makeDefaultPhone(context, featureFlags);
    }

@@ -324,7 +327,7 @@ public class PhoneFactory {

        return injectedComponentFactory.makePhone(context,
                sCommandsInterfaces[phoneId], sPhoneNotifier, phoneId, phoneType,
                TelephonyComponentFactory.getInstance());
                TelephonyComponentFactory.getInstance(), sFeatureFlags);
    }

    @UnsupportedAppUsage
+8 −4
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.internal.telephony.data.DataSettingsManager;
import com.android.internal.telephony.data.LinkBandwidthEstimator;
import com.android.internal.telephony.data.PhoneSwitcher;
import com.android.internal.telephony.emergency.EmergencyNumberTracker;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.imsphone.ImsExternalCallTracker;
import com.android.internal.telephony.imsphone.ImsNrSaModeHandler;
import com.android.internal.telephony.imsphone.ImsPhone;
@@ -429,9 +430,10 @@ public class TelephonyComponentFactory {

    public Phone makePhone(Context context, CommandsInterface ci, PhoneNotifier notifier,
            int phoneId, int precisePhoneType,
            TelephonyComponentFactory telephonyComponentFactory) {
            TelephonyComponentFactory telephonyComponentFactory,
            @NonNull FeatureFlags featureFlags) {
        return new GsmCdmaPhone(context, ci, notifier, phoneId, precisePhoneType,
                telephonyComponentFactory);
                telephonyComponentFactory, featureFlags);
    }

    public PhoneSwitcher makePhoneSwitcher(int maxDataAttachModemCount, Context context,
@@ -476,10 +478,12 @@ public class TelephonyComponentFactory {
     *
     * @param phone The phone object
     * @param looper The looper for event handling
     * @param featureFlags The feature flag.
     * @return The data network controller instance
     */
    public DataNetworkController makeDataNetworkController(Phone phone, Looper looper) {
        return new DataNetworkController(phone, looper);
    public DataNetworkController makeDataNetworkController(Phone phone, Looper looper,
            @NonNull FeatureFlags featureFlags) {
        return new DataNetworkController(phone, looper, featureFlags);
    }

    /**
Loading