From 5d9058f3dc3fcbbbbeec63fd62b1b75c4e5c0c17 Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Tue, 15 Nov 2022 19:45:10 +0800 Subject: [PATCH] Update Window Extensions library APIs Bug: 257937650 Bug: 259218261 Test: manual - using sample app Test: manual - update prebuilt library and verify in Settings app Change-Id: If560c990c1ecbd015da424bf3908d663e7922b5a --- libs/WindowManager/Jetpack/Android.bp | 11 +++++- .../extensions/embedding/SplitController.java | 32 +++++++++++++---- .../extensions/embedding/SplitPresenter.java | 7 ++-- .../layout/WindowLayoutComponentImpl.java | 33 ++++++++++++++---- .../embedding/EmbeddingTestUtils.java | 28 +++++++++++++-- .../embedding/SplitControllerTest.java | 17 +++++---- .../embedding/SplitPresenterTest.java | 5 +-- .../window-extensions-core-release.aar | Bin 0 -> 4568 bytes .../Jetpack/window-extensions-release.aar | Bin 30820 -> 34072 bytes 9 files changed, 105 insertions(+), 28 deletions(-) create mode 100644 libs/WindowManager/Jetpack/window-extensions-core-release.aar diff --git a/libs/WindowManager/Jetpack/Android.bp b/libs/WindowManager/Jetpack/Android.bp index dc4b5636a246e..a5b192cd7ceb7 100644 --- a/libs/WindowManager/Jetpack/Android.bp +++ b/libs/WindowManager/Jetpack/Android.bp @@ -63,6 +63,12 @@ android_library_import { sdk_version: "current", } +android_library_import { + name: "window-extensions-core", + aars: ["window-extensions-core-release.aar"], + sdk_version: "current", +} + java_library { name: "androidx.window.extensions", srcs: [ @@ -70,7 +76,10 @@ java_library { "src/androidx/window/util/**/*.java", "src/androidx/window/common/**/*.java", ], - static_libs: ["window-extensions"], + static_libs: [ + "window-extensions", + "window-extensions-core", + ], installable: true, sdk_version: "core_platform", system_ext_specific: true, diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java index 1af1313f0bbb1..85812ea3d72d2 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -75,7 +75,10 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.window.common.CommonFoldingFeature; import androidx.window.common.EmptyLifecycleCallbacksAdapter; +import androidx.window.extensions.WindowExtensionsImpl; import androidx.window.extensions.WindowExtensionsProvider; +import androidx.window.extensions.core.util.function.Consumer; +import androidx.window.extensions.core.util.function.Function; import androidx.window.extensions.embedding.TransactionManager.TransactionRecord; import androidx.window.extensions.layout.WindowLayoutComponentImpl; @@ -86,7 +89,6 @@ import java.util.List; import java.util.Objects; import java.util.Set; import java.util.concurrent.Executor; -import java.util.function.Consumer; /** * Main controller class that manages split states and presentation. @@ -112,7 +114,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen /** * A developer-defined {@link SplitAttributes} calculator to compute the current * {@link SplitAttributes} with the current device and window states. - * It is registered via {@link #setSplitAttributesCalculator(SplitAttributesCalculator)} + * It is registered via {@link #setSplitAttributesCalculator(Function)} * and unregistered via {@link #clearSplitAttributesCalculator()}. * This is called when: *