Loading libs/WindowManager/Jetpack/Android.bp +1 −10 Original line number Diff line number Diff line Loading @@ -63,12 +63,6 @@ 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: [ Loading @@ -76,10 +70,7 @@ java_library { "src/androidx/window/util/**/*.java", "src/androidx/window/common/**/*.java", ], static_libs: [ "window-extensions", "window-extensions-core", ], static_libs: ["window-extensions"], installable: true, sdk_version: "core_platform", system_ext_specific: true, Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +7 −25 Original line number Diff line number Diff line Loading @@ -75,10 +75,7 @@ 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; Loading @@ -89,6 +86,7 @@ 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. Loading @@ -114,7 +112,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(Function)} * It is registered via {@link #setSplitAttributesCalculator(SplitAttributesCalculator)} * and unregistered via {@link #clearSplitAttributesCalculator()}. * This is called when: * <ul> Loading @@ -127,7 +125,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen */ @GuardedBy("mLock") @Nullable private Function<SplitAttributesCalculatorParams, SplitAttributes> mSplitAttributesCalculator; private SplitAttributesCalculator mSplitAttributesCalculator; /** * Map from Task id to {@link TaskContainer} which contains all TaskFragment and split pair info Loading @@ -140,7 +138,6 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen final SparseArray<TaskContainer> mTaskContainers = new SparseArray<>(); /** Callback to Jetpack to notify about changes to split states. */ @GuardedBy("mLock") @Nullable private Consumer<List<SplitInfo>> mEmbeddingCallback; private final List<SplitInfo> mLastReportedSplitStates = new ArrayList<>(); Loading Loading @@ -174,8 +171,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen mWindowLayoutComponent.addFoldingStateChangedCallback(new FoldingFeatureListener()); } private class FoldingFeatureListener implements java.util.function.Consumer<List<CommonFoldingFeature>> { private class FoldingFeatureListener implements Consumer<List<CommonFoldingFeature>> { @Override public void accept(List<CommonFoldingFeature> foldingFeatures) { synchronized (mLock) { Loading Loading @@ -216,8 +212,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } @Override public void setSplitAttributesCalculator( @NonNull Function<SplitAttributesCalculatorParams, SplitAttributes> calculator) { public void setSplitAttributesCalculator(@NonNull SplitAttributesCalculator calculator) { synchronized (mLock) { mSplitAttributesCalculator = calculator; } Loading @@ -232,7 +227,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @GuardedBy("mLock") @Nullable Function<SplitAttributesCalculatorParams, SplitAttributes> getSplitAttributesCalculator() { SplitAttributesCalculator getSplitAttributesCalculator() { return mSplitAttributesCalculator; } Loading @@ -245,22 +240,9 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen /** * Registers the split organizer callback to notify about changes to active splits. * @deprecated Use {@link #setSplitInfoCallback(Consumer)} starting with * {@link WindowExtensionsImpl#getVendorApiLevel()} 2. */ @Deprecated @Override public void setSplitInfoCallback( @NonNull java.util.function.Consumer<List<SplitInfo>> callback) { Consumer<List<SplitInfo>> oemConsumer = callback::accept; setSplitInfoCallback(oemConsumer); } /** * Registers the split organizer callback to notify about changes to active splits. * @since {@link WindowExtensionsImpl#getVendorApiLevel()} 2 */ public void setSplitInfoCallback(Consumer<List<SplitInfo>> callback) { public void setSplitInfoCallback(@NonNull Consumer<List<SplitInfo>> callback) { synchronized (mLock) { mEmbeddingCallback = callback; updateCallbackIfNecessary(); Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java +3 −4 Original line number Diff line number Diff line Loading @@ -42,11 +42,11 @@ import android.window.WindowContainerTransaction; import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.window.extensions.core.util.function.Function; import androidx.window.extensions.embedding.SplitAttributes.SplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.ExpandContainersSplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.HingeSplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.RatioSplitType; import androidx.window.extensions.embedding.SplitAttributesCalculator.SplitAttributesCalculatorParams; import androidx.window.extensions.embedding.TaskContainer.TaskProperties; import androidx.window.extensions.layout.DisplayFeature; import androidx.window.extensions.layout.FoldingFeature; Loading Loading @@ -522,8 +522,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { @NonNull SplitRule rule, @Nullable Pair<Size, Size> minDimensionsPair) { final Configuration taskConfiguration = taskProperties.getConfiguration(); final WindowMetrics taskWindowMetrics = getTaskWindowMetrics(taskConfiguration); final Function<SplitAttributesCalculatorParams, SplitAttributes> calculator = mController.getSplitAttributesCalculator(); final SplitAttributesCalculator calculator = mController.getSplitAttributesCalculator(); final SplitAttributes defaultSplitAttributes = rule.getDefaultSplitAttributes(); final boolean isDefaultMinSizeSatisfied = rule.checkParentMetrics(taskWindowMetrics); if (calculator == null) { Loading @@ -539,7 +538,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { final SplitAttributesCalculatorParams params = new SplitAttributesCalculatorParams( taskWindowMetrics, taskConfiguration, defaultSplitAttributes, isDefaultMinSizeSatisfied, windowLayoutInfo, rule.getTag()); final SplitAttributes splitAttributes = calculator.apply(params); final SplitAttributes splitAttributes = calculator.computeSplitAttributesForParams(params); return sanitizeSplitAttributes(taskProperties, splitAttributes, minDimensionsPair); } Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java +6 −27 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ import androidx.window.common.CommonFoldingFeature; import androidx.window.common.DeviceStateManagerFoldingFeatureProducer; import androidx.window.common.EmptyLifecycleCallbacksAdapter; import androidx.window.common.RawFoldingFeatureProducer; import androidx.window.extensions.core.util.function.Consumer; import androidx.window.util.DataProducer; import java.util.ArrayList; Loading @@ -52,6 +51,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Consumer; /** * Reference implementation of androidx.window.extensions.layout OEM interface for use with Loading Loading @@ -80,10 +80,6 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { private final Map<IBinder, ConfigurationChangeListener> mConfigurationChangeListeners = new ArrayMap<>(); @GuardedBy("mLock") private final Map<java.util.function.Consumer<WindowLayoutInfo>, Consumer<WindowLayoutInfo>> mJavaToExtConsumers = new ArrayMap<>(); public WindowLayoutComponentImpl(@NonNull Context context) { ((Application) context.getApplicationContext()) .registerActivityLifecycleCallbacks(new NotifyOnConfigurationChanged()); Loading @@ -94,8 +90,7 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { } /** Registers to listen to {@link CommonFoldingFeature} changes */ public void addFoldingStateChangedCallback( java.util.function.Consumer<List<CommonFoldingFeature>> consumer) { public void addFoldingStateChangedCallback(Consumer<List<CommonFoldingFeature>> consumer) { synchronized (mLock) { mFoldingFeatureProducer.addDataChangedCallback(consumer); } Loading @@ -109,17 +104,13 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { */ @Override public void addWindowLayoutInfoListener(@NonNull Activity activity, @NonNull java.util.function.Consumer<WindowLayoutInfo> consumer) { final Consumer<WindowLayoutInfo> extConsumer = consumer::accept; synchronized (mLock) { mJavaToExtConsumers.put(consumer, extConsumer); } addWindowLayoutInfoListener(activity, extConsumer); @NonNull Consumer<WindowLayoutInfo> consumer) { addWindowLayoutInfoListener((Context) activity, consumer); } /** * Similar to {@link #addWindowLayoutInfoListener(Activity, java.util.function.Consumer)}, but * takes a UI Context as a parameter. * Similar to {@link #addWindowLayoutInfoListener(Activity, Consumer)}, but takes a UI Context * as a parameter. * * Jetpack {@link androidx.window.layout.ExtensionWindowLayoutInfoBackend} makes sure all * consumers related to the same {@link Context} gets updated {@link WindowLayoutInfo} Loading Loading @@ -160,18 +151,6 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { } } @Override public void removeWindowLayoutInfoListener( @NonNull java.util.function.Consumer<WindowLayoutInfo> consumer) { final Consumer<WindowLayoutInfo> extConsumer; synchronized (mLock) { extConsumer = mJavaToExtConsumers.remove(consumer); } if (extConsumer != null) { removeWindowLayoutInfoListener(extConsumer); } } /** * Removes a listener no longer interested in receiving updates. * Loading libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/EmbeddingTestUtils.java +2 −26 Original line number Diff line number Diff line Loading @@ -34,11 +34,9 @@ import android.content.res.Resources; import android.graphics.Point; import android.graphics.Rect; import android.util.Pair; import android.view.WindowMetrics; import android.window.TaskFragmentInfo; import android.window.WindowContainerToken; import androidx.window.extensions.core.util.function.Predicate; import androidx.window.extensions.embedding.SplitAttributes.SplitType; import androidx.window.extensions.layout.DisplayFeature; import androidx.window.extensions.layout.FoldingFeature; Loading Loading @@ -109,7 +107,7 @@ public class EmbeddingTestUtils { static SplitRule createSplitRule(@NonNull Activity primaryActivity, @NonNull Intent secondaryIntent, boolean clearTop) { final Pair<Activity, Intent> targetPair = new Pair<>(primaryActivity, secondaryIntent); return createSplitPairRuleBuilder( return new SplitPairRule.Builder( activityPair -> false, targetPair::equals, w -> true) Loading Loading @@ -146,7 +144,7 @@ public class EmbeddingTestUtils { @NonNull Activity secondaryActivity, int finishPrimaryWithSecondary, int finishSecondaryWithPrimary, boolean clearTop) { final Pair<Activity, Activity> targetPair = new Pair<>(primaryActivity, secondaryActivity); return createSplitPairRuleBuilder( return new SplitPairRule.Builder( targetPair::equals, activityIntentPair -> false, w -> true) Loading Loading @@ -225,26 +223,4 @@ public class EmbeddingTestUtils { displayFeatures.add(foldingFeature); return new WindowLayoutInfo(displayFeatures); } static ActivityRule.Builder createActivityBuilder( @NonNull Predicate<Activity> activityPredicate, @NonNull Predicate<Intent> intentPredicate) { return new ActivityRule.Builder(activityPredicate, intentPredicate); } static SplitPairRule.Builder createSplitPairRuleBuilder( @NonNull Predicate<Pair<Activity, Activity>> activitiesPairPredicate, @NonNull Predicate<Pair<Activity, Intent>> activityIntentPairPredicate, @NonNull Predicate<WindowMetrics> windowMetricsPredicate) { return new SplitPairRule.Builder(activitiesPairPredicate, activityIntentPairPredicate, windowMetricsPredicate); } static SplitPlaceholderRule.Builder createSplitPlaceholderRuleBuilder( @NonNull Intent placeholderIntent, @NonNull Predicate<Activity> activityPredicate, @NonNull Predicate<Intent> intentPredicate, @NonNull Predicate<WindowMetrics> windowMetricsPredicate) { return new SplitPlaceholderRule.Builder(placeholderIntent, activityPredicate, intentPredicate, windowMetricsPredicate); } } Loading
libs/WindowManager/Jetpack/Android.bp +1 −10 Original line number Diff line number Diff line Loading @@ -63,12 +63,6 @@ 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: [ Loading @@ -76,10 +70,7 @@ java_library { "src/androidx/window/util/**/*.java", "src/androidx/window/common/**/*.java", ], static_libs: [ "window-extensions", "window-extensions-core", ], static_libs: ["window-extensions"], installable: true, sdk_version: "core_platform", system_ext_specific: true, Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +7 −25 Original line number Diff line number Diff line Loading @@ -75,10 +75,7 @@ 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; Loading @@ -89,6 +86,7 @@ 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. Loading @@ -114,7 +112,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(Function)} * It is registered via {@link #setSplitAttributesCalculator(SplitAttributesCalculator)} * and unregistered via {@link #clearSplitAttributesCalculator()}. * This is called when: * <ul> Loading @@ -127,7 +125,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen */ @GuardedBy("mLock") @Nullable private Function<SplitAttributesCalculatorParams, SplitAttributes> mSplitAttributesCalculator; private SplitAttributesCalculator mSplitAttributesCalculator; /** * Map from Task id to {@link TaskContainer} which contains all TaskFragment and split pair info Loading @@ -140,7 +138,6 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen final SparseArray<TaskContainer> mTaskContainers = new SparseArray<>(); /** Callback to Jetpack to notify about changes to split states. */ @GuardedBy("mLock") @Nullable private Consumer<List<SplitInfo>> mEmbeddingCallback; private final List<SplitInfo> mLastReportedSplitStates = new ArrayList<>(); Loading Loading @@ -174,8 +171,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen mWindowLayoutComponent.addFoldingStateChangedCallback(new FoldingFeatureListener()); } private class FoldingFeatureListener implements java.util.function.Consumer<List<CommonFoldingFeature>> { private class FoldingFeatureListener implements Consumer<List<CommonFoldingFeature>> { @Override public void accept(List<CommonFoldingFeature> foldingFeatures) { synchronized (mLock) { Loading Loading @@ -216,8 +212,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } @Override public void setSplitAttributesCalculator( @NonNull Function<SplitAttributesCalculatorParams, SplitAttributes> calculator) { public void setSplitAttributesCalculator(@NonNull SplitAttributesCalculator calculator) { synchronized (mLock) { mSplitAttributesCalculator = calculator; } Loading @@ -232,7 +227,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @GuardedBy("mLock") @Nullable Function<SplitAttributesCalculatorParams, SplitAttributes> getSplitAttributesCalculator() { SplitAttributesCalculator getSplitAttributesCalculator() { return mSplitAttributesCalculator; } Loading @@ -245,22 +240,9 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen /** * Registers the split organizer callback to notify about changes to active splits. * @deprecated Use {@link #setSplitInfoCallback(Consumer)} starting with * {@link WindowExtensionsImpl#getVendorApiLevel()} 2. */ @Deprecated @Override public void setSplitInfoCallback( @NonNull java.util.function.Consumer<List<SplitInfo>> callback) { Consumer<List<SplitInfo>> oemConsumer = callback::accept; setSplitInfoCallback(oemConsumer); } /** * Registers the split organizer callback to notify about changes to active splits. * @since {@link WindowExtensionsImpl#getVendorApiLevel()} 2 */ public void setSplitInfoCallback(Consumer<List<SplitInfo>> callback) { public void setSplitInfoCallback(@NonNull Consumer<List<SplitInfo>> callback) { synchronized (mLock) { mEmbeddingCallback = callback; updateCallbackIfNecessary(); Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java +3 −4 Original line number Diff line number Diff line Loading @@ -42,11 +42,11 @@ import android.window.WindowContainerTransaction; import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.window.extensions.core.util.function.Function; import androidx.window.extensions.embedding.SplitAttributes.SplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.ExpandContainersSplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.HingeSplitType; import androidx.window.extensions.embedding.SplitAttributes.SplitType.RatioSplitType; import androidx.window.extensions.embedding.SplitAttributesCalculator.SplitAttributesCalculatorParams; import androidx.window.extensions.embedding.TaskContainer.TaskProperties; import androidx.window.extensions.layout.DisplayFeature; import androidx.window.extensions.layout.FoldingFeature; Loading Loading @@ -522,8 +522,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { @NonNull SplitRule rule, @Nullable Pair<Size, Size> minDimensionsPair) { final Configuration taskConfiguration = taskProperties.getConfiguration(); final WindowMetrics taskWindowMetrics = getTaskWindowMetrics(taskConfiguration); final Function<SplitAttributesCalculatorParams, SplitAttributes> calculator = mController.getSplitAttributesCalculator(); final SplitAttributesCalculator calculator = mController.getSplitAttributesCalculator(); final SplitAttributes defaultSplitAttributes = rule.getDefaultSplitAttributes(); final boolean isDefaultMinSizeSatisfied = rule.checkParentMetrics(taskWindowMetrics); if (calculator == null) { Loading @@ -539,7 +538,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { final SplitAttributesCalculatorParams params = new SplitAttributesCalculatorParams( taskWindowMetrics, taskConfiguration, defaultSplitAttributes, isDefaultMinSizeSatisfied, windowLayoutInfo, rule.getTag()); final SplitAttributes splitAttributes = calculator.apply(params); final SplitAttributes splitAttributes = calculator.computeSplitAttributesForParams(params); return sanitizeSplitAttributes(taskProperties, splitAttributes, minDimensionsPair); } Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java +6 −27 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ import androidx.window.common.CommonFoldingFeature; import androidx.window.common.DeviceStateManagerFoldingFeatureProducer; import androidx.window.common.EmptyLifecycleCallbacksAdapter; import androidx.window.common.RawFoldingFeatureProducer; import androidx.window.extensions.core.util.function.Consumer; import androidx.window.util.DataProducer; import java.util.ArrayList; Loading @@ -52,6 +51,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Consumer; /** * Reference implementation of androidx.window.extensions.layout OEM interface for use with Loading Loading @@ -80,10 +80,6 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { private final Map<IBinder, ConfigurationChangeListener> mConfigurationChangeListeners = new ArrayMap<>(); @GuardedBy("mLock") private final Map<java.util.function.Consumer<WindowLayoutInfo>, Consumer<WindowLayoutInfo>> mJavaToExtConsumers = new ArrayMap<>(); public WindowLayoutComponentImpl(@NonNull Context context) { ((Application) context.getApplicationContext()) .registerActivityLifecycleCallbacks(new NotifyOnConfigurationChanged()); Loading @@ -94,8 +90,7 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { } /** Registers to listen to {@link CommonFoldingFeature} changes */ public void addFoldingStateChangedCallback( java.util.function.Consumer<List<CommonFoldingFeature>> consumer) { public void addFoldingStateChangedCallback(Consumer<List<CommonFoldingFeature>> consumer) { synchronized (mLock) { mFoldingFeatureProducer.addDataChangedCallback(consumer); } Loading @@ -109,17 +104,13 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { */ @Override public void addWindowLayoutInfoListener(@NonNull Activity activity, @NonNull java.util.function.Consumer<WindowLayoutInfo> consumer) { final Consumer<WindowLayoutInfo> extConsumer = consumer::accept; synchronized (mLock) { mJavaToExtConsumers.put(consumer, extConsumer); } addWindowLayoutInfoListener(activity, extConsumer); @NonNull Consumer<WindowLayoutInfo> consumer) { addWindowLayoutInfoListener((Context) activity, consumer); } /** * Similar to {@link #addWindowLayoutInfoListener(Activity, java.util.function.Consumer)}, but * takes a UI Context as a parameter. * Similar to {@link #addWindowLayoutInfoListener(Activity, Consumer)}, but takes a UI Context * as a parameter. * * Jetpack {@link androidx.window.layout.ExtensionWindowLayoutInfoBackend} makes sure all * consumers related to the same {@link Context} gets updated {@link WindowLayoutInfo} Loading Loading @@ -160,18 +151,6 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent { } } @Override public void removeWindowLayoutInfoListener( @NonNull java.util.function.Consumer<WindowLayoutInfo> consumer) { final Consumer<WindowLayoutInfo> extConsumer; synchronized (mLock) { extConsumer = mJavaToExtConsumers.remove(consumer); } if (extConsumer != null) { removeWindowLayoutInfoListener(extConsumer); } } /** * Removes a listener no longer interested in receiving updates. * Loading
libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/EmbeddingTestUtils.java +2 −26 Original line number Diff line number Diff line Loading @@ -34,11 +34,9 @@ import android.content.res.Resources; import android.graphics.Point; import android.graphics.Rect; import android.util.Pair; import android.view.WindowMetrics; import android.window.TaskFragmentInfo; import android.window.WindowContainerToken; import androidx.window.extensions.core.util.function.Predicate; import androidx.window.extensions.embedding.SplitAttributes.SplitType; import androidx.window.extensions.layout.DisplayFeature; import androidx.window.extensions.layout.FoldingFeature; Loading Loading @@ -109,7 +107,7 @@ public class EmbeddingTestUtils { static SplitRule createSplitRule(@NonNull Activity primaryActivity, @NonNull Intent secondaryIntent, boolean clearTop) { final Pair<Activity, Intent> targetPair = new Pair<>(primaryActivity, secondaryIntent); return createSplitPairRuleBuilder( return new SplitPairRule.Builder( activityPair -> false, targetPair::equals, w -> true) Loading Loading @@ -146,7 +144,7 @@ public class EmbeddingTestUtils { @NonNull Activity secondaryActivity, int finishPrimaryWithSecondary, int finishSecondaryWithPrimary, boolean clearTop) { final Pair<Activity, Activity> targetPair = new Pair<>(primaryActivity, secondaryActivity); return createSplitPairRuleBuilder( return new SplitPairRule.Builder( targetPair::equals, activityIntentPair -> false, w -> true) Loading Loading @@ -225,26 +223,4 @@ public class EmbeddingTestUtils { displayFeatures.add(foldingFeature); return new WindowLayoutInfo(displayFeatures); } static ActivityRule.Builder createActivityBuilder( @NonNull Predicate<Activity> activityPredicate, @NonNull Predicate<Intent> intentPredicate) { return new ActivityRule.Builder(activityPredicate, intentPredicate); } static SplitPairRule.Builder createSplitPairRuleBuilder( @NonNull Predicate<Pair<Activity, Activity>> activitiesPairPredicate, @NonNull Predicate<Pair<Activity, Intent>> activityIntentPairPredicate, @NonNull Predicate<WindowMetrics> windowMetricsPredicate) { return new SplitPairRule.Builder(activitiesPairPredicate, activityIntentPairPredicate, windowMetricsPredicate); } static SplitPlaceholderRule.Builder createSplitPlaceholderRuleBuilder( @NonNull Intent placeholderIntent, @NonNull Predicate<Activity> activityPredicate, @NonNull Predicate<Intent> intentPredicate, @NonNull Predicate<WindowMetrics> windowMetricsPredicate) { return new SplitPlaceholderRule.Builder(placeholderIntent, activityPredicate, intentPredicate, windowMetricsPredicate); } }