From 4cc729ebca9bfc3898c8e1dfb8fbf9ca2f52c36f Mon Sep 17 00:00:00 2001 From: Sihua Ma Date: Fri, 20 Dec 2024 19:30:14 +0000 Subject: [PATCH] Remove disruptive announcement when exiting folder Accessibility announcement needs to be disabled when folder is closing Test: Manual Flag: EXEMPT bug fix Fix: 383248901 Change-Id: Ie6077a1214c234946bc9fb59ce54dfa7107188bd --- src/com/android/launcher3/folder/Folder.java | 2 ++ .../android/launcher3/folder/FolderPagedView.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 5defef3889..e68e3c9164 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -680,6 +680,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo closeOpenFolder(openFolder); mContent.bindItems(items); + mContent.setCanAnnouncePageDescriptionForFolder(true); centerAboutIcon(); mItemsInvalidated = true; updateTextViewFocus(); @@ -813,6 +814,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo @Override protected void handleClose(boolean animate) { mIsOpen = false; + mContent.setCanAnnouncePageDescriptionForFolder(false); if (!animate && mCurrentAnimator != null && mCurrentAnimator.isRunning()) { mCurrentAnimator.cancel(); diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java index fe261945a0..8d751e652c 100644 --- a/src/com/android/launcher3/folder/FolderPagedView.java +++ b/src/com/android/launcher3/folder/FolderPagedView.java @@ -100,6 +100,8 @@ public class FolderPagedView extends PagedView implements Cli // animating or is open. private boolean mViewsBound = false; + private boolean mCanAnnouncePageDescription; + public FolderPagedView(Context context, AttributeSet attrs) { this( context, @@ -170,6 +172,19 @@ public class FolderPagedView extends PagedView implements Cli mViewsBound = true; } + void setCanAnnouncePageDescriptionForFolder(boolean canAnnounce) { + mCanAnnouncePageDescription = canAnnounce; + } + + private boolean canAnnouncePageDescriptionForFolder() { + return mCanAnnouncePageDescription; + } + + @Override + protected boolean canAnnouncePageDescription() { + return super.canAnnouncePageDescription() && canAnnouncePageDescriptionForFolder(); + } + /** * Removes all the icons from the folder */