Merge "Trigger re-inflation when configuration changed" into udc-dev
This commit is contained in:
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -403,15 +403,21 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
||||
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 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,14 +230,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
|
||||
}
|
||||
};
|
||||
|
||||
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 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
|
||||
|
||||
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 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if ((configDiff & ActivityInfo.CONFIG_ORIENTATION) != 0) {
|
||||
final Rect previousDraggableBounds = new Rect(mDraggableWindowBounds);
|
||||
mDraggableWindowBounds.set(getDraggableWindowBounds());
|
||||
@@ -461,10 +462,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
|
||||
+ mDraggableWindowBounds.top;
|
||||
return;
|
||||
}
|
||||
if ((configDiff & ActivityInfo.CONFIG_DENSITY) != 0) {
|
||||
applyResourcesValuesWithDensityChanged();
|
||||
return;
|
||||
}
|
||||
|
||||
if ((configDiff & ActivityInfo.CONFIG_LOCALE) != 0) {
|
||||
updateAccessibilityWindowTitle();
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user