Merge sc-qpr1-dev-plus-aosp-without-vendor@7810918
Bug: 205056467
Merged-In: I9ac05f5da437030e1b5db082ddaf7959f82acccd
Change-Id: Iaf8ebc4877a8276672354b45db0dd502c0f71bd3
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index fb3d701..ce13892 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -279,6 +279,17 @@
android:value="true" />
</activity>
+ <!-- Keep compatibility with old shortcuts. -->
+ <activity-alias
+ android:name="Settings$WifiSettings2Activity"
+ android:targetActivity="Settings$WifiSettingsActivity"
+ android:label="@string/wifi_settings"
+ android:icon="@drawable/ic_homepage_network"
+ android:exported="true">
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.wifi.WifiSettings" />
+ </activity-alias>
+
<activity
android:name="Settings$NetworkProviderSettingsActivity"
android:label="@string/provider_internet_settings"
@@ -330,6 +341,17 @@
android:value="true" />
</activity>
+ <activity android:name=".Settings$AdaptiveBrightnessActivity"
+ android:label="@string/auto_brightness_title"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.settings.ADAPTIVE_BRIGHTNESS_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.display.AutoBrightnessSettings"/>
+ </activity>
+
<activity
android:name="Settings$ConfigureWifiSettingsActivity"
android:label="@string/wifi_configure_settings_preference_title"
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index cc9542b..cb2cde4 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -324,4 +324,6 @@
* Activity for AppDashboard.
*/
public static class AppDashboardActivity extends SettingsActivity {}
+
+ public static class AdaptiveBrightnessActivity extends SettingsActivity { /* empty */ }
}
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 458aadb..6d7626c 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -84,6 +84,7 @@
import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
import com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings;
import com.android.settings.deviceinfo.legal.ModuleLicensesDashboard;
+import com.android.settings.display.AutoBrightnessSettings;
import com.android.settings.display.NightDisplaySettings;
import com.android.settings.display.SmartAutoRotatePreferenceFragment;
import com.android.settings.display.darkmode.DarkModeSettingsFragment;
@@ -315,7 +316,8 @@
MediaControlsSettings.class.getName(),
NetworkProviderSettings.class.getName(),
AlarmsAndRemindersDetails.class.getName(),
- MediaManagementAppsDetails.class.getName()
+ MediaManagementAppsDetails.class.getName(),
+ AutoBrightnessSettings.class.getName()
};
public static final String[] SETTINGS_FOR_RESTRICTED = {
@@ -346,6 +348,8 @@
Settings.ConfigureNotificationSettingsActivity.class.getName(),
Settings.ManageApplicationsActivity.class.getName(),
Settings.PaymentSettingsActivity.class.getName(),
+ // Home page > Display
+ Settings.AdaptiveBrightnessActivity.class.getName(),
// Home page > Security & screen lock
Settings.LocationSettingsActivity.class.getName(),
// Home page > System
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
index d66b8d8..765c5f8 100644
--- a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
@@ -219,11 +219,17 @@
*/
public void onHDAudioEnabled(boolean enabled) {}
- static int getHighestCodec(BluetoothCodecConfig[] configs) {
+ static int getHighestCodec(BluetoothA2dp bluetoothA2dp, BluetoothDevice activeDevice,
+ BluetoothCodecConfig[] configs) {
if (configs == null) {
Log.d(TAG, "Unable to get highest codec. Configs are empty");
return BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
}
+ // If HD audio is not enabled, SBC is the only one available codec.
+ if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
+ != BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
+ return BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
+ }
for (int i = 0; i < CODEC_TYPES.length; i++) {
for (int j = 0; j < configs.length; j++) {
if ((configs[j].getCodecType() == CODEC_TYPES[i])) {
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
index 6b243c6..b1b58e5 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
@@ -93,8 +93,9 @@
int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
switch (index) {
case 0:
- codecTypeValue = getHighestCodec(getSelectableConfigs(
- mBluetoothA2dp.getActiveDevice()));
+ final BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+ codecTypeValue = getHighestCodec(mBluetoothA2dp, activeDevice,
+ getSelectableConfigs(activeDevice));
codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
break;
case 1:
@@ -147,6 +148,11 @@
mCallback.onBluetoothCodecChanged();
}
+ @Override
+ public void onHDAudioEnabled(boolean enabled) {
+ writeConfigurationValues(/* index= */ 0);
+ }
+
private List<Integer> getIndexFromConfig(BluetoothCodecConfig[] configs) {
List<Integer> indexArray = new ArrayList<>();
for (int i = 0; i < configs.length; i++) {
diff --git a/src/com/android/settings/notification/history/NotificationStation.java b/src/com/android/settings/notification/history/NotificationStation.java
index fe8b168..bd5b83a 100644
--- a/src/com/android/settings/notification/history/NotificationStation.java
+++ b/src/com/android/settings/notification/history/NotificationStation.java
@@ -640,7 +640,7 @@
.append(' ')
.append(bold(getString(R.string.notification_log_details_ashmem)))
.append(delim)
- .append(String.valueOf(p.getBlobAshmemSize()))
+ .append(String.valueOf(p.getOpenAshmemSize()))
.append("\n");
}
return sb;
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
index 7dd2906..0f01e00 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
@@ -19,6 +19,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -108,6 +109,8 @@
BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+ when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+ BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
mController.onBluetoothServiceConnected(mBluetoothA2dp);
mController.writeConfigurationValues(0);
@@ -172,4 +175,37 @@
verify(mCallback).onBluetoothCodecChanged();
}
+
+ @Test
+ public void onHDAudioEnabled_optionalCodecEnabled_setsCodecTypeAsAAC() {
+ BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+ mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC,
+ /* codecsLocalCapabilities= */ null,
+ mCodecConfigs);
+ when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+ when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+ BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
+ mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+ mController.onHDAudioEnabled(/* enabled= */ true);
+
+ verify(mBluetoothA2dpConfigStore, atLeastOnce()).setCodecType(
+ eq(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC));
+ }
+ @Test
+ public void onHDAudioEnabled_optionalCodecDisabled_setsCodecTypeAsSBC() {
+ BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+ mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC,
+ /* codecsLocalCapabilities= */ null,
+ mCodecConfigs);
+ when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+ when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+ BluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED);
+ mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+ mController.onHDAudioEnabled(/* enabled= */ false);
+
+ verify(mBluetoothA2dpConfigStore, atLeastOnce()).setCodecType(
+ eq(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC));
+ }
}