Datalayer for Desktop windowing education
As the data we need is required to persist through device reboots, we can not rely on in-memory storage. Hence we are using Android ProtoDataStore.
WindowingEducationDatastoreRepository- Repository that accesses datastore by reading values and writing into it.
More details can be read at go/dw-education-design-doc.
Bug: 352552060, 352552062
Test: AppHandleEducationDatastoreRepositoryTest
Flag: com.android.window.flags.enable_desktop_windowing_app_handle_education
Change-Id: I4cd7f7a45b9ec89b56907d65acd2e6253081520f
diff --git a/libs/WindowManager/Shell/Android.bp b/libs/WindowManager/Shell/Android.bp
index 1e68241..0bf46d0 100644
--- a/libs/WindowManager/Shell/Android.bp
+++ b/libs/WindowManager/Shell/Android.bp
@@ -166,6 +166,16 @@
},
}
+java_library {
+ name: "WindowManager-Shell-lite-proto",
+
+ srcs: ["src/com/android/wm/shell/desktopmode/education/data/proto/**/*.proto"],
+
+ proto: {
+ type: "lite",
+ },
+}
+
filegroup {
name: "wm_shell-shared-aidls",
@@ -206,6 +216,7 @@
"androidx.core_core-animation",
"androidx.core_core-ktx",
"androidx.arch.core_core-runtime",
+ "androidx.datastore_datastore",
"androidx.compose.material3_material3",
"androidx-constraintlayout_constraintlayout",
"androidx.dynamicanimation_dynamicanimation",
@@ -217,6 +228,7 @@
"com_android_wm_shell_flags_lib",
"com.android.window.flags.window-aconfig-java",
"WindowManager-Shell-proto",
+ "WindowManager-Shell-lite-proto",
"WindowManager-Shell-shared",
"perfetto_trace_java_protos",
"dagger2",