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); + } } }