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

Commit 01288373 authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Make the Settings split ratio configurable."

parents a148b32b fab78665
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -583,4 +583,7 @@
        -->
    </string-array>

    <!-- The ratio to use when using the two-pane settings layout -->
    <item name="config_activity_embed_split_ratio" format="float" type="dimen">0.5</item>

</resources>
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ public class ActivityEmbeddingRulesController {
                clearTop,
                ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
                ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
                ActivityEmbeddingUtils.SPLIT_RATIO,
                ActivityEmbeddingUtils.getSplitRatio(context),
                LayoutDirection.LOCALE));
    }

@@ -202,7 +202,7 @@ public class ActivityEmbeddingRulesController {
                SplitRule.FINISH_ADJACENT,
                ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
                ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
                ActivityEmbeddingUtils.SPLIT_RATIO,
                ActivityEmbeddingUtils.getSplitRatio(mContext),
                LayoutDirection.LOCALE);

        mSplitController.registerRule(placeholderRule);
+10 −1
Original line number Diff line number Diff line
@@ -24,9 +24,10 @@ import android.util.TypedValue;

import androidx.window.embedding.SplitController;

import com.android.settings.R;

/** An util class collecting all common methods for the embedding activity features. */
public class ActivityEmbeddingUtils {
    public static final float SPLIT_RATIO = 0.5f;
    // The smallest value of current width of the window when the split should be used.
    private static final float MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP = 720f;
    // The smallest value of the smallest-width (sw) of the window in any rotation when
@@ -51,6 +52,14 @@ public class ActivityEmbeddingUtils {
                TypedValue.COMPLEX_UNIT_DIP, MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP, dm);
    }

    /**
     * Get the ratio to use when splitting windows. This should be a float which describes
     * the percentage of the screen which the first window should occupy.
     */
    public static float getSplitRatio(Context context) {
        return context.getResources().getFloat(R.dimen.config_activity_embed_split_ratio);
    }

    /** Whether to support embedding activity feature. */
    public static boolean isEmbeddingActivityEnabled(Context context) {
        final boolean isFlagEnabled = FeatureFlagUtils.isEnabled(context,