Merge "Add Flags.DISABLE_FSI" into tm-qpr-dev am: ef056c366d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21021836 Change-Id: I69fab3df6cb2775d0d51db066d037e82a73ead88 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -64,6 +64,10 @@ object Flags {
|
||||
// TODO(b/259130119): Tracking Bug
|
||||
val FSI_ON_DND_UPDATE = unreleasedFlag(259130119, "fsi_on_dnd_update", teamfood = true)
|
||||
|
||||
// TODO(b/265804648): Tracking Bug
|
||||
@JvmField
|
||||
val DISABLE_FSI = unreleasedFlag(265804648, "disable_fsi")
|
||||
|
||||
// TODO(b/254512538): Tracking Bug
|
||||
val INSTANT_VOICE_REPLY = unreleasedFlag(111, "instant_voice_reply", teamfood = true)
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@ class NotifPipelineFlags @Inject constructor(
|
||||
val context: Context,
|
||||
val featureFlags: FeatureFlags
|
||||
) {
|
||||
init {
|
||||
featureFlags.addListener(Flags.DISABLE_FSI) { event -> event.requestNoRestart() }
|
||||
}
|
||||
|
||||
fun isDevLoggingEnabled(): Boolean =
|
||||
featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING)
|
||||
|
||||
@@ -35,6 +39,8 @@ class NotifPipelineFlags @Inject constructor(
|
||||
|
||||
fun fsiOnDNDUpdate(): Boolean = featureFlags.isEnabled(Flags.FSI_ON_DND_UPDATE)
|
||||
|
||||
fun disableFsi(): Boolean = featureFlags.isEnabled(Flags.DISABLE_FSI)
|
||||
|
||||
val shouldFilterUnseenNotifsOnKeyguard: Boolean by lazy {
|
||||
featureFlags.isEnabled(Flags.FILTER_UNSEEN_NOTIFS_ON_KEYGUARD)
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@ public interface NotificationInterruptStateProvider {
|
||||
* the full screen intent should or shouldn't launch.
|
||||
*/
|
||||
enum FullScreenIntentDecision {
|
||||
/**
|
||||
* Full screen intents are disabled.
|
||||
*/
|
||||
NO_FSI_DISABLED(false),
|
||||
/**
|
||||
* No full screen intent included, so there is nothing to show.
|
||||
*/
|
||||
|
||||
@@ -236,6 +236,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
|
||||
|
||||
@Override
|
||||
public FullScreenIntentDecision getFullScreenIntentDecision(NotificationEntry entry) {
|
||||
if (mFlags.disableFsi()) {
|
||||
return FullScreenIntentDecision.NO_FSI_DISABLED;
|
||||
}
|
||||
if (entry.getSbn().getNotification().fullScreenIntent == null) {
|
||||
return FullScreenIntentDecision.NO_FULL_SCREEN_INTENT;
|
||||
}
|
||||
@@ -325,6 +328,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
|
||||
final int uid = entry.getSbn().getUid();
|
||||
final String packageName = entry.getSbn().getPackageName();
|
||||
switch (decision) {
|
||||
case NO_FSI_DISABLED:
|
||||
mLogger.logNoFullscreen(entry, "Disabled");
|
||||
return;
|
||||
case NO_FULL_SCREEN_INTENT:
|
||||
return;
|
||||
case NO_FSI_SUPPRESSED_BY_DND:
|
||||
|
||||
Reference in New Issue
Block a user