Search in sources :

Example 6 with CachedBluetoothDevice

use of com.android.settingslib.bluetooth.CachedBluetoothDevice in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class DockService method hasOtherConnectedDevices.

synchronized boolean hasOtherConnectedDevices(BluetoothDevice dock) {
    Collection<CachedBluetoothDevice> cachedDevices = mDeviceManager.getCachedDevicesCopy();
    Set<BluetoothDevice> btDevices = mLocalAdapter.getBondedDevices();
    if (btDevices == null || cachedDevices == null || btDevices.isEmpty()) {
        return false;
    }
    if (DEBUG) {
        Log.d(TAG, "btDevices = " + btDevices.size());
        Log.d(TAG, "cachedDeviceUIs = " + cachedDevices.size());
    }
    for (CachedBluetoothDevice deviceUI : cachedDevices) {
        BluetoothDevice btDevice = deviceUI.getDevice();
        if (!btDevice.equals(dock) && btDevices.contains(btDevice) && deviceUI.isConnected()) {
            if (DEBUG)
                Log.d(TAG, "connected deviceUI = " + deviceUI.getName());
            return true;
        }
    }
    return false;
}
Also used : CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice) BluetoothDevice(android.bluetooth.BluetoothDevice) CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Example 7 with CachedBluetoothDevice

use of com.android.settingslib.bluetooth.CachedBluetoothDevice in project platform_frameworks_base by android.

the class BluetoothControllerImpl method updateConnected.

private void updateConnected() {
    // Make sure our connection state is up to date.
    int state = mLocalBluetoothManager.getBluetoothAdapter().getConnectionState();
    if (state != mConnectionState) {
        mConnectionState = state;
        mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
    }
    if (mLastDevice != null && mLastDevice.isConnected()) {
        // Our current device is still valid.
        return;
    }
    mLastDevice = null;
    for (CachedBluetoothDevice device : getDevices()) {
        if (device.isConnected()) {
            mLastDevice = device;
        }
    }
    if (mLastDevice == null && mConnectionState == BluetoothAdapter.STATE_CONNECTED) {
        // If somehow we think we are connected, but have no connected devices, we aren't
        // connected.
        mConnectionState = BluetoothAdapter.STATE_DISCONNECTED;
        mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
    }
}
Also used : CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Example 8 with CachedBluetoothDevice

use of com.android.settingslib.bluetooth.CachedBluetoothDevice in project platform_frameworks_base by android.

the class BluetoothControllerImpl method dump.

public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
    pw.println("BluetoothController state:");
    pw.print("  mLocalBluetoothManager=");
    pw.println(mLocalBluetoothManager);
    if (mLocalBluetoothManager == null) {
        return;
    }
    pw.print("  mEnabled=");
    pw.println(mEnabled);
    pw.print("  mConnectionState=");
    pw.println(stateToString(mConnectionState));
    pw.print("  mLastDevice=");
    pw.println(mLastDevice);
    pw.print("  mCallbacks.size=");
    pw.println(mHandler.mCallbacks.size());
    pw.println("  Bluetooth Devices:");
    for (CachedBluetoothDevice device : mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy()) {
        pw.println("    " + getDeviceString(device));
    }
}
Also used : CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Example 9 with CachedBluetoothDevice

use of com.android.settingslib.bluetooth.CachedBluetoothDevice in project android_frameworks_base by crdroidandroid.

the class BluetoothControllerImpl method updateConnected.

private void updateConnected() {
    // Make sure our connection state is up to date.
    int state = mLocalBluetoothManager.getBluetoothAdapter().getConnectionState();
    if (state != mConnectionState) {
        mConnectionState = state;
        mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
    }
    if (mLastDevice != null && mLastDevice.isConnected()) {
        // Our current device is still valid.
        return;
    }
    mLastDevice = null;
    for (CachedBluetoothDevice device : getDevices()) {
        if (device.isConnected()) {
            mLastDevice = device;
        }
    }
    if (mLastDevice == null && mConnectionState == BluetoothAdapter.STATE_CONNECTED) {
        // If somehow we think we are connected, but have no connected devices, we aren't
        // connected.
        mConnectionState = BluetoothAdapter.STATE_DISCONNECTED;
        mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
    }
}
Also used : CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Example 10 with CachedBluetoothDevice

