Add a shared library for setting flags in SysUI.
This adds the FlagManager class which currently has 3 methods:
- #getFlagsFuture
- #setFlagValue
- #eraseFlag
The first makes an async call to SystemUI to retrieve the flags
it knows about. It returns a collection of Flag objects from which
one can get the id, type, and default values.
The other two are fairly self-explanatory, sending intents to
SystemUI telling to set or erase flags. Any app calling these
methods must have the FLAGS_PERMISSION defined in the FlagManager
library.
Only boolean flags are supported at the moment.
Bug: 203548827
Test: manual
Change-Id: Id15ff481edcb83c67ce4cdad6cdda27d28a40652
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 721b432..f44893e 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -50,6 +50,17 @@
srcs: ["src/com/android/systemui/EventLogTags.logtags"],
}
+java_library {
+ name: "SystemUI-flags",
+ srcs: [
+ "src/com/android/systemui/flags/Flags.java",
+ ],
+ libs: [
+ "SystemUI-flag-types",
+ ],
+ static_kotlin_stdlib: false,
+}
+
filegroup {
name: "ReleaseJavaFiles",
srcs: [
@@ -116,6 +127,7 @@
"iconloader_base",
"SystemUI-tags",
"SystemUI-proto",
+ "SystemUI-flags",
"monet",
"dagger2",
"jsr330",