Merge "Make bluetooth switch not discoverable via SliceDeepLinkTrampoline" into tm-qpr-dev am: c8f6bba271
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20410007 Change-Id: I5195b9513c575bc28f0b6930a6c40c570048f6d4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -18,12 +18,17 @@ package com.android.settings.connecteddevice;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.bluetooth.BluetoothDeviceRenamePreferenceController;
|
||||
import com.android.settings.bluetooth.BluetoothSwitchPreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.password.PasswordUtils;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.MainSwitchBarController;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
@@ -40,6 +45,10 @@ public class BluetoothDashboardFragment extends DashboardFragment {
|
||||
|
||||
private static final String TAG = "BluetoothDashboardFrag";
|
||||
private static final String KEY_BLUETOOTH_SCREEN_FOOTER = "bluetooth_screen_footer";
|
||||
private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
|
||||
private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
|
||||
private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
|
||||
private FooterPreference mFooterPreference;
|
||||
private SettingsMainSwitchBar mSwitchBar;
|
||||
@@ -80,17 +89,33 @@ public class BluetoothDashboardFragment extends DashboardFragment {
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
String callingAppPackageName = PasswordUtils.getCallingAppPackageName(
|
||||
getActivity().getActivityToken());
|
||||
String action = getIntent() != null ? getIntent().getAction() : "";
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "onActivityCreated() calling package name is : " + callingAppPackageName
|
||||
+ ", action : " + action);
|
||||
}
|
||||
|
||||
SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
mSwitchBar = activity.getSwitchBar();
|
||||
mSwitchBar.setTitle(getContext().getString(R.string.bluetooth_main_switch_title));
|
||||
mController = new BluetoothSwitchPreferenceController(activity,
|
||||
new MainSwitchBarController(mSwitchBar), mFooterPreference);
|
||||
mController.setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
|
||||
Lifecycle lifecycle = getSettingsLifecycle();
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(mController);
|
||||
}
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
/**
|
||||
* For Search.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user