Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +10 −0 Original line number Diff line number Diff line Loading @@ -1126,6 +1126,12 @@ public class AdapterService extends Service { return service.getBondState(device); } public long getSupportedProfiles() { AdapterService service = getService(); if (service == null) return 0; return service.getSupportedProfiles(); } public int getConnectionState(BluetoothDevice device) { AdapterService service = getService(); if (service == null) return 0; Loading Loading @@ -1905,6 +1911,10 @@ public class AdapterService extends Service { return deviceProp.getBondState(); } long getSupportedProfiles() { return Config.getSupportedProfilesBitMask(); } int getConnectionState(BluetoothDevice device) { enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); byte[] addr = Utils.getBytesFromAddress(device.getAddress()); Loading android/app/src/com/android/bluetooth/btservice/Config.java +30 −11 Original line number Diff line number Diff line Loading @@ -108,7 +108,36 @@ public class Config { return SUPPORTED_PROFILES; } static long getSupportedProfilesBitMask() { long mask = 0; for (final Class profileClass : getSupportedProfiles()) { final int profileIndex = getProfileIndex(profileClass); if (profileIndex != -1) { mask |= 1 << getProfileIndex(profileClass); } } return mask; } private static boolean isProfileDisabled(Context context, Class profile) { final int profileIndex = getProfileIndex(profile); if (profileIndex == -1) { Log.w(TAG, "Could not find profile bit mask"); return false; } final ContentResolver resolver = context.getContentResolver(); final long disabledProfilesBitMask = Settings.Global.getLong(resolver, Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); final long profileBit = 1 << profileIndex; return (disabledProfilesBitMask & profileBit) != 0; } private static int getProfileIndex(Class profile) { int profileIndex = -1; if (profile == HeadsetService.class) { Loading Loading @@ -137,16 +166,6 @@ public class Config { profileIndex = BluetoothProfile.PBAP_CLIENT; } if (profileIndex == -1) { Log.d(TAG, "Could not find profile bit mask"); return false; } final ContentResolver resolver = context.getContentResolver(); final long disabledProfilesBitMask = Settings.Global.getLong(resolver, Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); long profileBit = 1 << profileIndex; return (disabledProfilesBitMask & profileBit) != 0; return profileIndex; } } Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +10 −0 Original line number Diff line number Diff line Loading @@ -1126,6 +1126,12 @@ public class AdapterService extends Service { return service.getBondState(device); } public long getSupportedProfiles() { AdapterService service = getService(); if (service == null) return 0; return service.getSupportedProfiles(); } public int getConnectionState(BluetoothDevice device) { AdapterService service = getService(); if (service == null) return 0; Loading Loading @@ -1905,6 +1911,10 @@ public class AdapterService extends Service { return deviceProp.getBondState(); } long getSupportedProfiles() { return Config.getSupportedProfilesBitMask(); } int getConnectionState(BluetoothDevice device) { enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); byte[] addr = Utils.getBytesFromAddress(device.getAddress()); Loading
android/app/src/com/android/bluetooth/btservice/Config.java +30 −11 Original line number Diff line number Diff line Loading @@ -108,7 +108,36 @@ public class Config { return SUPPORTED_PROFILES; } static long getSupportedProfilesBitMask() { long mask = 0; for (final Class profileClass : getSupportedProfiles()) { final int profileIndex = getProfileIndex(profileClass); if (profileIndex != -1) { mask |= 1 << getProfileIndex(profileClass); } } return mask; } private static boolean isProfileDisabled(Context context, Class profile) { final int profileIndex = getProfileIndex(profile); if (profileIndex == -1) { Log.w(TAG, "Could not find profile bit mask"); return false; } final ContentResolver resolver = context.getContentResolver(); final long disabledProfilesBitMask = Settings.Global.getLong(resolver, Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); final long profileBit = 1 << profileIndex; return (disabledProfilesBitMask & profileBit) != 0; } private static int getProfileIndex(Class profile) { int profileIndex = -1; if (profile == HeadsetService.class) { Loading Loading @@ -137,16 +166,6 @@ public class Config { profileIndex = BluetoothProfile.PBAP_CLIENT; } if (profileIndex == -1) { Log.d(TAG, "Could not find profile bit mask"); return false; } final ContentResolver resolver = context.getContentResolver(); final long disabledProfilesBitMask = Settings.Global.getLong(resolver, Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); long profileBit = 1 << profileIndex; return (disabledProfilesBitMask & profileBit) != 0; return profileIndex; } }