Merge "Make inline suggestions tooltip is not magnified" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-06-15 21:22:09 +00:00
committed by Android (Google) Code Review
3 changed files with 19 additions and 0 deletions

View File

@@ -2370,6 +2370,14 @@ public interface WindowManager extends ViewManager {
*/ */
public static final int PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY = 0x00100000; public static final int PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY = 0x00100000;
/**
* Flag to prevent the window from being magnified by the accessibility magnifier.
*
* TODO(b/190623172): This is a temporary solution and need to find out another way instead.
* @hide
*/
public static final int PRIVATE_FLAG_NOT_MAGNIFIABLE = 0x00400000;
/** /**
* Flag to indicate that the status bar window is in a state such that it forces showing * Flag to indicate that the status bar window is in a state such that it forces showing
* the navigation bar unless the navigation bar window is explicitly set to * the navigation bar unless the navigation bar window is explicitly set to
@@ -2473,6 +2481,7 @@ public interface WindowManager extends ViewManager {
PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE, PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE,
SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS, SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS,
PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY, PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY,
PRIVATE_FLAG_NOT_MAGNIFIABLE,
PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION, PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION,
PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC, PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC,
PRIVATE_FLAG_USE_BLAST, PRIVATE_FLAG_USE_BLAST,
@@ -2552,6 +2561,10 @@ public interface WindowManager extends ViewManager {
mask = PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY, mask = PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY,
equals = PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY, equals = PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY,
name = "IS_ROUNDED_CORNERS_OVERLAY"), name = "IS_ROUNDED_CORNERS_OVERLAY"),
@ViewDebug.FlagToString(
mask = PRIVATE_FLAG_NOT_MAGNIFIABLE,
equals = PRIVATE_FLAG_NOT_MAGNIFIABLE,
name = "NOT_MAGNIFIABLE"),
@ViewDebug.FlagToString( @ViewDebug.FlagToString(
mask = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION, mask = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION,
equals = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION, equals = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION,

View File

@@ -213,6 +213,8 @@ public final class InlineTooltipUi extends PopupWindow implements AutoCloseable
if (!mShowing) { if (!mShowing) {
params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
params.privateFlags |=
WindowManager.LayoutParams.PRIVATE_FLAG_NOT_MAGNIFIABLE;
mContentContainer.addOnLayoutChangeListener(mAnchoredOnLayoutChangeListener); mContentContainer.addOnLayoutChangeListener(mAnchoredOnLayoutChangeListener);
mWm.addView(mContentContainer, params); mWm.addView(mContentContainer, params);
mShowing = true; mShowing = true;

View File

@@ -61,6 +61,7 @@ import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_M
import static android.view.WindowManager.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.MATCH_PARENT;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NOT_MAGNIFIABLE;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_WILL_NOT_REPLACE_ON_RELAUNCH; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_WILL_NOT_REPLACE_ON_RELAUNCH;
@@ -5385,6 +5386,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|| mAttrs.type == TYPE_NAVIGATION_BAR_PANEL) { || mAttrs.type == TYPE_NAVIGATION_BAR_PANEL) {
return false; return false;
} }
if ((mAttrs.privateFlags & PRIVATE_FLAG_NOT_MAGNIFIABLE) != 0) {
return false;
}
return true; return true;
} }