Introduce a skeleton PlatformAnimationLib-core lib for origin transition.

See go/origin-transition-foundation-lib-impl for the design.
This change creates a new PlatformAnimationLib-core lib which is written
in pure java so that it can be depended by sdk library to support origin
tramsitions.

The main class is OriginTransitionSession, which is a session class
maintaining states for launch/return origin transitions. Clients need
to supply an intent and IRemoteTransition interfaces, and the session
object is responsible for plugging the transition into shell transitions
and calling the corresponding IRemoteTransition to play the animation.

Flag: com.google.android.clockwork.systemui.flags.transitions_enable_origin_transitions_backend
Bug: 347060315
Test: manual test. See a demo in b/347060315#comment6
      atest PlatformAnimationLibCoreTests
Change-Id: I84cbac5959ed83b52434a86acf3155e48583a930
diff --git a/packages/SystemUI/animation/lib/Android.bp b/packages/SystemUI/animation/lib/Android.bp
index 4324d463..d9230ec 100644
--- a/packages/SystemUI/animation/lib/Android.bp
+++ b/packages/SystemUI/animation/lib/Android.bp
@@ -33,6 +33,20 @@
     ],
 }
 
+// This is the core animation library written in java and can be depended by java sdk libraries.
+// Please don't introduce kotlin code in this target since kotlin is incompatible with sdk
+// libraries.
+java_library {
+    name: "PlatformAnimationLib-core",
+    srcs: [
+        "src/com/android/systemui/animation/*.java",
+        ":PlatformAnimationLib-aidl",
+    ],
+    static_libs: [
+        "WindowManager-Shell-shared",
+    ],
+}
+
 filegroup {
     name: "PlatformAnimationLib-aidl",
     srcs: [