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

Commit 236be828 authored by jackqdyulei's avatar jackqdyulei Committed by android-build-merger
Browse files

Merge "Fix bug in DevicePickerFragment" into oc-dr1-dev am: 0e467d59

am: ba757bb2

Change-Id: I64e8378be62775844191b8394cae203c58e4b2fd
parents 82ee7cf1 ba757bb2
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.UserManager;
import android.support.annotation.VisibleForTesting;
import android.view.Menu;
import android.view.MenuInflater;

@@ -43,15 +44,18 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
    private static final String KEY_BT_DEVICE_LIST = "bt_device_list";
    private static final String TAG = "DevicePickerFragment";

    public DevicePickerFragment() {
        super(null /* Not tied to any user restrictions. */);
    }
    @VisibleForTesting
    BluetoothProgressCategory mAvailableDevicesCategory;

    private boolean mNeedAuth;
    private String mLaunchPackage;
    private String mLaunchClass;
    private boolean mScanAllowed;

    public DevicePickerFragment() {
        super(null /* Not tied to any user restrictions. */);
    }

    @Override
    void initPreferencesFromPreferenceScreen() {
        Intent intent = getActivity().getIntent();
@@ -60,6 +64,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
                BluetoothDevicePicker.FILTER_TYPE_ALL));
        mLaunchPackage = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_PACKAGE);
        mLaunchClass = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_CLASS);
        mAvailableDevicesCategory = (BluetoothProgressCategory) findPreference(KEY_BT_DEVICE_LIST);
    }

    @Override
@@ -88,6 +93,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
        mSelectedDevice = null;
        if (mScanAllowed) {
            enableScanning();
            mAvailableDevicesCategory.setProgress(mLocalAdapter.isDiscovering());
        }
    }

@@ -123,6 +129,13 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
        }
    }

    @Override
    public void onScanningStateChanged(boolean started) {
        super.onScanningStateChanged(started);
        started |= mScanEnabled;
        mAvailableDevicesCategory.setProgress(started);
    }

    public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice,
            int bondState) {
        BluetoothDevice device = cachedDevice.getDevice();
+58 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 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.bluetooth;

import static org.mockito.Mockito.verify;

import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DevicePickerFragmentTest {
    @Mock
    private LocalBluetoothAdapter mLocalAdapter;
    @Mock
    private BluetoothProgressCategory mAvailableDevicesCategory;
    private DevicePickerFragment mFragment;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);

        mFragment = new DevicePickerFragment();

        mFragment.mAvailableDevicesCategory = mAvailableDevicesCategory;
    }

    @Test
    public void testScanningStateChanged_started_setProgressStarted() {
        mFragment.mScanEnabled = true;

        mFragment.onScanningStateChanged(true);

        verify(mAvailableDevicesCategory).setProgress(true);
    }
}