Search in sources :

Example 26 with LocalBluetoothProfile

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

the class DockService method connectIfEnabled.

private synchronized void connectIfEnabled(BluetoothDevice device) {
    CachedBluetoothDevice cachedDevice = getCachedBluetoothDevice(device);
    List<LocalBluetoothProfile> profiles = cachedDevice.getConnectableProfiles();
    for (LocalBluetoothProfile profile : profiles) {
        if (profile.getPreferred(device) == BluetoothProfile.PRIORITY_AUTO_CONNECT) {
            cachedDevice.connect(false);
            return;
        }
    }
}
Also used : LocalBluetoothProfile(com.android.settingslib.bluetooth.LocalBluetoothProfile) CachedBluetoothDevice(com.android.settingslib.bluetooth.CachedBluetoothDevice)

Example 27 with LocalBluetoothProfile

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

the class BluetoothDevicePreference method getBtClassDrawableWithDescription.

private Pair<Integer, String> getBtClassDrawableWithDescription() {
    BluetoothClass btClass = mCachedDevice.getBtClass();
    if (btClass != null) {
        switch(btClass.getMajorDeviceClass()) {
            case BluetoothClass.Device.Major.COMPUTER:
                return new Pair<Integer, String>(R.drawable.ic_bt_laptop, COMPUTER);
            case BluetoothClass.Device.Major.PHONE:
                return new Pair<Integer, String>(R.drawable.ic_bt_cellphone, PHONE);
            case BluetoothClass.Device.Major.PERIPHERAL:
                return new Pair<Integer, String>(HidProfile.getHidClassDrawable(btClass), INPUT_PERIPHERAL);
            case BluetoothClass.Device.Major.IMAGING:
                return new Pair<Integer, String>(R.drawable.ic_bt_imaging, IMAGING);
            default:
        }
    } else {
        Log.w(TAG, "mBtClass is null");
    }
    List<LocalBluetoothProfile> profiles = mCachedDevice.getProfiles();
    for (LocalBluetoothProfile profile : profiles) {
        int resId = profile.getDrawableResource(btClass);
        if (resId != 0) {
            return new Pair<Integer, String>(resId, null);
        }
    }
    if (btClass != null) {
        if (btClass.doesClassMatch(BluetoothClass.PROFILE_A2DP)) {
            return new Pair<Integer, String>(R.drawable.ic_bt_headphones_a2dp, HEADPHONE);
        }
        if (btClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET)) {
            return new Pair<Integer, String>(R.drawable.ic_bt_headset_hfp, HEADSET);
        }
    }
    return new Pair<Integer, String>(R.drawable.ic_settings_bluetooth, BLUETOOTH);
}
Also used : LocalBluetoothProfile(com.android.settingslib.bluetooth.LocalBluetoothProfile) BluetoothClass(android.bluetooth.BluetoothClass) Pair(android.util.Pair)

Example 28 with LocalBluetoothProfile

use of com.android.settingslib.bluetooth.LocalBluetoothProfile in project android_packages_apps_Settings by LineageOS.

the class BluetoothDetailsProfilesController method getProfiles.

/**
 * Helper to get the list of connectable and special profiles.
 */
private List<LocalBluetoothProfile> getProfiles() {
    List<LocalBluetoothProfile> result = mCachedDevice.getConnectableProfiles();
    final int pbapPermission = mCachedDevice.getPhonebookPermissionChoice();
    // Only provide PBAP cabability if the client device has requested PBAP.
    if (pbapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) {
        final PbapServerProfile psp = mManager.getProfileManager().getPbapProfile();
        result.add(psp);
    }
    final MapProfile mapProfile = mManager.getProfileManager().getMapProfile();
    final int mapPermission = mCachedDevice.getMessagePermissionChoice();
    if (mapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) {
        result.add(mapProfile);
    }
    return result;
}
Also used : LocalBluetoothProfile(com.android.settingslib.bluetooth.LocalBluetoothProfile) PbapServerProfile(com.android.settingslib.bluetooth.PbapServerProfile) MapProfile(com.android.settingslib.bluetooth.MapProfile)

Example 29 with LocalBluetoothProfile

use of com.android.settingslib.bluetooth.LocalBluetoothProfile in project android_packages_apps_Settings by LineageOS.

the class BluetoothDetailsProfilesController method refresh.

/**
 * Refreshes the state of the switches for all profiles, possibly adding or removing switches as
 * needed.
 */
@Override
protected void refresh() {
    for (LocalBluetoothProfile profile : getProfiles()) {
        SwitchPreference pref = (SwitchPreference) mProfilesContainer.findPreference(profile.toString());
        if (pref == null) {
            pref = createProfilePreference(mProfilesContainer.getContext(), profile);
            mProfilesContainer.addPreference(pref);
            maybeAddHighQualityAudioPref(profile);
        }
        refreshProfilePreference(pref, profile);
    }
    for (LocalBluetoothProfile removedProfile : mCachedDevice.getRemovedProfiles()) {
        SwitchPreference pref = (SwitchPreference) mProfilesContainer.findPreference(removedProfile.toString());
        if (pref != null) {
            mProfilesContainer.removePreference(pref);
        }
    }
}
Also used : LocalBluetoothProfile(com.android.settingslib.bluetooth.LocalBluetoothProfile) SwitchPreference(android.support.v14.preference.SwitchPreference)

Example 30 with LocalBluetoothProfile

use of com.android.settingslib.bluetooth.LocalBluetoothProfile in project android_packages_apps_Settings by LineageOS.

the class DeviceProfilesSettings method refreshProfiles.

private void refreshProfiles() {
    for (LocalBluetoothProfile profile : mCachedDevice.getConnectableProfiles()) {
        CheckBox profilePref = findProfile(profile.toString());
        if (profilePref == null) {
            profilePref = createProfilePreference(profile);
            mProfileContainer.addView(profilePref);
        } else {
            refreshProfilePreference(profilePref, profile);
        }
    }
    for (LocalBluetoothProfile profile : mCachedDevice.getRemovedProfiles()) {
        CheckBox profilePref = findProfile(profile.toString());
        if (profilePref != null) {
            Log.d(TAG, "Removing " + profile.toString() + " from profile list");
            mProfileContainer.removeView(profilePref);
        }
    }
    showOrHideProfileGroup();
}
Also used : LocalBluetoothProfile(com.android.settingslib.bluetooth.LocalBluetoothProfile) CheckBox(android.widget.CheckBox)

Aggregations

LocalBluetoothProfile (com.android.settingslib.bluetooth.LocalBluetoothProfile)57 PbapServerProfile (com.android.settingslib.bluetooth.PbapServerProfile)22 CheckBox (android.widget.CheckBox)20 CachedBluetoothDevice (com.android.settingslib.bluetooth.CachedBluetoothDevice)15 MapProfile (com.android.settingslib.bluetooth.MapProfile)15 BluetoothDevice (android.bluetooth.BluetoothDevice)13 SwitchPreference (android.support.v14.preference.SwitchPreference)12 BluetoothClass (android.bluetooth.BluetoothClass)7 Pair (android.util.Pair)7 A2dpProfile (com.android.settingslib.bluetooth.A2dpProfile)6 SwitchPreference (androidx.preference.SwitchPreference)2