Merge "Fix battery level of earbuds bt devices is inconsistent" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6535fe00c7
@@ -175,7 +175,7 @@ public final class BluetoothDevicePreference extends GearPreference {
|
||||
mHideSecondTarget = hideSecondTarget;
|
||||
}
|
||||
|
||||
private void onPreferenceAttributesChanged() {
|
||||
void onPreferenceAttributesChanged() {
|
||||
ThreadUtils.postOnBackgroundThread(() -> {
|
||||
final Pair<Drawable, String> pair =
|
||||
BluetoothUtils.getBtRainbowDrawableWithDescription(getContext(), mCachedDevice);
|
||||
|
@@ -317,4 +317,13 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
|
||||
}
|
||||
return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected();
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the attributes of {@link Preference}.
|
||||
*/
|
||||
public void refreshPreference() {
|
||||
for (Preference preference : mPreferenceMap.values()) {
|
||||
((BluetoothDevicePreference) preference).onPreferenceAttributesChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -68,6 +68,7 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle
|
||||
}
|
||||
mBluetoothDeviceUpdater.registerCallback();
|
||||
mLocalBluetoothManager.getEventManager().registerCallback(this);
|
||||
mBluetoothDeviceUpdater.refreshPreference();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -61,6 +61,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
|
||||
mBluetoothDeviceUpdater.registerCallback();
|
||||
mConnectedUsbDeviceUpdater.registerCallback();
|
||||
mConnectedDockUpdater.registerCallback();
|
||||
mBluetoothDeviceUpdater.refreshPreference();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -111,6 +111,7 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
|
||||
mBluetoothDeviceUpdater.registerCallback();
|
||||
mSavedDockUpdater.registerCallback();
|
||||
mContext.registerReceiver(mReceiver, mIntentFilter);
|
||||
mBluetoothDeviceUpdater.refreshPreference();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -63,6 +63,7 @@ public class SavedDeviceGroupController extends BasePreferenceController
|
||||
public void onStart() {
|
||||
mBluetoothDeviceUpdater.registerCallback();
|
||||
mSavedDockUpdater.registerCallback();
|
||||
mBluetoothDeviceUpdater.refreshPreference();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -58,6 +58,7 @@ public class BluetoothDeviceUpdaterTest {
|
||||
|
||||
private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
|
||||
private static final String SUB_MAC_ADDRESS = "05:52:C7:0B:D8:3C";
|
||||
private static final String TEST_NAME = "test_name";
|
||||
|
||||
@Mock
|
||||
private DashboardFragment mDashboardFragment;
|
||||
@@ -256,4 +257,15 @@ public class BluetoothDeviceUpdaterTest {
|
||||
verify(mDevicePreferenceCallback).onDeviceRemoved(mPreference);
|
||||
assertThat(mBluetoothDeviceUpdater.mPreferenceMap.containsKey(mBluetoothDevice)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void havePreference_refreshPreference() {
|
||||
mBluetoothDeviceUpdater.mPreferenceMap.put(mBluetoothDevice, mPreference);
|
||||
mPreference.setTitle("fake_name");
|
||||
|
||||
when(mCachedBluetoothDevice.getName()).thenReturn(TEST_NAME);
|
||||
mBluetoothDeviceUpdater.refreshPreference();
|
||||
|
||||
assertThat(mPreference.getTitle()).isEqualTo(TEST_NAME);
|
||||
}
|
||||
}
|
||||
|
@@ -157,9 +157,11 @@ public class AvailableMediaDeviceGroupControllerTest {
|
||||
public void testRegister() {
|
||||
// register the callback in onStart()
|
||||
mAvailableMediaDeviceGroupController.onStart();
|
||||
|
||||
verify(mAvailableMediaBluetoothDeviceUpdater).registerCallback();
|
||||
verify(mLocalBluetoothManager.getEventManager()).registerCallback(
|
||||
any(BluetoothCallback.class));
|
||||
verify(mAvailableMediaBluetoothDeviceUpdater).refreshPreference();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -139,9 +139,11 @@ public class ConnectedDeviceGroupControllerTest {
|
||||
public void onStart_shouldRegisterUpdaters() {
|
||||
// register the callback in onStart()
|
||||
mConnectedDeviceGroupController.onStart();
|
||||
|
||||
verify(mConnectedBluetoothDeviceUpdater).registerCallback();
|
||||
verify(mConnectedUsbDeviceUpdater).registerCallback();
|
||||
verify(mConnectedDockUpdater).registerCallback();
|
||||
verify(mConnectedBluetoothDeviceUpdater).refreshPreference();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -147,13 +147,16 @@ public class PreviouslyConnectedDevicePreferenceControllerTest {
|
||||
public void callbackCanRegisterAndUnregister() {
|
||||
// register the callback in onStart()
|
||||
mPreConnectedDeviceController.onStart();
|
||||
|
||||
verify(mBluetoothDeviceUpdater).registerCallback();
|
||||
verify(mDockUpdater).registerCallback();
|
||||
verify(mContext).registerReceiver(mPreConnectedDeviceController.mReceiver,
|
||||
mPreConnectedDeviceController.mIntentFilter);
|
||||
verify(mBluetoothDeviceUpdater).refreshPreference();
|
||||
|
||||
// unregister the callback in onStop()
|
||||
mPreConnectedDeviceController.onStop();
|
||||
|
||||
verify(mBluetoothDeviceUpdater).unregisterCallback();
|
||||
verify(mDockUpdater).unregisterCallback();
|
||||
verify(mContext).unregisterReceiver(mPreConnectedDeviceController.mReceiver);
|
||||
|
@@ -79,8 +79,10 @@ public class SavedDeviceGroupControllerTest {
|
||||
public void testRegister() {
|
||||
// register the callback in onStart()
|
||||
mSavedDeviceGroupController.onStart();
|
||||
|
||||
verify(mBluetoothDeviceUpdater).registerCallback();
|
||||
verify(mSavedDockUpdater).registerCallback();
|
||||
verify(mBluetoothDeviceUpdater).refreshPreference();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user