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/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 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 +} 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)));