Merge "Crash in Settings observed while changing the device orientation after renamed tablet"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b05f1d0081
@@ -57,7 +57,7 @@ final class BluetoothDiscoverableEnabler implements Preference.OnPreferenceClick
|
||||
|
||||
static final int DEFAULT_DISCOVERABLE_TIMEOUT = DISCOVERABLE_TIMEOUT_TWO_MINUTES;
|
||||
|
||||
private final Context mContext;
|
||||
private Context mContext;
|
||||
private final Handler mUiHandler;
|
||||
private final Preference mDiscoveryPreference;
|
||||
// Preference for visibility time out. Not final as it needs to be set through setter.
|
||||
@@ -91,9 +91,8 @@ final class BluetoothDiscoverableEnabler implements Preference.OnPreferenceClick
|
||||
}
|
||||
};
|
||||
|
||||
BluetoothDiscoverableEnabler(Context context, LocalBluetoothAdapter adapter,
|
||||
BluetoothDiscoverableEnabler(LocalBluetoothAdapter adapter,
|
||||
Preference discoveryPreference) {
|
||||
mContext = context;
|
||||
mUiHandler = new Handler();
|
||||
mLocalAdapter = adapter;
|
||||
mDiscoveryPreference = discoveryPreference;
|
||||
@@ -105,11 +104,15 @@ final class BluetoothDiscoverableEnabler implements Preference.OnPreferenceClick
|
||||
mVisibilityTimeoutPreference = visibilityPreference;
|
||||
}
|
||||
|
||||
public void resume() {
|
||||
public void resume(Context context) {
|
||||
if (mLocalAdapter == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mContext != context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
|
||||
mContext.registerReceiver(mReceiver, filter);
|
||||
mDiscoveryPreference.setOnPreferenceClickListener(this);
|
||||
|
@@ -156,7 +156,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
|
||||
super.onResume();
|
||||
|
||||
if (mDiscoverableEnabler != null) {
|
||||
mDiscoverableEnabler.resume();
|
||||
mDiscoverableEnabler.resume(getActivity());
|
||||
}
|
||||
getActivity().registerReceiver(mReceiver, mIntentFilter);
|
||||
if (mLocalAdapter != null) {
|
||||
@@ -262,9 +262,9 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
|
||||
|
||||
if (!isRestrictedAndNotPinProtected()) {
|
||||
if (mDiscoverableEnabler == null) {
|
||||
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(getActivity(),
|
||||
mLocalAdapter, mMyDevicePreference);
|
||||
mDiscoverableEnabler.resume();
|
||||
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(mLocalAdapter,
|
||||
mMyDevicePreference);
|
||||
mDiscoverableEnabler.resume(getActivity());
|
||||
LocalBluetoothManager.getInstance(getActivity()).setDiscoverableEnabler(
|
||||
mDiscoverableEnabler);
|
||||
}
|
||||
|
@@ -82,7 +82,7 @@ public final class LocalDeviceProfilesSettings extends SettingsPreferenceFragmen
|
||||
super.onResume();
|
||||
mManager.setForegroundActivity(getActivity());
|
||||
mAdvertisingEnabler.resume();
|
||||
mDiscoverableEnabler.resume();
|
||||
mDiscoverableEnabler.resume(getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user