Merge "Trigger re-inflation when configuration changed" into udc-dev
diff --git a/packages/SystemUI/res/drawable/ic_magnification_menu_large.xml b/packages/SystemUI/res/drawable/ic_magnification_menu_large.xml
index 92c9527..401ac73 100644
--- a/packages/SystemUI/res/drawable/ic_magnification_menu_large.xml
+++ b/packages/SystemUI/res/drawable/ic_magnification_menu_large.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="48dp"
- android:height="48dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal">
diff --git a/packages/SystemUI/res/drawable/ic_magnification_menu_medium.xml b/packages/SystemUI/res/drawable/ic_magnification_menu_medium.xml
index 209681f..9a850e8 100644
--- a/packages/SystemUI/res/drawable/ic_magnification_menu_medium.xml
+++ b/packages/SystemUI/res/drawable/ic_magnification_menu_medium.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="48dp"
- android:height="48dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal">
diff --git a/packages/SystemUI/res/drawable/ic_magnification_menu_small.xml b/packages/SystemUI/res/drawable/ic_magnification_menu_small.xml
index a3dc816..54322c5 100644
--- a/packages/SystemUI/res/drawable/ic_magnification_menu_small.xml
+++ b/packages/SystemUI/res/drawable/ic_magnification_menu_small.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="48dp"
- android:height="48dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal">
diff --git a/packages/SystemUI/res/drawable/ic_open_in_full.xml b/packages/SystemUI/res/drawable/ic_open_in_full.xml
index c7f3236..7081c4b 100644
--- a/packages/SystemUI/res/drawable/ic_open_in_full.xml
+++ b/packages/SystemUI/res/drawable/ic_open_in_full.xml
@@ -14,8 +14,8 @@
~ limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="48dp"
- android:height="48dp"
+ android:width="24dp"
+ android:height="24dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal">
diff --git a/packages/SystemUI/res/layout/window_magnification_settings_view.xml b/packages/SystemUI/res/layout/window_magnification_settings_view.xml
index ae0f8f4..3d0741c 100644
--- a/packages/SystemUI/res/layout/window_magnification_settings_view.xml
+++ b/packages/SystemUI/res/layout/window_magnification_settings_view.xml
@@ -35,7 +35,7 @@
android:text="@string/accessibility_magnifier_size"
android:textAppearance="@style/TextAppearance.MagnificationSetting.Title"
android:focusable="true"
- android:layout_gravity="center_vertical|left" />
+ android:layout_gravity="center_vertical" />
<Button
android:id="@+id/magnifier_edit_button"
@@ -45,25 +45,22 @@
android:text="@string/accessibility_magnifier_edit"
android:textAppearance="@style/TextAppearance.MagnificationSetting.EditButton"
android:focusable="true"
- android:layout_gravity="right" />
+ android:layout_gravity="center_vertical" />
</LinearLayout>
<LinearLayout
android:background="@drawable/accessibility_magnification_setting_view_image_btn_layout_bg"
- android:layout_width="@dimen/magnification_setting_image_button_background_width"
+ android:layout_width="match_parent"
android:layout_height="@dimen/magnification_setting_image_button_height"
+ android:minWidth="@dimen/magnification_setting_image_button_background_width"
android:orientation="horizontal">
<ImageButton
android:id="@+id/magnifier_small_button"
android:layout_width="0dp"
android:layout_height="@dimen/magnification_setting_image_button_height"
android:layout_weight="1"
- android:scaleType="fitCenter"
+ android:scaleType="center"
android:background="@drawable/accessibility_magnification_setting_view_image_btn_bg"
- android:paddingLeft="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingRight="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingTop="@dimen/magnification_setting_image_button_padding_vertical"
- android:paddingBottom="@dimen/magnification_setting_image_button_padding_vertical"
android:src="@drawable/ic_magnification_menu_small"
android:tint="@color/accessibility_magnification_image_button_tint"
android:tintMode="src_atop" />
@@ -73,12 +70,8 @@
android:layout_width="0dp"
android:layout_height="@dimen/magnification_setting_image_button_height"
android:layout_weight="1"
- android:scaleType="fitCenter"
+ android:scaleType="center"
android:background="@drawable/accessibility_magnification_setting_view_image_btn_bg"
- android:paddingLeft="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingRight="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingTop="@dimen/magnification_setting_image_button_padding_vertical"
- android:paddingBottom="@dimen/magnification_setting_image_button_padding_vertical"
android:src="@drawable/ic_magnification_menu_medium"
android:tint="@color/accessibility_magnification_image_button_tint"
android:tintMode="src_atop" />
@@ -88,12 +81,8 @@
android:layout_width="0dp"
android:layout_height="@dimen/magnification_setting_image_button_height"
android:layout_weight="1"
- android:scaleType="fitCenter"
+ android:scaleType="center"
android:background="@drawable/accessibility_magnification_setting_view_image_btn_bg"
- android:paddingLeft="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingRight="@dimen/magnification_setting_image_button_padding_horizontal"
- android:paddingTop="@dimen/magnification_setting_image_button_padding_vertical"
- android:paddingBottom="@dimen/magnification_setting_image_button_padding_vertical"
android:src="@drawable/ic_magnification_menu_large"
android:tint="@color/accessibility_magnification_image_button_tint"
android:tintMode="src_atop" />
@@ -103,16 +92,8 @@
android:layout_width="0dp"
android:layout_height="@dimen/magnification_setting_image_button_height"
android:layout_weight="1"
- android:scaleType="fitCenter"
+ android:scaleType="center"
android:background="@drawable/accessibility_magnification_setting_view_image_btn_bg"
- android:paddingLeft
- ="@dimen/magnification_setting_image_button_open_in_full_padding_horizontal"
- android:paddingRight
- ="@dimen/magnification_setting_image_button_open_in_full_padding_horizontal"
- android:paddingTop
- ="@dimen/magnification_setting_image_button_open_in_full_padding_vertical"
- android:paddingBottom
- ="@dimen/magnification_setting_image_button_open_in_full_padding_vertical"
android:src="@drawable/ic_open_in_full"
android:tint="@color/accessibility_magnification_image_button_tint"
android:tintMode="src_atop" />
@@ -130,7 +111,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:singleLine="true"
android:text="@string/accessibility_allow_diagonal_scrolling"
android:textAppearance="@style/TextAppearance.MagnificationSetting.Title"
android:layout_gravity="center_vertical" />
@@ -166,16 +146,11 @@
<Button
android:id="@+id/magnifier_done_button"
android:background="@drawable/accessibility_window_magnification_button_done_bg"
- android:minHeight="@dimen/magnification_setting_button_done_height"
- android:layout_width="@dimen/magnification_setting_button_done_width"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/accessibility_magnification_done"
android:textAppearance="@style/TextAppearance.MagnificationSetting.DoneButton"
android:focusable="true"
android:layout_gravity="center_horizontal"
- android:layout_marginTop="@dimen/magnification_setting_view_margin"
- android:paddingLeft="@dimen/magnification_setting_button_done_padding_horizontal"
- android:paddingRight="@dimen/magnification_setting_button_done_padding_horizontal"
- android:paddingTop="@dimen/magnification_setting_button_done_padding_vertical"
- android:paddingBottom="@dimen/magnification_setting_button_done_padding_vertical" />
+ android:layout_marginTop="@dimen/magnification_setting_view_margin"/>
</LinearLayout>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 2cd2173..6596ed2 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -1358,6 +1358,7 @@
<item name="android:fontFamily">google-sans</item>
<item name="android:textColor">?androidprv:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/magnification_setting_text_size</item>
+ <item name="android:singleLine">true</item>
</style>
<style name="TextAppearance.MagnificationSetting.EditButton">
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
index d811d30..57c9918 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
@@ -403,15 +403,21 @@
mAnimationController.deleteWindowMagnification(animationCallback);
}
+ void deleteWindowMagnification() {
+ deleteWindowMagnification(/* closeSettingPanel= */ true);
+ }
+
/**
* Deletes the magnification window.
*/
- void deleteWindowMagnification() {
+ void deleteWindowMagnification(boolean closeSettingPanel) {
if (!isWindowVisible()) {
return;
}
- closeMagnificationSettings();
+ if (closeSettingPanel) {
+ closeMagnificationSettings();
+ }
if (mMirrorSurface != null) {
mTransaction.remove(mMirrorSurface).apply();
@@ -489,7 +495,7 @@
// Recreate the window again to correct the window appearance due to density or
// window size changed not caused by rotation.
if (isWindowVisible() && reCreateWindow) {
- deleteWindowMagnification();
+ deleteWindowMagnification(/* closeSettingPanel= */ false);
enableWindowMagnificationInternal(Float.NaN, Float.NaN, Float.NaN);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java
index fb701ae..d9f5544 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java
@@ -230,14 +230,6 @@
}
};
- private void applyResourcesValuesWithDensityChanged() {
- if (mIsVisible) {
- // Reset button to make its window layer always above the mirror window.
- hideSettingPanel();
- showSettingPanel(false);
- }
- }
-
private boolean onTouch(View v, MotionEvent event) {
if (!mIsVisible) {
return false;
@@ -441,7 +433,15 @@
void onConfigurationChanged(int configDiff) {
if ((configDiff & ActivityInfo.CONFIG_UI_MODE) != 0
- || (configDiff & ActivityInfo.CONFIG_ASSETS_PATHS) != 0) {
+ || (configDiff & ActivityInfo.CONFIG_ASSETS_PATHS) != 0
+ || (configDiff & ActivityInfo.CONFIG_FONT_SCALE) != 0
+ || (configDiff & ActivityInfo.CONFIG_DENSITY) != 0) {
+ // We listen to following config changes to trigger layout inflation:
+ // CONFIG_UI_MODE: theme change
+ // CONFIG_ASSETS_PATHS: wallpaper change
+ // CONFIG_FONT_SCALE: font size change
+ // CONFIG_DENSITY: display size change
+
boolean showSettingPanelAfterThemeChange = mIsVisible;
hideSettingPanel(/* resetPosition= */ false);
inflateView();
@@ -450,6 +450,7 @@
}
return;
}
+
if ((configDiff & ActivityInfo.CONFIG_ORIENTATION) != 0) {
final Rect previousDraggableBounds = new Rect(mDraggableWindowBounds);
mDraggableWindowBounds.set(getDraggableWindowBounds());
@@ -461,10 +462,7 @@
+ mDraggableWindowBounds.top;
return;
}
- if ((configDiff & ActivityInfo.CONFIG_DENSITY) != 0) {
- applyResourcesValuesWithDensityChanged();
- return;
- }
+
if ((configDiff & ActivityInfo.CONFIG_LOCALE) != 0) {
updateAccessibilityWindowTitle();
return;