diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f51719b4dd3..1e45bf36d5a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -146,6 +146,7 @@
android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize">
+
+
@@ -262,6 +264,7 @@
+
@@ -289,6 +292,7 @@
android:icon="@drawable/ic_homepage_connected_device">
+
+
+
@@ -785,6 +791,7 @@
android:icon="@drawable/ic_homepage_vpn">
+
@@ -821,6 +828,7 @@
android:icon="@drawable/ic_settings_date_time">
+
@@ -844,6 +852,7 @@
android:icon="@drawable/ic_settings_language">
+
@@ -901,6 +910,7 @@
android:label="@string/available_virtual_keyboard_category">
+
+
+
@@ -1092,6 +1104,7 @@
+
+
@@ -1239,6 +1253,7 @@
+
+
@@ -1383,6 +1399,7 @@
+
@@ -1442,6 +1459,7 @@
android:label="@string/high_power_apps">
+
+
@@ -1697,6 +1716,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
+
@@ -1779,6 +1799,7 @@
android:icon="@drawable/ic_settings_privacy">
+
@@ -1900,6 +1921,7 @@
android:label="@string/usage_access_title">
+
+
@@ -2097,6 +2120,7 @@
android:label="@string/accessibility_captioning_title">
+
+
@@ -2266,6 +2291,7 @@
android:theme="@style/GlifTheme.Light">
+
@@ -2431,6 +2457,7 @@
+
@@ -2585,6 +2612,7 @@
android:icon="@drawable/ic_settings_print">
+
@@ -2782,6 +2810,7 @@
android:icon="@drawable/ic_cast_24dp">
+
+
+
+
@@ -2990,6 +3022,7 @@
android:icon="@drawable/ic_settings_display">
+
+
@@ -3093,6 +3127,7 @@
android:label="@string/manage_notification_access_title" >
+
+
+
@@ -3409,6 +3446,7 @@
android:enabled="@bool/config_show_regulatory_info">
+
+
+
@@ -4103,6 +4143,7 @@
android:label="@string/connected_device_connections_title">
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 818689d0fc4..42f8e4c0811 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4296,6 +4296,8 @@
Ethernet tethering
Share phone\u2019s internet connection via Ethernet
+
+ Share tablet\u2019s internet connection via Ethernet
Use hotspot and tethering to provide internet to other devices through your mobile data connection. Apps can also create a hotspot to share content with nearby devices.
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index c643842bf0b..a86b7589191 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -341,7 +341,7 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
/**
* When user disable the Le Audio profile, the system needs to do two things.
- * 1) Disable the Le Audio profile for each of the Le Audio devices.
+ * 1) Disable the Le Audio profile, VCP and CSIP for each of the Le Audio devices.
* 2) Enable the A2dp profile and Headset profile for the associated device. The system
* can't enable the A2dp profile and Headset profile if the Le Audio profile is enabled.
*
@@ -352,14 +352,23 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
Log.e(TAG, "There is no the LE profile or no device in mProfileDeviceMap. Do nothing.");
return;
}
+ LocalBluetoothProfile vcp = mProfileManager.getVolumeControlProfile();
+ LocalBluetoothProfile csip = mProfileManager.getCsipSetCoordinatorProfile();
+ LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
+ LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
+
for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
Log.d(TAG,
"User disable LE device: " + leAudioDevice.getDevice().getAnonymizedAddress());
profile.setEnabled(leAudioDevice.getDevice(), false);
+ if (vcp != null) {
+ vcp.setEnabled(leAudioDevice.getDevice(), false);
+ }
+ if (csip != null) {
+ csip.setEnabled(leAudioDevice.getDevice(), false);
+ }
}
- LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
- LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
enableProfileAfterUserDisablesLeAudio(a2dp);
enableProfileAfterUserDisablesLeAudio(headset);
}
@@ -368,7 +377,7 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
* When user enable the Le Audio profile, the system needs to do two things.
* 1) Disable the A2dp profile and Headset profile for the associated device. The system
* can't enable the Le Audio if the A2dp profile and Headset profile are enabled.
- * 2) Enable the Le Audio profile for each of the Le Audio devices.
+ * 2) Enable the Le Audio profile, VCP and CSIP for each of the Le Audio devices.
*
* @param profile the LeAudio profile
*/
@@ -379,6 +388,9 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
}
LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
+ LocalBluetoothProfile vcp = mProfileManager.getVolumeControlProfile();
+ LocalBluetoothProfile csip = mProfileManager.getCsipSetCoordinatorProfile();
+
disableProfileBeforeUserEnablesLeAudio(a2dp);
disableProfileBeforeUserEnablesLeAudio(headset);
@@ -386,6 +398,12 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
Log.d(TAG,
"User enable LE device: " + leAudioDevice.getDevice().getAnonymizedAddress());
profile.setEnabled(leAudioDevice.getDevice(), true);
+ if (vcp != null) {
+ vcp.setEnabled(leAudioDevice.getDevice(), true);
+ }
+ if (csip != null) {
+ csip.setEnabled(leAudioDevice.getDevice(), true);
+ }
}
}