Loading flags/Android.bp +8 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ aconfig_declarations { "misc.aconfig", "subscription.aconfig", "uicc.aconfig", "satellite.aconfig", ], } Loading @@ -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 } flags/satellite.aconfig 0 → 100644 +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 src/java/com/android/internal/telephony/GsmCdmaPhone.java +10 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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); Loading src/java/com/android/internal/telephony/PhoneFactory.java +4 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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); } Loading Loading @@ -324,7 +327,7 @@ public class PhoneFactory { return injectedComponentFactory.makePhone(context, sCommandsInterfaces[phoneId], sPhoneNotifier, phoneId, phoneType, TelephonyComponentFactory.getInstance()); TelephonyComponentFactory.getInstance(), sFeatureFlags); } @UnsupportedAppUsage Loading src/java/com/android/internal/telephony/TelephonyComponentFactory.java +8 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading Loading @@ -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 Loading
flags/Android.bp +8 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ aconfig_declarations { "misc.aconfig", "subscription.aconfig", "uicc.aconfig", "satellite.aconfig", ], } Loading @@ -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 }
flags/satellite.aconfig 0 → 100644 +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
src/java/com/android/internal/telephony/GsmCdmaPhone.java +10 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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); Loading
src/java/com/android/internal/telephony/PhoneFactory.java +4 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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); } Loading Loading @@ -324,7 +327,7 @@ public class PhoneFactory { return injectedComponentFactory.makePhone(context, sCommandsInterfaces[phoneId], sPhoneNotifier, phoneId, phoneType, TelephonyComponentFactory.getInstance()); TelephonyComponentFactory.getInstance(), sFeatureFlags); } @UnsupportedAppUsage Loading
src/java/com/android/internal/telephony/TelephonyComponentFactory.java +8 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading Loading @@ -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