Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c94cf516 authored by Mariano Giardina's avatar Mariano Giardina Committed by Android (Google) Code Review
Browse files

Merge "Revert "Disable bluetooth controller if unsupported""

parents e00aeff9 b8709ca0
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -16,14 +16,12 @@

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;
@@ -32,7 +30,7 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
/**
 * Controller that shows received files
 */
public class BluetoothFilesPreferenceController extends BasePreferenceController
public class BluetoothFilesPreferenceController extends AbstractPreferenceController
        implements PreferenceControllerMixin {
    private static final String TAG = "BluetoothFilesPrefCtrl";

@@ -49,15 +47,13 @@ public class BluetoothFilesPreferenceController extends BasePreferenceController
    private MetricsFeatureProvider mMetricsFeatureProvider;

    public BluetoothFilesPreferenceController(Context context) {
        super(context, KEY_RECEIVED_FILES);
        super(context);
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
    }

    @Override
    public int getAvailabilityStatus() {
        return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
                ? AVAILABLE
                : DISABLED_UNSUPPORTED;
    public boolean isAvailable() {
        return true;
    }

    @Override
+2 −9
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ 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;
@@ -72,10 +71,7 @@ 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());
    }
@@ -93,10 +89,7 @@ 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();
+11 −18
Original line number Diff line number Diff line
@@ -15,18 +15,15 @@
 */
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;
@@ -38,7 +35,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 BasePreferenceController
public class ConnectedDeviceGroupController extends AbstractPreferenceController
        implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop,
        DevicePreferenceCallback {

@@ -50,7 +47,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
    private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;

    public ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) {
        super(fragment.getContext(), KEY);
        super(fragment.getContext());
        init(lifecycle, new ConnectedBluetoothDeviceUpdater(fragment, this),
                new ConnectedUsbDeviceUpdater(fragment, this));
    }
@@ -59,7 +56,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
    ConnectedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle,
            BluetoothDeviceUpdater bluetoothDeviceUpdater,
            ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) {
        super(fragment.getContext(), KEY);
        super(fragment.getContext());
        init(lifecycle, bluetoothDeviceUpdater, connectedUsbDeviceUpdater);
    }

@@ -78,7 +75,6 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        if (isAvailable()) {
        mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY);
        mPreferenceGroup.setVisible(false);

@@ -86,13 +82,10 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
        mBluetoothDeviceUpdater.forceUpdate();
        mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext());
    }
    }

    @Override
    public int getAvailabilityStatus() {
        return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
                ? AVAILABLE
                : DISABLED_UNSUPPORTED;
    public boolean isAvailable() {
        return true;
    }

    @Override
@@ -118,7 +111,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController

    private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater,
            ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) {
        if (lifecycle != null && isAvailable()) {
        if (lifecycle != null) {
            lifecycle.addObserver(this);
        }
        mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
+10 −16
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
 */
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;
@@ -23,7 +22,6 @@ 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;
@@ -36,7 +34,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 BasePreferenceController
public class SavedDeviceGroupController extends AbstractPreferenceController
        implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop,
        DevicePreferenceCallback {

@@ -47,14 +45,14 @@ public class SavedDeviceGroupController extends BasePreferenceController
    private BluetoothDeviceUpdater mBluetoothDeviceUpdater;

    public SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle) {
        super(fragment.getContext(), KEY);
        super(fragment.getContext());
        init(lifecycle, new SavedBluetoothDeviceUpdater(fragment, SavedDeviceGroupController.this));
    }

    @VisibleForTesting
    SavedDeviceGroupController(DashboardFragment fragment, Lifecycle lifecycle,
            BluetoothDeviceUpdater bluetoothDeviceUpdater) {
        super(fragment.getContext(), KEY);
        super(fragment.getContext());
        init(lifecycle, bluetoothDeviceUpdater);
    }

@@ -70,19 +68,15 @@ public class SavedDeviceGroupController extends BasePreferenceController

    @Override
    public void displayPreference(PreferenceScreen screen) {
        if (isAvailable()) {
        mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY);
        mPreferenceGroup.setVisible(false);
        mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
        mBluetoothDeviceUpdater.forceUpdate();
    }
    }

    @Override
    public int getAvailabilityStatus() {
        return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
                ? AVAILABLE
                : DISABLED_UNSUPPORTED;
    public boolean isAvailable() {
        return true;
    }

    @Override
@@ -107,7 +101,7 @@ public class SavedDeviceGroupController extends BasePreferenceController
    }

    private void init(Lifecycle lifecycle, BluetoothDeviceUpdater bluetoothDeviceUpdater) {
        if (lifecycle != null && isAvailable()) {
        if (lifecycle != null) {
            lifecycle.addObserver(this);
        }
        mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
+2 −10
Original line number Diff line number Diff line
@@ -18,10 +18,6 @@ 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;
@@ -32,7 +28,6 @@ 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;
@@ -43,18 +38,15 @@ public class BluetoothFilesPreferenceControllerTest {
    private Context mContext;
    private BluetoothFilesPreferenceController mController;
    private Preference mPreference;
    @Mock
    private PackageManager mPackageManager;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = spy(RuntimeEnvironment.application);

        mContext = 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