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

Commit 369eea36 authored by Thomas Stuart's avatar Thomas Stuart Committed by Android (Google) Code Review
Browse files

Merge "add flag for emergency calling notif changes" into main

parents 8e25387e 13fbcf7a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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"
+31 −14
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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
@@ -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(
@@ -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
@@ -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;
        }
@@ -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))
@@ -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);
            }
        }

        /**
+1 −1
Original line number Diff line number Diff line
@@ -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);
+4 −2
Original line number Diff line number Diff line
@@ -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;
@@ -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);
@@ -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);
+3 −2
Original line number Diff line number Diff line
@@ -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