Merge "Fix crash when no Bluetooth feature in Settings" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-24 02:45:09 +00:00
committed by Android (Google) Code Review
8 changed files with 94 additions and 14 deletions

View File

@@ -83,9 +83,11 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
if (isAvailable()) {
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
updateTitle();
mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
mBluetoothDeviceUpdater.forceUpdate();

View File

@@ -73,10 +73,11 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (isAvailable()) {
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
if (isAvailable()) {
final Context context = screen.getContext();
mBluetoothDeviceUpdater.setPrefContext(context);
mBluetoothDeviceUpdater.forceUpdate();
@@ -88,7 +89,11 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
final PackageManager packageManager = mContext.getPackageManager();
return (packageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
|| packageManager.hasSystemFeature(PackageManager.FEATURE_USB_ACCESSORY)
|| packageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST)
|| mConnectedDockUpdater != null)
? AVAILABLE_UNSEARCHABLE
: UNSUPPORTED_ON_DEVICE;
}

View File

@@ -52,7 +52,8 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
@Override
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
return (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
|| mSavedDockUpdater != null)
? AVAILABLE
: CONDITIONALLY_UNAVAILABLE;
}

View File

@@ -73,10 +73,10 @@ public class SavedDeviceGroupController extends BasePreferenceController
@Override
public void displayPreference(PreferenceScreen screen) {
if (isAvailable()) {
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
mPreferenceGroup = screen.findPreference(KEY);
mPreferenceGroup.setVisible(false);
if (isAvailable()) {
final Context context = screen.getContext();
mBluetoothDeviceUpdater.setPrefContext(context);
mBluetoothDeviceUpdater.forceUpdate();
@@ -87,7 +87,8 @@ public class SavedDeviceGroupController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
return (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
|| mSavedDockUpdater != null)
? AVAILABLE
: UNSUPPORTED_ON_DEVICE;
}