Loading src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java +8 −4 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package com.android.settings.bluetooth; import android.content.pm.PackageManager; import android.content.Context; import android.content.Intent; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.AbstractPreferenceController; Loading @@ -30,7 +32,7 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** * Controller that shows received files */ public class BluetoothFilesPreferenceController extends AbstractPreferenceController public class BluetoothFilesPreferenceController extends BasePreferenceController implements PreferenceControllerMixin { private static final String TAG = "BluetoothFilesPrefCtrl"; Loading @@ -47,13 +49,15 @@ public class BluetoothFilesPreferenceController extends AbstractPreferenceContro private MetricsFeatureProvider mMetricsFeatureProvider; public BluetoothFilesPreferenceController(Context context) { super(context); super(context, KEY_RECEIVED_FILES); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading src/com/android/settings/bluetooth/BluetoothPairingDetail.java +9 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.bluetooth.BluetoothDevice; import android.content.Context; import android.os.Bundle; import android.support.annotation.VisibleForTesting; import android.util.Log; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; Loading Loading @@ -71,7 +72,10 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme @Override public void onStart() { super.onStart(); if (mLocalManager == null){ Log.e(TAG, "Bluetooth is not supported on this device"); return; } updateBluetooth(); mAvailableDevicesCategory.setProgress(mLocalAdapter.isDiscovering()); } Loading @@ -89,7 +93,10 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme @Override public void onStop() { super.onStop(); if (mLocalManager == null){ Log.e(TAG, "Bluetooth is not supported on this device"); return; } // Make the device only visible to connected devices. mAlwaysDiscoverable.stop(); disableScanning(); Loading src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java +18 −11 Original line number Diff line number Diff line Loading @@ -15,15 +15,18 @@ */ package com.android.settings.connecteddevice; import android.content.pm.PackageManager; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater; import com.android.settings.search.ResultPayload; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; Loading @@ -35,7 +38,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop; * Controller to maintain the {@link android.support.v7.preference.PreferenceGroup} for all * connected devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference} */ public class ConnectedDeviceGroupController extends AbstractPreferenceController public class ConnectedDeviceGroupController extends BasePreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { Loading @@ -47,7 +50,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater; public ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, new ConnectedBluetoothDeviceUpdater(fragment, this), new ConnectedUsbDeviceUpdater(fragment, this)); } Loading @@ -56,7 +59,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater, ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, bluetoothDeviceUpdater, connectedUsbDeviceUpdater); } Loading @@ -75,6 +78,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); if (isAvailable()) { mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); Loading @@ -82,10 +86,13 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController mBluetoothDeviceUpdater.forceUpdate(); mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext()); } } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading @@ -111,7 +118,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater, ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) { if (lifecycle != null) { if (lifecycle != null && isAvailable()) { lifecycle.addObserver(this); } mBluetoothDeviceUpdater = bluetoothDeviceUpdater; Loading src/com/android/settings/connecteddevice/SavedDeviceGroupController.java +16 −10 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.settings.connecteddevice; import android.content.pm.PackageManager; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; Loading @@ -22,6 +23,7 @@ import android.support.v7.preference.PreferenceScreen; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.core.AbstractPreferenceController; Loading @@ -34,7 +36,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop; * Controller to maintain the {@link PreferenceGroup} for all * saved devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference} */ public class SavedDeviceGroupController extends AbstractPreferenceController public class SavedDeviceGroupController extends BasePreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { Loading @@ -45,14 +47,14 @@ public class SavedDeviceGroupController extends AbstractPreferenceController private BluetoothDeviceUpdater mBluetoothDeviceUpdater; public SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, new SavedBluetoothDeviceUpdater(fragment, SavedDeviceGroupController.this)); } @VisibleForTesting SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, bluetoothDeviceUpdater); } Loading @@ -68,15 +70,19 @@ public class SavedDeviceGroupController extends AbstractPreferenceController @Override public void displayPreference(PreferenceScreen screen) { if (isAvailable()) { mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); mBluetoothDeviceUpdater.setPrefContext(screen.getContext()); mBluetoothDeviceUpdater.forceUpdate(); } } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading @@ -101,7 +107,7 @@ public class SavedDeviceGroupController extends AbstractPreferenceController } private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater) { if (lifecycle != null) { if (lifecycle != null && isAvailable()) { lifecycle.addObserver(this); } mBluetoothDeviceUpdater = bluetoothDeviceUpdater; Loading tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java +10 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,10 @@ package com.android.settings.bluetooth; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.content.pm.PackageManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; Loading @@ -28,6 +32,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowApplication; Loading @@ -38,15 +43,18 @@ public class BluetoothFilesPreferenceControllerTest { private Context mContext; private BluetoothFilesPreferenceController mController; private Preference mPreference; @Mock private PackageManager mPackageManager; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mContext = spy(RuntimeEnvironment.application); mController = new BluetoothFilesPreferenceController(mContext); mPreference = new Preference(mContext); mPreference.setKey(BluetoothFilesPreferenceController.KEY_RECEIVED_FILES); doReturn(mPackageManager).when(mContext).getPackageManager(); doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH); } @Test Loading Loading
src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java +8 −4 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package com.android.settings.bluetooth; import android.content.pm.PackageManager; import android.content.Context; import android.content.Intent; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.AbstractPreferenceController; Loading @@ -30,7 +32,7 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** * Controller that shows received files */ public class BluetoothFilesPreferenceController extends AbstractPreferenceController public class BluetoothFilesPreferenceController extends BasePreferenceController implements PreferenceControllerMixin { private static final String TAG = "BluetoothFilesPrefCtrl"; Loading @@ -47,13 +49,15 @@ public class BluetoothFilesPreferenceController extends AbstractPreferenceContro private MetricsFeatureProvider mMetricsFeatureProvider; public BluetoothFilesPreferenceController(Context context) { super(context); super(context, KEY_RECEIVED_FILES); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading
src/com/android/settings/bluetooth/BluetoothPairingDetail.java +9 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.bluetooth.BluetoothDevice; import android.content.Context; import android.os.Bundle; import android.support.annotation.VisibleForTesting; import android.util.Log; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; Loading Loading @@ -71,7 +72,10 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme @Override public void onStart() { super.onStart(); if (mLocalManager == null){ Log.e(TAG, "Bluetooth is not supported on this device"); return; } updateBluetooth(); mAvailableDevicesCategory.setProgress(mLocalAdapter.isDiscovering()); } Loading @@ -89,7 +93,10 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme @Override public void onStop() { super.onStop(); if (mLocalManager == null){ Log.e(TAG, "Bluetooth is not supported on this device"); return; } // Make the device only visible to connected devices. mAlwaysDiscoverable.stop(); disableScanning(); Loading
src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java +18 −11 Original line number Diff line number Diff line Loading @@ -15,15 +15,18 @@ */ package com.android.settings.connecteddevice; import android.content.pm.PackageManager; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater; import com.android.settings.search.ResultPayload; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; Loading @@ -35,7 +38,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop; * Controller to maintain the {@link android.support.v7.preference.PreferenceGroup} for all * connected devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference} */ public class ConnectedDeviceGroupController extends AbstractPreferenceController public class ConnectedDeviceGroupController extends BasePreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { Loading @@ -47,7 +50,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater; public ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, new ConnectedBluetoothDeviceUpdater(fragment, this), new ConnectedUsbDeviceUpdater(fragment, this)); } Loading @@ -56,7 +59,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater, ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, bluetoothDeviceUpdater, connectedUsbDeviceUpdater); } Loading @@ -75,6 +78,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); if (isAvailable()) { mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); Loading @@ -82,10 +86,13 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController mBluetoothDeviceUpdater.forceUpdate(); mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext()); } } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading @@ -111,7 +118,7 @@ public class ConnectedDeviceGroupController extends AbstractPreferenceController private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater, ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) { if (lifecycle != null) { if (lifecycle != null && isAvailable()) { lifecycle.addObserver(this); } mBluetoothDeviceUpdater = bluetoothDeviceUpdater; Loading
src/com/android/settings/connecteddevice/SavedDeviceGroupController.java +16 −10 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.settings.connecteddevice; import android.content.pm.PackageManager; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; Loading @@ -22,6 +23,7 @@ import android.support.v7.preference.PreferenceScreen; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.core.AbstractPreferenceController; Loading @@ -34,7 +36,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop; * Controller to maintain the {@link PreferenceGroup} for all * saved devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference} */ public class SavedDeviceGroupController extends AbstractPreferenceController public class SavedDeviceGroupController extends BasePreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { Loading @@ -45,14 +47,14 @@ public class SavedDeviceGroupController extends AbstractPreferenceController private BluetoothDeviceUpdater mBluetoothDeviceUpdater; public SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, new SavedBluetoothDeviceUpdater(fragment, SavedDeviceGroupController.this)); } @VisibleForTesting SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater) { super(fragment.getContext()); super(fragment.getContext(), KEY); init(lifecycle, bluetoothDeviceUpdater); } Loading @@ -68,15 +70,19 @@ public class SavedDeviceGroupController extends AbstractPreferenceController @Override public void displayPreference(PreferenceScreen screen) { if (isAvailable()) { mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); mBluetoothDeviceUpdater.setPrefContext(screen.getContext()); mBluetoothDeviceUpdater.forceUpdate(); } } @Override public boolean isAvailable() { return true; public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override Loading @@ -101,7 +107,7 @@ public class SavedDeviceGroupController extends AbstractPreferenceController } private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater) { if (lifecycle != null) { if (lifecycle != null && isAvailable()) { lifecycle.addObserver(this); } mBluetoothDeviceUpdater = bluetoothDeviceUpdater; Loading
tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java +10 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,10 @@ package com.android.settings.bluetooth; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.content.pm.PackageManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; Loading @@ -28,6 +32,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowApplication; Loading @@ -38,15 +43,18 @@ public class BluetoothFilesPreferenceControllerTest { private Context mContext; private BluetoothFilesPreferenceController mController; private Preference mPreference; @Mock private PackageManager mPackageManager; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mContext = spy(RuntimeEnvironment.application); mController = new BluetoothFilesPreferenceController(mContext); mPreference = new Preference(mContext); mPreference.setKey(BluetoothFilesPreferenceController.KEY_RECEIVED_FILES); doReturn(mPackageManager).when(mContext).getPackageManager(); doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH); } @Test Loading