From c48d63752a60443db076b1538588c2b57862d285 Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Thu, 14 May 2020 02:15:26 +0200 Subject: [PATCH 1/3] Prevent overlay drawing on top of Bluetooth discovery request dialog Bug: 155650356 Change-Id: I9cee6e5bb8cef77aa385d664fe0738db1496ef20 --- .../android/settings/bluetooth/RequestPermissionActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java index 54854065e99..4446fb6d8d4 100644 --- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java +++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java @@ -37,6 +37,8 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settingslib.bluetooth.BluetoothDiscoverableTimeoutReceiver; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + /** * RequestPermissionActivity asks the user whether to enable discovery. This is * usually started by an application wanted to start bluetooth and or discovery @@ -72,6 +74,8 @@ public class RequestPermissionActivity extends Activity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); + setResult(Activity.RESULT_CANCELED); // Note: initializes mBluetoothAdapter and returns true on error From 8870dcb421c13789956668dcf2fe78c099836ecd Mon Sep 17 00:00:00 2001 From: Hiroki Sato Date: Tue, 2 Jun 2020 16:08:34 +0900 Subject: [PATCH 2/3] Fix keyboard navigation work in Settings home page Bug: 156196960 Bug: 156565546 Test: manually confirmed tab or arrow key moves input focus. Change-Id: Ic2eb6395b490c97c8d82722ce1ba3a79d535ade2 --- res/layout/settings_homepage_container.xml | 7 ++++--- .../settings/homepage/SettingsHomepageActivity.java | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/res/layout/settings_homepage_container.xml b/res/layout/settings_homepage_container.xml index d6c4aeff504..f210c542542 100644 --- a/res/layout/settings_homepage_container.xml +++ b/res/layout/settings_homepage_container.xml @@ -33,8 +33,7 @@ android:id="@+id/homepage_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" - android:descendantFocusability="blocksDescendants"> + android:orientation="vertical"> + android:layout_height="wrap_content" + android:touchscreenBlocksFocus="false" + android:keyboardNavigationCluster="false"> diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index 5e6c54bb7c2..a8426437f57 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -90,5 +90,9 @@ public class SettingsHomepageActivity extends FragmentActivity { // The top padding is the height of action bar(48dp) + top/bottom margins(16dp) final int paddingTop = searchBarHeight + searchBarMargin * 2; view.setPadding(0 /* left */, paddingTop, 0 /* right */, 0 /* bottom */); + + // Prevent inner RecyclerView gets focus and invokes scrolling. + view.setFocusableInTouchMode(true); + view.requestFocus(); } -} \ No newline at end of file +} From 6534317317c1d8e86c5565932bd6b4508f2ad980 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Mon, 8 Jun 2020 16:11:23 -0400 Subject: [PATCH 3/3] Fix shortcut flags Test: view the conversation detail page for a conversation with a posted notification Fixes: 158033229 Change-Id: I3c51d9565201cb39a5d76d8aaca75c026e630e51 --- .../android/settings/notification/NotificationBackend.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java index 483e8aaa33e..e23e4a567d7 100644 --- a/src/com/android/settings/notification/NotificationBackend.java +++ b/src/com/android/settings/notification/NotificationBackend.java @@ -17,8 +17,10 @@ package com.android.settings.notification; import static android.app.NotificationManager.IMPORTANCE_NONE; import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED; +import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_CACHED; import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC; import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED; +import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER; import android.app.INotificationManager; import android.app.NotificationChannel; @@ -544,7 +546,8 @@ public class NotificationBackend { LauncherApps.ShortcutQuery query = new LauncherApps.ShortcutQuery() .setPackage(pkg) - .setQueryFlags(FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED) + .setQueryFlags(FLAG_MATCH_DYNAMIC + | FLAG_MATCH_PINNED_BY_ANY_LAUNCHER | FLAG_MATCH_CACHED) .setShortcutIds(Arrays.asList(id)); List shortcuts = la.getShortcuts( query, UserHandle.of(UserHandle.getUserId(uid)));