Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab815460 authored by Jiaming Liu's avatar Jiaming Liu Committed by Cherrypicker Worker
Browse files

Get FoldingFeatures only when needed

Bug: 295277561
Test: atest CtsWindowManagerJetpackTestCases
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c25fb50db94791be961bfaa96208eac336564a51)
Merged-In: I05394fcdb3dd637713fe37a2ee188e0d9c298cf6
Change-Id: I05394fcdb3dd637713fe37a2ee188e0d9c298cf6
parent b090b16d
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -651,7 +651,8 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer {
        if (minDimensionsPair == null) {
            return splitAttributes;
        }
        final FoldingFeature foldingFeature = getFoldingFeature(taskProperties);
        final FoldingFeature foldingFeature = getFoldingFeatureForHingeType(
                taskProperties, splitAttributes);
        final Configuration taskConfiguration = taskProperties.getConfiguration();
        final Rect primaryBounds = getPrimaryBounds(taskConfiguration, splitAttributes,
                foldingFeature);
@@ -726,7 +727,8 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer {
    Rect getRelBoundsForPosition(@Position int position, @NonNull TaskProperties taskProperties,
            @NonNull SplitAttributes splitAttributes) {
        final Configuration taskConfiguration = taskProperties.getConfiguration();
        final FoldingFeature foldingFeature = getFoldingFeature(taskProperties);
        final FoldingFeature foldingFeature = getFoldingFeatureForHingeType(
                taskProperties, splitAttributes);
        if (!shouldShowSplit(splitAttributes)) {
            return new Rect();
        }
@@ -932,6 +934,17 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer {
        }
    }

    @Nullable
    private FoldingFeature getFoldingFeatureForHingeType(
            @NonNull TaskProperties taskProperties,
            @NonNull SplitAttributes splitAttributes) {
        SplitType splitType = splitAttributes.getSplitType();
        if (!(splitType instanceof HingeSplitType)) {
            return null;
        }
        return getFoldingFeature(taskProperties);
    }

    @Nullable
    @VisibleForTesting
    FoldingFeature getFoldingFeature(@NonNull TaskProperties taskProperties) {