Unable to drag and edit the Accessibility shortcut
Problem:
In User or Guest mode, dragging a shortcut created in Accessibility to
the edit icon does not open the shortcut display style menu.
Solution:
Use startActivityAsUser instead of startActivity to fix this issue.
Bug: 351856795
Test: Manual
Test: atest MenuViewLayerTest
Flag: EXEMPT bugfix low risk
(cherry picked from https://partner-android-review.googlesource.com/q/commit:416e3cef2c381b3c4c11d69618671147b9018e4d)
Merged-In: I730db99a999a9535b266ce9f24f2cddf864dc6ef
Change-Id: I730db99a999a9535b266ce9f24f2cddf864dc6ef
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
index 4a28d8b..27ded74 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
@@ -515,7 +515,7 @@
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent,
PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY));
if (!activities.isEmpty()) {
- mContext.startActivity(intent);
+ mContext.startActivityAsUser(intent, UserHandle.CURRENT);
mStatusBarManager.collapsePanels();
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
index c30bedd..12140b5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
@@ -288,7 +288,7 @@
mockActivityQuery(true);
mMenuViewLayer.dispatchAccessibilityAction(R.id.action_edit);
ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- verify(mSpyContext).startActivity(intentCaptor.capture());
+ verify(mSpyContext).startActivityAsUser(intentCaptor.capture(), eq(UserHandle.CURRENT));
assertThat(intentCaptor.getValue().getAction()).isEqualTo(
mMenuViewLayer.getIntentForEditScreen().getAction());
}
@@ -299,6 +299,7 @@
mockActivityQuery(false);
mMenuViewLayer.dispatchAccessibilityAction(R.id.action_edit);
verify(mSpyContext, never()).startActivity(any());
+ verify(mSpyContext, never()).startActivityAsUser(any(), any());
}
@Test