From f48aff4251d97164c2e96660aa9e23df4ceb8328 Mon Sep 17 00:00:00 2001 From: Andrii Kulian Date: Thu, 2 Sep 2021 19:08:34 -0700 Subject: [PATCH] Update extensions embedding component package to match the package name in AndroidX. Bug: 190433398 Test: Manual, using demo application Change-Id: I985f8f95d6f0098bdadd53e204cb65d8f53c96bd --- .../ActivityEmbeddingComponentProvider.java | 1 - .../JetpackTaskFragmentOrganizer.java | 3 +- .../SplitContainer.java | 6 +--- .../SplitController.java | 33 +++++++------------ .../SplitPresenter.java | 6 ++-- .../TaskFragmentAnimationAdapter.java | 2 +- .../TaskFragmentAnimationController.java | 2 +- .../TaskFragmentAnimationRunner.java | 2 +- .../TaskFragmentAnimationSpec.java | 2 +- .../TaskFragmentContainer.java | 6 ++-- 10 files changed, 23 insertions(+), 40 deletions(-) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/JetpackTaskFragmentOrganizer.java (99%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/SplitContainer.java (93%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/SplitController.java (95%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/SplitPresenter.java (98%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/TaskFragmentAnimationAdapter.java (98%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/TaskFragmentAnimationController.java (98%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/TaskFragmentAnimationRunner.java (99%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/TaskFragmentAnimationSpec.java (99%) rename libs/WindowManager/Jetpack/src/androidx/window/extensions/{organizer => embedding}/TaskFragmentContainer.java (98%) diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/ActivityEmbeddingComponentProvider.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/ActivityEmbeddingComponentProvider.java index 640455979e515..56da30cb43831 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/ActivityEmbeddingComponentProvider.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/ActivityEmbeddingComponentProvider.java @@ -19,7 +19,6 @@ package androidx.window.extensions.embedding; import android.content.Context; import androidx.annotation.NonNull; -import androidx.window.extensions.organizer.SplitController; /** * Provider for the reference implementation of androidx.window.extensions.embedding OEM interface diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/JetpackTaskFragmentOrganizer.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/JetpackTaskFragmentOrganizer.java similarity index 99% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/JetpackTaskFragmentOrganizer.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/JetpackTaskFragmentOrganizer.java index 46c8ffe286bdb..85ef270ac49da 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/JetpackTaskFragmentOrganizer.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/JetpackTaskFragmentOrganizer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; @@ -36,7 +36,6 @@ import android.window.WindowContainerTransaction; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.window.extensions.embedding.SplitRule; import java.util.Map; import java.util.concurrent.Executor; diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitContainer.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitContainer.java similarity index 93% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitContainer.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitContainer.java index a41557d41e30f..06e7d14574179 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitContainer.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitContainer.java @@ -14,15 +14,11 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import android.annotation.NonNull; import android.app.Activity; -import androidx.window.extensions.embedding.SplitPairRule; -import androidx.window.extensions.embedding.SplitPlaceholderRule; -import androidx.window.extensions.embedding.SplitRule; - /** * Client-side descriptor of a split that holds two containers. */ diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java similarity index 95% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java index 24d384402f3b0..c072f9ccb9e0f 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import android.annotation.NonNull; import android.annotation.Nullable; @@ -35,14 +35,6 @@ import android.window.TaskFragmentAppearedInfo; import android.window.TaskFragmentInfo; import android.window.WindowContainerTransaction; -import androidx.window.extensions.embedding.ActivityRule; -import androidx.window.extensions.embedding.ActivityStack; -import androidx.window.extensions.embedding.EmbeddingRule; -import androidx.window.extensions.embedding.SplitInfo; -import androidx.window.extensions.embedding.SplitPairRule; -import androidx.window.extensions.embedding.SplitPlaceholderRule; -import androidx.window.extensions.embedding.SplitRule; - import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -53,7 +45,7 @@ import java.util.function.Consumer; * Main controller class that manages split states and presentation. */ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmentCallback, - androidx.window.extensions.embedding.ActivityEmbeddingComponent { + ActivityEmbeddingComponent { private final SplitPresenter mPresenter; @@ -503,7 +495,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen continue; } SplitPlaceholderRule placeholderRule = (SplitPlaceholderRule) rule; - if (placeholderRule.getActivityPredicate().test(activity)) { + if (placeholderRule.matchesActivity(activity)) { return placeholderRule; } } @@ -569,8 +561,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen continue; } SplitPairRule pairRule = (SplitPairRule) rule; - if (pairRule.getActivityIntentPredicate().test( - new Pair(primaryActivity, secondaryActivityIntent))) { + if (pairRule.matchesActivityIntentPair(primaryActivity, secondaryActivityIntent)) { return pairRule; } } @@ -589,10 +580,9 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } SplitPairRule pairRule = (SplitPairRule) rule; final Intent intent = secondaryActivity.getIntent(); - if (pairRule.getActivityPairPredicate().test( - new Pair(primaryActivity, secondaryActivity)) - && (intent == null || pairRule.getActivityIntentPredicate().test( - new Pair(primaryActivity, intent)))) { + if (pairRule.matchesActivityPair(primaryActivity, secondaryActivity) + && (intent == null + || pairRule.matchesActivityIntentPair(primaryActivity, intent))) { return pairRule; } } @@ -626,10 +616,9 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen if (!activityRule.shouldAlwaysExpand()) { continue; } - if (activity != null && activityRule.getActivityPredicate().test(activity)) { + if (activity != null && activityRule.matchesActivity(activity)) { return true; - } - if (intent != null && activityRule.getIntentPredicate().test(intent)) { + } else if (intent != null && activityRule.matchesIntent(intent)) { return true; } } @@ -683,11 +672,11 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen /** Executor that posts on the main application thread. */ private static class MainThreadExecutor implements Executor { - private final Handler handler = new Handler(Looper.getMainLooper()); + private final Handler mHandler = new Handler(Looper.getMainLooper()); @Override public void execute(Runnable r) { - handler.post(r); + mHandler.post(r); } } diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitPresenter.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java similarity index 98% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitPresenter.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java index a3af70f07d5ce..2c7b22f27206f 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/SplitPresenter.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; @@ -32,8 +32,6 @@ import android.window.WindowContainerTransaction; import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.window.extensions.embedding.SplitPairRule; -import androidx.window.extensions.embedding.SplitRule; import java.util.concurrent.Executor; @@ -297,7 +295,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { // TODO(b/190433398): Supply correct insets. final WindowMetrics parentMetrics = new WindowMetrics(parentBounds, new WindowInsets(new Rect())); - return rule.getParentWindowMetricsPredicate().test(parentMetrics); + return rule.checkParentMetrics(parentMetrics); } @NonNull diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationAdapter.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationAdapter.java similarity index 98% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationAdapter.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationAdapter.java index 155c649d72a43..65bd9f330e371 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationAdapter.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import android.graphics.Rect; import android.view.Choreographer; diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationController.java similarity index 98% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationController.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationController.java index 6631243494640..65797667687e1 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationController.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import static android.view.WindowManager.TRANSIT_OLD_TASK_FRAGMENT_CHANGE; import static android.view.WindowManager.TRANSIT_OLD_TASK_FRAGMENT_CLOSE; diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationRunner.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationRunner.java similarity index 99% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationRunner.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationRunner.java index da3d116455ef7..bb37fff297a7f 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationRunner.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationRunner.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.WindowManager.TRANSIT_OLD_TASK_FRAGMENT_CHANGE; diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationSpec.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationSpec.java similarity index 99% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationSpec.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationSpec.java index ddcb27ddb5124..71295900cd06a 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentAnimationSpec.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentAnimationSpec.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import static android.view.RemoteAnimationTarget.MODE_CLOSING; diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentContainer.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java similarity index 98% rename from libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentContainer.java rename to libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java index 8503b9f4e3109..54e44a70ed408 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/organizer/TaskFragmentContainer.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.window.extensions.organizer; +package androidx.window.extensions.embedding; import android.annotation.NonNull; import android.annotation.Nullable; @@ -212,7 +212,9 @@ class TaskFragmentContainer { @NonNull WindowContainerTransaction wct, @NonNull SplitController controller) { // Finish own activities for (Activity activity : collectActivities()) { - activity.finish(); + if (!activity.isFinishing()) { + activity.finish(); + } } if (!shouldFinishDependent) {