Loading flags/misc.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,13 @@ flag { bug: "275225402" } flag { name: "stop_spamming_emergency_notification" namespace: "telephony" description: "When set, the no wifi emergency calling availability notif will have a do not ask again button" bug: "275225402" } flag { name: "enable_wps_check_api_flag" namespace: "telephony" Loading src/java/com/android/internal/telephony/CarrierServiceStateTracker.java +31 −14 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import android.annotation.NonNull; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; Loading @@ -42,6 +43,7 @@ import android.telephony.TelephonyManager; import android.telephony.TelephonyManager.NetworkTypeBitMask; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.util.ArrayUtils; import com.android.internal.telephony.util.NotificationChannelController; import com.android.telephony.Rlog; Loading Loading @@ -85,6 +87,7 @@ public class CarrierServiceStateTracker extends Handler { private long mAllowedNetworkType = -1; private AllowedNetworkTypesListener mAllowedNetworkTypesListener; private TelephonyManager mTelephonyManager; @NonNull private final FeatureFlags mFeatureFlags; /** * The listener for allowed network types changed Loading @@ -105,7 +108,9 @@ public class CarrierServiceStateTracker extends Handler { } } public CarrierServiceStateTracker(Phone phone, ServiceStateTracker sst) { public CarrierServiceStateTracker(Phone phone, ServiceStateTracker sst, @NonNull FeatureFlags featureFlags) { mFeatureFlags = featureFlags; this.mPhone = phone; this.mSST = sst; mTelephonyManager = mPhone.getContext().getSystemService( Loading Loading @@ -165,12 +170,14 @@ public class CarrierServiceStateTracker extends Handler { mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(); registerAllowedNetworkTypesListener(); if (mFeatureFlags.stopSpammingEmergencyNotification()) { // register a receiver for notification actions mPhone.getContext().registerReceiver( mActionReceiver, new IntentFilter(ACTION_NEVER_ASK_AGAIN), Context.RECEIVER_NOT_EXPORTED); } } /** * Return preferred network mode listener Loading Loading @@ -402,7 +409,8 @@ public class CarrierServiceStateTracker extends Handler { return; } if (shouldSilenceEmrgNetNotif(notificationType, context)) { if (mFeatureFlags.stopSpammingEmergencyNotification() && shouldSilenceEmrgNetNotif(notificationType, context)) { Rlog.i(LOG_TAG, "sendNotification: silencing NOTIFICATION_EMERGENCY_NETWORK"); return; } Loading Loading @@ -681,6 +689,7 @@ public class CarrierServiceStateTracker extends Handler { com.android.internal.R.string.EmergencyCallWarningTitle); CharSequence details = res.getText( com.android.internal.R.string.EmergencyCallWarningSummary); if (mFeatureFlags.stopSpammingEmergencyNotification()) { return new Notification.Builder(context) .setContentTitle(title) .setStyle(new Notification.BigTextStyle().bigText(details)) Loading @@ -688,6 +697,14 @@ public class CarrierServiceStateTracker extends Handler { .setOngoing(true) .setActions(createDoNotShowAgainAction(context)) .setChannelId(NotificationChannelController.CHANNEL_ID_WFC); } else { return new Notification.Builder(context) .setContentTitle(title) .setStyle(new Notification.BigTextStyle().bigText(details)) .setContentText(details) .setOngoing(true) .setChannelId(NotificationChannelController.CHANNEL_ID_WFC); } } /** Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ public class GsmCdmaPhone extends Phone { mSignalStrengthController = mTelephonyComponentFactory.inject( SignalStrengthController.class.getName()).makeSignalStrengthController(this); mSST = mTelephonyComponentFactory.inject(ServiceStateTracker.class.getName()) .makeServiceStateTracker(this, this.mCi); .makeServiceStateTracker(this, this.mCi, featureFlags); mEmergencyNumberTracker = mTelephonyComponentFactory .inject(EmergencyNumberTracker.class.getName()).makeEmergencyNumberTracker( this, this.mCi); Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +4 −2 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ import com.android.internal.telephony.data.AccessNetworksManager; import com.android.internal.telephony.data.AccessNetworksManager.AccessNetworksManagerCallback; import com.android.internal.telephony.data.DataNetwork; import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.metrics.RadioPowerStateStats; import com.android.internal.telephony.metrics.ServiceStateStats; Loading Loading @@ -625,7 +626,8 @@ public class ServiceStateTracker extends Handler { */ private AccessNetworksManagerCallback mAccessNetworksManagerCallback = null; public ServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci) { public ServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci, FeatureFlags featureFlags) { mNitzState = TelephonyComponentFactory.getInstance() .inject(NitzStateMachine.class.getName()) .makeNitzStateMachine(phone); Loading Loading @@ -710,7 +712,7 @@ public class ServiceStateTracker extends Handler { mCi.setOnRestrictedStateChanged(this, EVENT_RESTRICTED_STATE_CHANGED, null); updatePhoneType(); mCSST = new CarrierServiceStateTracker(phone, this); mCSST = new CarrierServiceStateTracker(phone, this, featureFlags); registerForNetworkAttached(mCSST, CarrierServiceStateTracker.CARRIER_EVENT_VOICE_REGISTRATION, null); Loading src/java/com/android/internal/telephony/TelephonyComponentFactory.java +3 −2 Original line number Diff line number Diff line Loading @@ -288,8 +288,9 @@ public class TelephonyComponentFactory { return new SmsUsageMonitor(context); } public ServiceStateTracker makeServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci) { return new ServiceStateTracker(phone, ci); public ServiceStateTracker makeServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci, @NonNull FeatureFlags featureFlags) { return new ServiceStateTracker(phone, ci, featureFlags); } /** Loading Loading
flags/misc.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,13 @@ flag { bug: "275225402" } flag { name: "stop_spamming_emergency_notification" namespace: "telephony" description: "When set, the no wifi emergency calling availability notif will have a do not ask again button" bug: "275225402" } flag { name: "enable_wps_check_api_flag" namespace: "telephony" Loading
src/java/com/android/internal/telephony/CarrierServiceStateTracker.java +31 −14 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import android.annotation.NonNull; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; Loading @@ -42,6 +43,7 @@ import android.telephony.TelephonyManager; import android.telephony.TelephonyManager.NetworkTypeBitMask; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.util.ArrayUtils; import com.android.internal.telephony.util.NotificationChannelController; import com.android.telephony.Rlog; Loading Loading @@ -85,6 +87,7 @@ public class CarrierServiceStateTracker extends Handler { private long mAllowedNetworkType = -1; private AllowedNetworkTypesListener mAllowedNetworkTypesListener; private TelephonyManager mTelephonyManager; @NonNull private final FeatureFlags mFeatureFlags; /** * The listener for allowed network types changed Loading @@ -105,7 +108,9 @@ public class CarrierServiceStateTracker extends Handler { } } public CarrierServiceStateTracker(Phone phone, ServiceStateTracker sst) { public CarrierServiceStateTracker(Phone phone, ServiceStateTracker sst, @NonNull FeatureFlags featureFlags) { mFeatureFlags = featureFlags; this.mPhone = phone; this.mSST = sst; mTelephonyManager = mPhone.getContext().getSystemService( Loading Loading @@ -165,12 +170,14 @@ public class CarrierServiceStateTracker extends Handler { mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(); registerAllowedNetworkTypesListener(); if (mFeatureFlags.stopSpammingEmergencyNotification()) { // register a receiver for notification actions mPhone.getContext().registerReceiver( mActionReceiver, new IntentFilter(ACTION_NEVER_ASK_AGAIN), Context.RECEIVER_NOT_EXPORTED); } } /** * Return preferred network mode listener Loading Loading @@ -402,7 +409,8 @@ public class CarrierServiceStateTracker extends Handler { return; } if (shouldSilenceEmrgNetNotif(notificationType, context)) { if (mFeatureFlags.stopSpammingEmergencyNotification() && shouldSilenceEmrgNetNotif(notificationType, context)) { Rlog.i(LOG_TAG, "sendNotification: silencing NOTIFICATION_EMERGENCY_NETWORK"); return; } Loading Loading @@ -681,6 +689,7 @@ public class CarrierServiceStateTracker extends Handler { com.android.internal.R.string.EmergencyCallWarningTitle); CharSequence details = res.getText( com.android.internal.R.string.EmergencyCallWarningSummary); if (mFeatureFlags.stopSpammingEmergencyNotification()) { return new Notification.Builder(context) .setContentTitle(title) .setStyle(new Notification.BigTextStyle().bigText(details)) Loading @@ -688,6 +697,14 @@ public class CarrierServiceStateTracker extends Handler { .setOngoing(true) .setActions(createDoNotShowAgainAction(context)) .setChannelId(NotificationChannelController.CHANNEL_ID_WFC); } else { return new Notification.Builder(context) .setContentTitle(title) .setStyle(new Notification.BigTextStyle().bigText(details)) .setContentText(details) .setOngoing(true) .setChannelId(NotificationChannelController.CHANNEL_ID_WFC); } } /** Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ public class GsmCdmaPhone extends Phone { mSignalStrengthController = mTelephonyComponentFactory.inject( SignalStrengthController.class.getName()).makeSignalStrengthController(this); mSST = mTelephonyComponentFactory.inject(ServiceStateTracker.class.getName()) .makeServiceStateTracker(this, this.mCi); .makeServiceStateTracker(this, this.mCi, featureFlags); mEmergencyNumberTracker = mTelephonyComponentFactory .inject(EmergencyNumberTracker.class.getName()).makeEmergencyNumberTracker( this, this.mCi); Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +4 −2 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ import com.android.internal.telephony.data.AccessNetworksManager; import com.android.internal.telephony.data.AccessNetworksManager.AccessNetworksManagerCallback; import com.android.internal.telephony.data.DataNetwork; import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.metrics.RadioPowerStateStats; import com.android.internal.telephony.metrics.ServiceStateStats; Loading Loading @@ -625,7 +626,8 @@ public class ServiceStateTracker extends Handler { */ private AccessNetworksManagerCallback mAccessNetworksManagerCallback = null; public ServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci) { public ServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci, FeatureFlags featureFlags) { mNitzState = TelephonyComponentFactory.getInstance() .inject(NitzStateMachine.class.getName()) .makeNitzStateMachine(phone); Loading Loading @@ -710,7 +712,7 @@ public class ServiceStateTracker extends Handler { mCi.setOnRestrictedStateChanged(this, EVENT_RESTRICTED_STATE_CHANGED, null); updatePhoneType(); mCSST = new CarrierServiceStateTracker(phone, this); mCSST = new CarrierServiceStateTracker(phone, this, featureFlags); registerForNetworkAttached(mCSST, CarrierServiceStateTracker.CARRIER_EVENT_VOICE_REGISTRATION, null); Loading
src/java/com/android/internal/telephony/TelephonyComponentFactory.java +3 −2 Original line number Diff line number Diff line Loading @@ -288,8 +288,9 @@ public class TelephonyComponentFactory { return new SmsUsageMonitor(context); } public ServiceStateTracker makeServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci) { return new ServiceStateTracker(phone, ci); public ServiceStateTracker makeServiceStateTracker(GsmCdmaPhone phone, CommandsInterface ci, @NonNull FeatureFlags featureFlags) { return new ServiceStateTracker(phone, ci, featureFlags); } /** Loading