Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -12179,4 +12179,7 @@ <string name="media_controls_apps_title">Allowed apps</string> <!-- Keywords for the media controls setting [CHAR LIMIT=NONE]--> <string name="keywords_media_controls">media</string> <!-- Summary for see all preference when bluetooth is disable [CHAR LIMIT=none]--> <string name="connected_device_see_all_summary">Bluetooth will turn on</string> </resources> src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java +27 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.settings.connecteddevice; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.os.Bundle; import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; Loading @@ -32,6 +36,9 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen private static final String TAG = "PreConnectedDeviceFrag"; static final String KEY_PREVIOUSLY_CONNECTED_DEVICES = "saved_device_list"; @VisibleForTesting BluetoothAdapter mBluetoothAdapter; @Override public int getHelpResource() { return R.string.help_url_previously_connected_devices; Loading @@ -52,12 +59,32 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen return SettingsEnums.PREVIOUSLY_CONNECTED_DEVICES; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Override public void onAttach(Context context) { super.onAttach(context); use(SavedDeviceGroupController.class).init(this); } @Override public void onStart() { super.onStart(); enableBluetoothIfNecessary(); } @VisibleForTesting void enableBluetoothIfNecessary() { if (mBluetoothAdapter != null && !mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.enable(); } } /** * For Search. */ Loading src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java +35 −5 Original line number Diff line number Diff line Loading @@ -15,7 +15,11 @@ */ package com.android.settings.connecteddevice; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import androidx.annotation.VisibleForTesting; Loading @@ -23,6 +27,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; Loading @@ -37,17 +42,34 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { private static final int MAX_DEVICE_NUM = 3; private static final String KEY_SEE_ALL = "previously_connected_devices_see_all"; private PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private DockUpdater mSavedDockUpdater; private int mPreferenceSize; private BluetoothAdapter mBluetoothAdapter; @VisibleForTesting Preference mSeeAllPreference; @VisibleForTesting IntentFilter mIntentFilter; @VisibleForTesting BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { updatePreferenceVisibility(); } }; public PreviouslyConnectedDevicePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mSavedDockUpdater = FeatureFactory.getFactory( context).getDockUpdaterFeatureProvider().getSavedDockUpdater(context, this); mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Override Loading @@ -62,7 +84,8 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreferenceGroup = screen.findPreference(getPreferenceKey()); mPreferenceGroup.setVisible(false); mSeeAllPreference = mPreferenceGroup.findPreference(KEY_SEE_ALL); updatePreferenceVisibility(); if (isAvailable()) { final Context context = screen.getContext(); Loading @@ -75,12 +98,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void onStart() { mBluetoothDeviceUpdater.registerCallback(); mSavedDockUpdater.registerCallback(); mContext.registerReceiver(mReceiver, mIntentFilter); } @Override public void onStop() { mBluetoothDeviceUpdater.unregisterCallback(); mSavedDockUpdater.unregisterCallback(); mContext.unregisterReceiver(mReceiver); } public void init(DashboardFragment fragment) { Loading @@ -94,14 +119,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc if (mPreferenceSize <= MAX_DEVICE_NUM) { mPreferenceGroup.addPreference(preference); } updatePreferenceVisiblity(); updatePreferenceVisibility(); } @Override public void onDeviceRemoved(Preference preference) { mPreferenceSize--; mPreferenceGroup.removePreference(preference); updatePreferenceVisiblity(); updatePreferenceVisibility(); } @VisibleForTesting Loading @@ -120,7 +145,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc } @VisibleForTesting void updatePreferenceVisiblity() { mPreferenceGroup.setVisible(mPreferenceSize > 0); void updatePreferenceVisibility() { if (mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()) { mSeeAllPreference.setSummary(""); } else { mSeeAllPreference.setSummary( mContext.getString(R.string.connected_device_see_all_summary)); } } } tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java 0 → 100644 +57 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.connecteddevice; import static com.google.common.truth.Truth.assertThat; import android.bluetooth.BluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowBluetoothAdapter.class) public class PreviouslyConnectedDeviceDashboardFragmentTest { private ShadowBluetoothAdapter mShadowBluetoothAdapter; private PreviouslyConnectedDeviceDashboardFragment mFragment; @Before public void setUp() { MockitoAnnotations.initMocks(this); mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); mFragment = new PreviouslyConnectedDeviceDashboardFragment(); mFragment.mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Test public void onStart_bluetoothIsDisable_enableBluetooth() { mShadowBluetoothAdapter.setEnabled(false); assertThat(mFragment.mBluetoothAdapter.isEnabled()).isFalse(); mFragment.enableBluetoothIfNecessary(); assertThat(mFragment.mBluetoothAdapter.isEnabled()).isTrue(); } } tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java +31 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.content.pm.PackageManager; Loading @@ -32,9 +33,11 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -43,8 +46,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowBluetoothAdapter.class) public class PreviouslyConnectedDevicePreferenceControllerTest { private final String KEY = "test_key"; Loading @@ -59,10 +65,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { private PackageManager mPackageManager; @Mock private PreferenceManager mPreferenceManager; @Mock private Preference mSeeAllPreference; private Context mContext; private PreviouslyConnectedDevicePreferenceController mPreConnectedDeviceController; private PreferenceGroup mPreferenceGroup; private ShadowBluetoothAdapter mShadowBluetoothAdapter; @Before public void setUp() { Loading @@ -74,11 +83,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { new PreviouslyConnectedDevicePreferenceController(mContext, KEY); mPreConnectedDeviceController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater); mPreConnectedDeviceController.setSavedDockUpdater(mDockUpdater); mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); mPreferenceGroup = spy(new PreferenceCategory(mContext)); doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager(); mPreferenceGroup.setVisible(false); mPreConnectedDeviceController.setPreferenceGroup(mPreferenceGroup); mPreConnectedDeviceController.mSeeAllPreference = mSeeAllPreference; } @Test Loading @@ -87,11 +98,14 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onStart(); verify(mBluetoothDeviceUpdater).registerCallback(); verify(mDockUpdater).registerCallback(); verify(mContext).registerReceiver(mPreConnectedDeviceController.mReceiver, mPreConnectedDeviceController.mIntentFilter); // unregister the callback in onStop() mPreConnectedDeviceController.onStop(); verify(mBluetoothDeviceUpdater).unregisterCallback(); verify(mDockUpdater).unregisterCallback(); verify(mContext).unregisterReceiver(mPreConnectedDeviceController.mReceiver); } @Test Loading Loading @@ -124,7 +138,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceAdded_addDevicePreference_displayIt() { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1); } Loading @@ -135,7 +148,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(3); } Loading @@ -143,11 +155,26 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceRemoved_removeLastDevice_setInvisible() { final Preference preference = new Preference(mContext); mPreferenceGroup.addPreference(preference); mPreferenceGroup.setVisible(true); mPreConnectedDeviceController.onDeviceRemoved(preference); assertThat(mPreferenceGroup.isVisible()).isFalse(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(0); } @Test public void updatePreferenceVisibility_bluetoothIsEnable_shouldShowCorrectText() { mShadowBluetoothAdapter.setEnabled(true); mPreConnectedDeviceController.updatePreferenceVisibility(); verify(mSeeAllPreference).setSummary(""); } @Test public void updatePreferenceVisibility_bluetoothIsDisable_shouldShowCorrectText() { mShadowBluetoothAdapter.setEnabled(false); mPreConnectedDeviceController.updatePreferenceVisibility(); verify(mSeeAllPreference).setSummary( mContext.getString(R.string.connected_device_see_all_summary)); } } Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -12179,4 +12179,7 @@ <string name="media_controls_apps_title">Allowed apps</string> <!-- Keywords for the media controls setting [CHAR LIMIT=NONE]--> <string name="keywords_media_controls">media</string> <!-- Summary for see all preference when bluetooth is disable [CHAR LIMIT=none]--> <string name="connected_device_see_all_summary">Bluetooth will turn on</string> </resources>
src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java +27 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.settings.connecteddevice; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.os.Bundle; import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; Loading @@ -32,6 +36,9 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen private static final String TAG = "PreConnectedDeviceFrag"; static final String KEY_PREVIOUSLY_CONNECTED_DEVICES = "saved_device_list"; @VisibleForTesting BluetoothAdapter mBluetoothAdapter; @Override public int getHelpResource() { return R.string.help_url_previously_connected_devices; Loading @@ -52,12 +59,32 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen return SettingsEnums.PREVIOUSLY_CONNECTED_DEVICES; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Override public void onAttach(Context context) { super.onAttach(context); use(SavedDeviceGroupController.class).init(this); } @Override public void onStart() { super.onStart(); enableBluetoothIfNecessary(); } @VisibleForTesting void enableBluetoothIfNecessary() { if (mBluetoothAdapter != null && !mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.enable(); } } /** * For Search. */ Loading
src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java +35 −5 Original line number Diff line number Diff line Loading @@ -15,7 +15,11 @@ */ package com.android.settings.connecteddevice; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import androidx.annotation.VisibleForTesting; Loading @@ -23,6 +27,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; Loading @@ -37,17 +42,34 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { private static final int MAX_DEVICE_NUM = 3; private static final String KEY_SEE_ALL = "previously_connected_devices_see_all"; private PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private DockUpdater mSavedDockUpdater; private int mPreferenceSize; private BluetoothAdapter mBluetoothAdapter; @VisibleForTesting Preference mSeeAllPreference; @VisibleForTesting IntentFilter mIntentFilter; @VisibleForTesting BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { updatePreferenceVisibility(); } }; public PreviouslyConnectedDevicePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mSavedDockUpdater = FeatureFactory.getFactory( context).getDockUpdaterFeatureProvider().getSavedDockUpdater(context, this); mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Override Loading @@ -62,7 +84,8 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreferenceGroup = screen.findPreference(getPreferenceKey()); mPreferenceGroup.setVisible(false); mSeeAllPreference = mPreferenceGroup.findPreference(KEY_SEE_ALL); updatePreferenceVisibility(); if (isAvailable()) { final Context context = screen.getContext(); Loading @@ -75,12 +98,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void onStart() { mBluetoothDeviceUpdater.registerCallback(); mSavedDockUpdater.registerCallback(); mContext.registerReceiver(mReceiver, mIntentFilter); } @Override public void onStop() { mBluetoothDeviceUpdater.unregisterCallback(); mSavedDockUpdater.unregisterCallback(); mContext.unregisterReceiver(mReceiver); } public void init(DashboardFragment fragment) { Loading @@ -94,14 +119,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc if (mPreferenceSize <= MAX_DEVICE_NUM) { mPreferenceGroup.addPreference(preference); } updatePreferenceVisiblity(); updatePreferenceVisibility(); } @Override public void onDeviceRemoved(Preference preference) { mPreferenceSize--; mPreferenceGroup.removePreference(preference); updatePreferenceVisiblity(); updatePreferenceVisibility(); } @VisibleForTesting Loading @@ -120,7 +145,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc } @VisibleForTesting void updatePreferenceVisiblity() { mPreferenceGroup.setVisible(mPreferenceSize > 0); void updatePreferenceVisibility() { if (mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()) { mSeeAllPreference.setSummary(""); } else { mSeeAllPreference.setSummary( mContext.getString(R.string.connected_device_see_all_summary)); } } }
tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java 0 → 100644 +57 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.connecteddevice; import static com.google.common.truth.Truth.assertThat; import android.bluetooth.BluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowBluetoothAdapter.class) public class PreviouslyConnectedDeviceDashboardFragmentTest { private ShadowBluetoothAdapter mShadowBluetoothAdapter; private PreviouslyConnectedDeviceDashboardFragment mFragment; @Before public void setUp() { MockitoAnnotations.initMocks(this); mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); mFragment = new PreviouslyConnectedDeviceDashboardFragment(); mFragment.mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Test public void onStart_bluetoothIsDisable_enableBluetooth() { mShadowBluetoothAdapter.setEnabled(false); assertThat(mFragment.mBluetoothAdapter.isEnabled()).isFalse(); mFragment.enableBluetoothIfNecessary(); assertThat(mFragment.mBluetoothAdapter.isEnabled()).isTrue(); } }
tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java +31 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.content.pm.PackageManager; Loading @@ -32,9 +33,11 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -43,8 +46,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowBluetoothAdapter.class) public class PreviouslyConnectedDevicePreferenceControllerTest { private final String KEY = "test_key"; Loading @@ -59,10 +65,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { private PackageManager mPackageManager; @Mock private PreferenceManager mPreferenceManager; @Mock private Preference mSeeAllPreference; private Context mContext; private PreviouslyConnectedDevicePreferenceController mPreConnectedDeviceController; private PreferenceGroup mPreferenceGroup; private ShadowBluetoothAdapter mShadowBluetoothAdapter; @Before public void setUp() { Loading @@ -74,11 +83,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { new PreviouslyConnectedDevicePreferenceController(mContext, KEY); mPreConnectedDeviceController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater); mPreConnectedDeviceController.setSavedDockUpdater(mDockUpdater); mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); mPreferenceGroup = spy(new PreferenceCategory(mContext)); doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager(); mPreferenceGroup.setVisible(false); mPreConnectedDeviceController.setPreferenceGroup(mPreferenceGroup); mPreConnectedDeviceController.mSeeAllPreference = mSeeAllPreference; } @Test Loading @@ -87,11 +98,14 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onStart(); verify(mBluetoothDeviceUpdater).registerCallback(); verify(mDockUpdater).registerCallback(); verify(mContext).registerReceiver(mPreConnectedDeviceController.mReceiver, mPreConnectedDeviceController.mIntentFilter); // unregister the callback in onStop() mPreConnectedDeviceController.onStop(); verify(mBluetoothDeviceUpdater).unregisterCallback(); verify(mDockUpdater).unregisterCallback(); verify(mContext).unregisterReceiver(mPreConnectedDeviceController.mReceiver); } @Test Loading Loading @@ -124,7 +138,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceAdded_addDevicePreference_displayIt() { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1); } Loading @@ -135,7 +148,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(3); } Loading @@ -143,11 +155,26 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceRemoved_removeLastDevice_setInvisible() { final Preference preference = new Preference(mContext); mPreferenceGroup.addPreference(preference); mPreferenceGroup.setVisible(true); mPreConnectedDeviceController.onDeviceRemoved(preference); assertThat(mPreferenceGroup.isVisible()).isFalse(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(0); } @Test public void updatePreferenceVisibility_bluetoothIsEnable_shouldShowCorrectText() { mShadowBluetoothAdapter.setEnabled(true); mPreConnectedDeviceController.updatePreferenceVisibility(); verify(mSeeAllPreference).setSummary(""); } @Test public void updatePreferenceVisibility_bluetoothIsDisable_shouldShowCorrectText() { mShadowBluetoothAdapter.setEnabled(false); mPreConnectedDeviceController.updatePreferenceVisibility(); verify(mSeeAllPreference).setSummary( mContext.getString(R.string.connected_device_see_all_summary)); } }