use of com.android.settingslib.bluetooth.CachedBluetoothDevice in project android_frameworks_base by crdroidandroid.

the class KeyboardUI method processKeyboardState.

// Should only be called on the handler thread
private void processKeyboardState() {
    mHandler.removeMessages(MSG_PROCESS_KEYBOARD_STATE);
    if (!mEnabled) {
        mState = STATE_NOT_ENABLED;
        return;
    }
    if (!mBootCompleted) {
        mState = STATE_WAITING_FOR_BOOT_COMPLETED;
        return;
    }
    if (mInTabletMode != InputManager.SWITCH_STATE_OFF) {
        if (mState == STATE_WAITING_FOR_DEVICE_DISCOVERY) {
            stopScanning();
        } else if (mState == STATE_WAITING_FOR_BLUETOOTH) {
            mUIHandler.sendEmptyMessage(MSG_DISMISS_BLUETOOTH_DIALOG);
        }
        mState = STATE_WAITING_FOR_TABLET_MODE_EXIT;
        return;
    }
    final int btState = mLocalBluetoothAdapter.getState();
    if ((btState == BluetoothAdapter.STATE_TURNING_ON || btState == BluetoothAdapter.STATE_ON) && mState == STATE_WAITING_FOR_BLUETOOTH) {
        // If we're waiting for bluetooth but it has come on in the meantime, or is coming
        // on, just dismiss the dialog. This frequently happens during device startup.
        mUIHandler.sendEmptyMessage(MSG_DISMISS_BLUETOOTH_DIALOG);
    }
    if (btState == BluetoothAdapter.STATE_TURNING_ON) {
        mState = STATE_WAITING_FOR_BLUETOOTH;
        // Wait for bluetooth to fully come on.
        return;
    }
    if (btState != BluetoothAdapter.STATE_ON) {
        mState = STATE_WAITING_FOR_BLUETOOTH;
        showBluetoothDialog();
        return;
    }
    CachedBluetoothDevice device = getPairedKeyboard();
    if (mState == STATE_WAITING_FOR_TABLET_MODE_EXIT || mState == STATE_WAITING_FOR_BLUETOOTH) {
        if (device != null) {
            // If we're just coming out of tablet mode or BT just turned on,
            // then we want to go ahead and automatically connect to the
            // keyboard. We want to avoid this in other cases because we might
            // be spuriously called after the user has manually disconnected
            // the keyboard, meaning we shouldn't try to automtically connect
            // it again.
            mState = STATE_PAIRED;
            device.connect(false);
            return;
        }
        mCachedDeviceManager.clearNonBondedDevices();
    }
    device = getDiscoveredKeyboard();
    if (device != null) {
        mState = STATE_PAIRING;
        device.startPairing();
    } else {
        mState = STATE_WAITING_FOR_DEVICE_DISCOVERY;
        startScanning();
    }
}
Also used : CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Aggregations

CachedBluetoothDevice (com.android.settingslib.bluetooth.CachedBluetoothDevice)85 BluetoothDevice (android.bluetooth.BluetoothDevice)29 LocalBluetoothManager (com.android.settingslib.bluetooth.LocalBluetoothManager)29 CachedBluetoothDeviceManager (com.android.settingslib.bluetooth.CachedBluetoothDeviceManager)14 VisibleForTesting (com.android.internal.annotations.VisibleForTesting)13 DialogInterface (android.content.DialogInterface)7 OnClickListener (android.view.View.OnClickListener)7 MapProfile (com.android.settingslib.bluetooth.MapProfile)7 Intent (android.content.Intent)3 VisibleForTesting (androidx.annotation.VisibleForTesting)3 Preference (androidx.preference.Preference)2 LocalBluetoothProfile (com.android.settingslib.bluetooth.LocalBluetoothProfile)2 ArrayList (java.util.ArrayList)2 Test (org.junit.Test)2 IntentFilter (android.content.IntentFilter)1 Bundle (android.os.Bundle)1 ListBuilder (androidx.slice.builders.ListBuilder)1 SubSettingLauncher (com.android.settings.core.SubSettingLauncher)1 GearPreference (com.android.settings.widget.GearPreference)1 PbapServerProfile (com.android.settingslib.bluetooth.PbapServerProfile)1