diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-04-23 09:11:28 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-04-23 09:11:28 +0000 |
commit | 47b254ad8859ae061f58cd853f7929218ae29ef0 (patch) | |
tree | 9a770e490aa50f5b387de26e04c3dfabc905e0d0 /src | |
parent | 3e6e4a1ad5a7680a93cb18a75c671baad36354a6 (diff) | |
parent | 8adedc62496cf8cf6ecfc6ccf23b0b248081d7d4 (diff) | |
download | packages_apps_Settings-47b254ad8859ae061f58cd853f7929218ae29ef0.tar.gz packages_apps_Settings-47b254ad8859ae061f58cd853f7929218ae29ef0.tar.bz2 packages_apps_Settings-47b254ad8859ae061f58cd853f7929218ae29ef0.zip |
Merge "Fix bluetooth settings will broadcast to anywhere when some cases" into sc-dev
Diffstat (limited to 'src')
3 files changed, 17 insertions, 32 deletions
diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java index 10acdb545b..8794b08129 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java @@ -32,6 +32,7 @@ import android.widget.TextView; import androidx.preference.Preference; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.AlertActivity; import com.android.internal.app.AlertController; import com.android.settings.R; @@ -51,8 +52,6 @@ public class BluetoothPermissionActivity extends AlertActivity implements private TextView messageView; private Button mOkButton; private BluetoothDevice mDevice; - private String mReturnPackage = null; - private String mReturnClass = null; private int mRequestType = 0; private BroadcastReceiver mReceiver = new BroadcastReceiver() { @@ -89,8 +88,6 @@ public class BluetoothPermissionActivity extends AlertActivity implements } mDevice = i.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); - mReturnPackage = i.getStringExtra(BluetoothDevice.EXTRA_PACKAGE_NAME); - mReturnClass = i.getStringExtra(BluetoothDevice.EXTRA_CLASS_NAME); mRequestType = i.getIntExtra(BluetoothDevice.EXTRA_ACCESS_REQUEST_TYPE, BluetoothDevice.REQUEST_TYPE_PHONEBOOK_ACCESS); @@ -202,14 +199,14 @@ public class BluetoothPermissionActivity extends AlertActivity implements sendReplyIntentToReceiver(false, true); } - private void sendReplyIntentToReceiver(final boolean allowed, final boolean always) { + @VisibleForTesting + void sendReplyIntentToReceiver(final boolean allowed, final boolean always) { Intent intent = new Intent(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY); - if (mReturnPackage != null && mReturnClass != null) { - intent.setClassName(mReturnPackage, mReturnClass); + if (DEBUG) { + Log.i(TAG, "sendReplyIntentToReceiver() Request type: " + mRequestType + + " mReturnPackage"); } - if (DEBUG) Log.i(TAG, "sendReplyIntentToReceiver() Request type: " + mRequestType + - " mReturnPackage" + mReturnPackage + " mReturnClass" + mReturnClass); intent.putExtra(BluetoothDevice.EXTRA_CONNECTION_ACCESS_RESULT, allowed ? BluetoothDevice.CONNECTION_ACCESS_YES diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java index 7fac4991c7..66665f0676 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java @@ -56,8 +56,6 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { Context mContext; int mRequestType; BluetoothDevice mDevice; - String mReturnPackage = null; - String mReturnClass = null; @Override public void onReceive(Context context, Intent intent) { @@ -77,11 +75,10 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); mRequestType = intent.getIntExtra(BluetoothDevice.EXTRA_ACCESS_REQUEST_TYPE, BluetoothDevice.REQUEST_TYPE_PROFILE_CONNECTION); - mReturnPackage = intent.getStringExtra(BluetoothDevice.EXTRA_PACKAGE_NAME); - mReturnClass = intent.getStringExtra(BluetoothDevice.EXTRA_CLASS_NAME); - if (DEBUG) Log.d(TAG, "onReceive request type: " + mRequestType + " return " - + mReturnPackage + "," + mReturnClass); + if (DEBUG) { + Log.d(TAG, "onReceive request type: " + mRequestType); + } // Even if the user has already made the choice, Bluetooth still may not know that if // the user preference data have not been migrated from Settings app's shared @@ -110,8 +107,6 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { connectionAccessIntent.putExtra(BluetoothDevice.EXTRA_ACCESS_REQUEST_TYPE, mRequestType); connectionAccessIntent.putExtra(BluetoothDevice.EXTRA_DEVICE, mDevice); - connectionAccessIntent.putExtra(BluetoothDevice.EXTRA_PACKAGE_NAME, mReturnPackage); - connectionAccessIntent.putExtra(BluetoothDevice.EXTRA_CLASS_NAME, mReturnClass); String deviceAddress = mDevice != null ? mDevice.getAddress() : null; String deviceName = mDevice != null ? mDevice.getName() : null; @@ -231,7 +226,7 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { LocalBluetoothManager bluetoothManager = Utils.getLocalBtManager(mContext); CachedBluetoothDeviceManager cachedDeviceManager = - bluetoothManager.getCachedDeviceManager(); + bluetoothManager.getCachedDeviceManager(); CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(mDevice); if (cachedDevice == null) { cachedDevice = cachedDeviceManager.addDevice(mDevice); @@ -289,13 +284,9 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { private void sendReplyIntentToReceiver(final boolean allowed) { Intent intent = new Intent(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY); - if (mReturnPackage != null && mReturnClass != null) { - intent.setClassName(mReturnPackage, mReturnClass); - } - intent.putExtra(BluetoothDevice.EXTRA_CONNECTION_ACCESS_RESULT, - allowed ? BluetoothDevice.CONNECTION_ACCESS_YES - : BluetoothDevice.CONNECTION_ACCESS_NO); + allowed ? BluetoothDevice.CONNECTION_ACCESS_YES + : BluetoothDevice.CONNECTION_ACCESS_NO); intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mDevice); intent.putExtra(BluetoothDevice.EXTRA_ACCESS_REQUEST_TYPE, mRequestType); mContext.sendBroadcast(intent, android.Manifest.permission.BLUETOOTH_ADMIN); diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java index ab8eea5db6..f60183b1c4 100644 --- a/src/com/android/settings/bluetooth/DevicePickerFragment.java +++ b/src/com/android/settings/bluetooth/DevicePickerFragment.java @@ -48,10 +48,10 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { @VisibleForTesting BluetoothProgressCategory mAvailableDevicesCategory; + @VisibleForTesting + Context mContext; private boolean mNeedAuth; - private String mLaunchPackage; - private String mLaunchClass; private boolean mScanAllowed; public DevicePickerFragment() { @@ -64,8 +64,6 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { mNeedAuth = intent.getBooleanExtra(BluetoothDevicePicker.EXTRA_NEED_AUTH, false); setFilter(intent.getIntExtra(BluetoothDevicePicker.EXTRA_FILTER_TYPE, BluetoothDevicePicker.FILTER_TYPE_ALL)); - mLaunchPackage = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_PACKAGE); - mLaunchClass = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_CLASS); mAvailableDevicesCategory = (BluetoothProgressCategory) findPreference(KEY_BT_DEVICE_LIST); } @@ -85,6 +83,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { getActivity().setTitle(getString(R.string.device_picker)); UserManager um = (UserManager) getSystemService(Context.USER_SERVICE); mScanAllowed = !um.hasUserRestriction(DISALLOW_CONFIG_BLUETOOTH); + mContext = getContext(); setHasOptionsMenu(true); } @@ -190,9 +189,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { private void sendDevicePickedIntent(BluetoothDevice device) { Intent intent = new Intent(BluetoothDevicePicker.ACTION_DEVICE_SELECTED); intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device); - if (mLaunchPackage != null && mLaunchClass != null) { - intent.setClassName(mLaunchPackage, mLaunchClass); - } - getActivity().sendBroadcast(intent, Manifest.permission.BLUETOOTH_ADMIN); + + mContext.sendBroadcast(intent, Manifest.permission.BLUETOOTH_ADMIN); } } |