Merge "Add Flags.DISABLE_FSI" into tm-qpr-dev
This commit is contained in:
@@ -64,6 +64,10 @@ object Flags {
|
|||||||
// TODO(b/259130119): Tracking Bug
|
// TODO(b/259130119): Tracking Bug
|
||||||
val FSI_ON_DND_UPDATE = unreleasedFlag(259130119, "fsi_on_dnd_update", teamfood = true)
|
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
|
// TODO(b/254512538): Tracking Bug
|
||||||
val INSTANT_VOICE_REPLY = unreleasedFlag(111, "instant_voice_reply", teamfood = true)
|
val INSTANT_VOICE_REPLY = unreleasedFlag(111, "instant_voice_reply", teamfood = true)
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ class NotifPipelineFlags @Inject constructor(
|
|||||||
val context: Context,
|
val context: Context,
|
||||||
val featureFlags: FeatureFlags
|
val featureFlags: FeatureFlags
|
||||||
) {
|
) {
|
||||||
|
init {
|
||||||
|
featureFlags.addListener(Flags.DISABLE_FSI) { event -> event.requestNoRestart() }
|
||||||
|
}
|
||||||
|
|
||||||
fun isDevLoggingEnabled(): Boolean =
|
fun isDevLoggingEnabled(): Boolean =
|
||||||
featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING)
|
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 fsiOnDNDUpdate(): Boolean = featureFlags.isEnabled(Flags.FSI_ON_DND_UPDATE)
|
||||||
|
|
||||||
|
fun disableFsi(): Boolean = featureFlags.isEnabled(Flags.DISABLE_FSI)
|
||||||
|
|
||||||
val shouldFilterUnseenNotifsOnKeyguard: Boolean by lazy {
|
val shouldFilterUnseenNotifsOnKeyguard: Boolean by lazy {
|
||||||
featureFlags.isEnabled(Flags.FILTER_UNSEEN_NOTIFS_ON_KEYGUARD)
|
featureFlags.isEnabled(Flags.FILTER_UNSEEN_NOTIFS_ON_KEYGUARD)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ public interface NotificationInterruptStateProvider {
|
|||||||
* the full screen intent should or shouldn't launch.
|
* the full screen intent should or shouldn't launch.
|
||||||
*/
|
*/
|
||||||
enum FullScreenIntentDecision {
|
enum FullScreenIntentDecision {
|
||||||
|
/**
|
||||||
|
* Full screen intents are disabled.
|
||||||
|
*/
|
||||||
|
NO_FSI_DISABLED(false),
|
||||||
/**
|
/**
|
||||||
* No full screen intent included, so there is nothing to show.
|
* No full screen intent included, so there is nothing to show.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -236,6 +236,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FullScreenIntentDecision getFullScreenIntentDecision(NotificationEntry entry) {
|
public FullScreenIntentDecision getFullScreenIntentDecision(NotificationEntry entry) {
|
||||||
|
if (mFlags.disableFsi()) {
|
||||||
|
return FullScreenIntentDecision.NO_FSI_DISABLED;
|
||||||
|
}
|
||||||
if (entry.getSbn().getNotification().fullScreenIntent == null) {
|
if (entry.getSbn().getNotification().fullScreenIntent == null) {
|
||||||
return FullScreenIntentDecision.NO_FULL_SCREEN_INTENT;
|
return FullScreenIntentDecision.NO_FULL_SCREEN_INTENT;
|
||||||
}
|
}
|
||||||
@@ -325,6 +328,9 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
|
|||||||
final int uid = entry.getSbn().getUid();
|
final int uid = entry.getSbn().getUid();
|
||||||
final String packageName = entry.getSbn().getPackageName();
|
final String packageName = entry.getSbn().getPackageName();
|
||||||
switch (decision) {
|
switch (decision) {
|
||||||
|
case NO_FSI_DISABLED:
|
||||||
|
mLogger.logNoFullscreen(entry, "Disabled");
|
||||||
|
return;
|
||||||
case NO_FULL_SCREEN_INTENT:
|
case NO_FULL_SCREEN_INTENT:
|
||||||
return;
|
return;
|
||||||
case NO_FSI_SUPPRESSED_BY_DND:
|
case NO_FSI_SUPPRESSED_BY_DND:
|
||||||
|
|||||||
Reference in New Issue
Block a user