Make the Settings split ratio configurable.
This new config will be overlayed in titan devices to update the split ratio to 30/70 Bug: 215707431 Test: locally on device Change-Id: I7bd193d7516939f5c4d434cd3333456c20e53a91
This commit is contained in:
@@ -583,4 +583,7 @@
|
|||||||
-->
|
-->
|
||||||
</string-array>
|
</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>
|
</resources>
|
||||||
|
@@ -92,7 +92,7 @@ public class ActivityEmbeddingRulesController {
|
|||||||
clearTop,
|
clearTop,
|
||||||
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
|
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
|
||||||
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
|
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
|
||||||
ActivityEmbeddingUtils.SPLIT_RATIO,
|
ActivityEmbeddingUtils.getSplitRatio(context),
|
||||||
LayoutDirection.LOCALE));
|
LayoutDirection.LOCALE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,7 +198,7 @@ public class ActivityEmbeddingRulesController {
|
|||||||
SplitRule.FINISH_ADJACENT,
|
SplitRule.FINISH_ADJACENT,
|
||||||
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
|
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
|
||||||
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
|
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
|
||||||
ActivityEmbeddingUtils.SPLIT_RATIO,
|
ActivityEmbeddingUtils.getSplitRatio(mContext),
|
||||||
LayoutDirection.LOCALE);
|
LayoutDirection.LOCALE);
|
||||||
|
|
||||||
mSplitController.registerRule(placeholderRule);
|
mSplitController.registerRule(placeholderRule);
|
||||||
|
@@ -24,9 +24,10 @@ import android.util.TypedValue;
|
|||||||
|
|
||||||
import androidx.window.embedding.SplitController;
|
import androidx.window.embedding.SplitController;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
|
||||||
/** An util class collecting all common methods for the embedding activity features. */
|
/** An util class collecting all common methods for the embedding activity features. */
|
||||||
public class ActivityEmbeddingUtils {
|
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.
|
// 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;
|
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
|
// 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);
|
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. */
|
/** Whether to support embedding activity feature. */
|
||||||
public static boolean isEmbeddingActivityEnabled(Context context) {
|
public static boolean isEmbeddingActivityEnabled(Context context) {
|
||||||
final boolean isFlagEnabled = FeatureFlagUtils.isEnabled(context,
|
final boolean isFlagEnabled = FeatureFlagUtils.isEnabled(context,
|
||||||
|
Reference in New Issue
Block a user