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",