[automerge] RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline 2p: 1c4142e1ae

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18330690

Bug: 228450811
Change-Id: I8e1ee6a97b57934b553a962f8f459d3f6afd746e
This commit is contained in:
Hugh Chen
2022-05-12 06:14:37 +00:00
committed by Presubmit Automerger Backend
2 changed files with 41 additions and 4 deletions

View File

@@ -39,6 +39,7 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
@VisibleForTesting
static final String KEY_CONNECTED_DEVICES = "connected_device_list";
@@ -72,8 +73,10 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED, true);
String callingAppPackageName = PasswordUtils.getCallingAppPackageName(
getActivity().getActivityToken());
String action = getIntent() != null ? getIntent().getAction() : "";
if (DEBUG) {
Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName);
Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName
+ ", action : " + action);
}
use(AvailableMediaDeviceGroupController.class).init(this);
use(ConnectedDeviceGroupController.class).init(this);
@@ -81,9 +84,15 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
: null);
use(DiscoverableFooterPreferenceController.class).setAlwaysDiscoverable(
TextUtils.equals(SETTINGS_PACKAGE_NAME, callingAppPackageName)
|| TextUtils.equals(SYSTEMUI_PACKAGE_NAME, callingAppPackageName));
use(DiscoverableFooterPreferenceController.class)
.setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
}
@VisibleForTesting
boolean isAlwaysDiscoverable(String callingAppPackageName, String action) {
return TextUtils.equals(SLICE_ACTION, action) ? false
: TextUtils.equals(SETTINGS_PACKAGE_NAME, callingAppPackageName)
|| TextUtils.equals(SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
}
/**