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
diff --git a/res/values/config.xml b/res/values/config.xml
index ec239a2..7901a4c 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -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>
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index 8484324..42e856d 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -92,7 +92,7 @@
                 clearTop,
                 ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
                 ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
-                ActivityEmbeddingUtils.SPLIT_RATIO,
+                ActivityEmbeddingUtils.getSplitRatio(context),
                 LayoutDirection.LOCALE));
     }
 
@@ -198,7 +198,7 @@
                 SplitRule.FINISH_ADJACENT,
                 ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
                 ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
-                ActivityEmbeddingUtils.SPLIT_RATIO,
+                ActivityEmbeddingUtils.getSplitRatio(mContext),
                 LayoutDirection.LOCALE);
 
         mSplitController.registerRule(placeholderRule);
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
index ab999ed..38af8d6 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -24,9 +24,10 @@
 
 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 @@
                 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,