New Pipeline: improve "old pipeline running" handling

Currently, we show a toast and log a message with a stacktrace when old
pipeline code is running while the new pipeline is enabled.

With this change, we show a toast *only on debug builds*, and we either
log a message *or throw a RuntimeException* depending on the state of a
new System UI flag.

Bug: 216092204
Test: manual
Change-Id: I6e4d27704e4806a3ea4dc0c20c4f727b1a41ac63
This commit is contained in:
Julia Tuttle
2022-01-25 15:39:42 -05:00
parent 75da5071e5
commit eb7d677acb
2 changed files with 14 additions and 2 deletions

View File

@@ -55,6 +55,9 @@ public class Flags {
public static final BooleanFlag NSSL_DEBUG_REMOVE_ANIMATION =
new BooleanFlag(106, false);
public static final BooleanFlag NEW_PIPELINE_CRASH_ON_CALL_TO_OLD_PIPELINE =
new BooleanFlag(107, false);
/***************************************/
// 200 - keyguard/lockscreen

View File

@@ -21,6 +21,7 @@ import android.util.Log
import android.widget.Toast
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.util.Compile
import javax.inject.Inject
class NotifPipelineFlags @Inject constructor(
@@ -31,8 +32,16 @@ class NotifPipelineFlags @Inject constructor(
if (!isNewPipelineEnabled()) {
return true
}
Log.d("NotifPipeline", "Old pipeline code running w/ new pipeline enabled", Exception())
Toast.makeText(context, "Old pipeline code running!", Toast.LENGTH_SHORT).show()
if (Compile.IS_DEBUG) {
Toast.makeText(context, "Old pipeline code running!", Toast.LENGTH_SHORT).show()
}
if (featureFlags.isEnabled(Flags.NEW_PIPELINE_CRASH_ON_CALL_TO_OLD_PIPELINE)) {
throw RuntimeException("Old pipeline code running with new pipeline enabled")
} else {
Log.d("NotifPipeline", "Old pipeline code running with new pipeline enabled",
Exception())
}
return false
}