Merge "Add missed "optional_uses_libs" to avoid testing failed" into sc-v2-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 43af6df..7199dd5 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -107,8 +107,8 @@
<uses-permission android:name="android.permission.READ_DREAM_STATE" />
<uses-permission android:name="android.permission.READ_DREAM_SUPPRESSION" />
<uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" />
- <uses-permission android:name="android.permission.LAUNCH_TWO_PANE_SETTINGS_DEEP_LINK" />
- <uses-permission android:name="android.permission.ALLOW_PLACE_IN_TWO_PANE_SETTINGS" />
+ <uses-permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" />
+ <uses-permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS" />
<application
android:name=".SettingsApplication"
@@ -178,10 +178,10 @@
<activity-alias android:name="DeepLinkHomepageActivity"
android:label="@string/settings_label_launcher"
android:exported="true"
- android:permission="android.permission.LAUNCH_TWO_PANE_SETTINGS_DEEP_LINK"
+ android:permission="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
android:targetActivity=".homepage.SettingsHomepageActivity">
<intent-filter>
- <action android:name="android.settings.SETTINGS_LARGE_SCREEN_DEEP_LINK" />
+ <action android:name="android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
index 623f326..2ab7b6a 100644
--- a/res/xml/wifi_configure_settings.xml
+++ b/res/xml/wifi_configure_settings.xml
@@ -42,15 +42,7 @@
<Preference
android:key="install_credentials"
- android:title="@string/wifi_install_credentials">
- <intent
- android:action="android.credentials.INSTALL"
- android:targetPackage="com.android.certinstaller"
- android:targetClass="com.android.certinstaller.CertInstallerMain">
- <!-- Same value as CERTIFICATE_USAGE_WIFI in keystore/java/android/security/Credentials.java -->
- <extra android:name="certificate_install_usage" android:value="wifi"/>
- </intent>
- </Preference>
+ android:title="@string/wifi_install_credentials"/>
<Preference
android:key="wifi_direct"
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 352f0ff..a9999fa 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -364,13 +364,13 @@
// It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
final Intent trampolineIntent =
- new Intent(android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK);
+ new Intent(android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY);
trampolineIntent.replaceExtras(intent);
trampolineIntent.putExtra(
- android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI,
+ android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
intent.toUri(Intent.URI_INTENT_SCHEME));
trampolineIntent.putExtra(
- android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY,
+ android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
mHighlightMenuKey);
trampolineIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(trampolineIntent);
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index c067094..8019d0a 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -361,8 +361,7 @@
final String stateString;
final String footerString;
- if (!mBatteryOptimizeUtils.isValidPackageName()
- || mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()) {
+ if (!mBatteryOptimizeUtils.isValidPackageName()) {
// Present optimized only string when the package name is invalid or
// it's in allow list not idle app.
stateString = context.getString(R.string.manager_battery_usage_optimized_only);
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 11528a6..3d95395 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -89,8 +89,16 @@
return getAppOptimizationMode(mMode, mAllowListed);
}
- /** Sets the {@link OptimizationMode} for associated app. */
public void setAppOptimizationMode(@OptimizationMode int mode) {
+ try {
+ setAppUsageStateInternal(mode);
+ } catch (Exception e) {
+ Log.e(TAG, "setAppUsageState() is failed for " + mPackageName, e);
+ }
+ }
+
+ /** Sets the {@link OptimizationMode} for associated app. */
+ public void setAppUsageStateInternal(@OptimizationMode int mode) {
if (getAppOptimizationMode(mMode, mAllowListed) == mode) {
Log.w(TAG, "set the same optimization mode for: " + mPackageName);
return;
@@ -130,13 +138,6 @@
|| mPowerAllowListBackend.isDefaultActiveApp(mPackageName);
}
- /**
- * Return {@code true} if this package is in allow list except idle app.
- */
- public boolean isAllowlistedExceptIdleApp() {
- return mPowerAllowListBackend.isAllowlistedExceptIdle(mPackageName);
- }
-
String getPackageName() {
return mPackageName == null ? UNKNOWN_PACKAGE : mPackageName;
}
diff --git a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java b/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
index ef23397..ffec50d 100644
--- a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
@@ -57,10 +57,6 @@
Log.d(TAG, "is system or default app, disable pref");
((RadioButtonPreference) preference).setChecked(false);
preference.setEnabled(false);
- } else if (mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()) {
- Log.d(TAG, "in allow list not idle app, optimized states only");
- preference.setEnabled(true);
- ((RadioButtonPreference) preference).setChecked(true);
} else if (mBatteryOptimizeUtils.getAppOptimizationMode()
== BatteryOptimizeUtils.MODE_OPTIMIZED) {
Log.d(TAG, "is optimized states");
diff --git a/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java b/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java
index 230b1fc..d50926e 100644
--- a/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java
@@ -55,9 +55,6 @@
Log.d(TAG, "is system or default app, disable pref");
((RadioButtonPreference) preference).setChecked(false);
preference.setEnabled(false);
- } else if (mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()) {
- Log.d(TAG, "in allow list not idle app, disable perf");
- preference.setEnabled(false);
} else if (mBatteryOptimizeUtils.getAppOptimizationMode()
== BatteryOptimizeUtils.MODE_RESTRICTED) {
Log.d(TAG, "is restricted states");
diff --git a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java b/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
index f8ee651..1d66c6c 100644
--- a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
@@ -53,9 +53,6 @@
if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
Log.d(TAG, "is system or default app, unrestricted states only");
((RadioButtonPreference) preference).setChecked(true);
- } else if (mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()) {
- Log.d(TAG, "in allow list not idle app, disable perf");
- preference.setEnabled(false);
} else if (mBatteryOptimizeUtils.getAppOptimizationMode()
== BatteryOptimizeUtils.MODE_UNRESTRICTED) {
Log.d(TAG, "is unrestricted states");
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 471b1a4..ec3589c 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -16,9 +16,9 @@
package com.android.settings.homepage;
-import static android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK;
-import static android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI;
-import static android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY;
+import static android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY;
+import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
+import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
import android.animation.LayoutTransition;
import android.app.ActivityManager;
@@ -191,14 +191,14 @@
final Intent intent = getIntent();
if (intent == null || !TextUtils.equals(intent.getAction(),
- ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) {
+ ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)) {
return;
}
final String intentUriString = intent.getStringExtra(
- EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI);
+ EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI);
if (TextUtils.isEmpty(intentUriString)) {
- Log.e(TAG, "No EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI to deep link");
+ Log.e(TAG, "No EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI to deep link");
finish();
return;
}
@@ -250,9 +250,9 @@
private String getHighlightMenuKey() {
final Intent intent = getIntent();
if (intent != null && TextUtils.equals(intent.getAction(),
- ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) {
+ ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)) {
final String menuKey = intent.getStringExtra(
- EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY);
+ EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
if (!TextUtils.isEmpty(menuKey)) {
return menuKey;
}
diff --git a/src/com/android/settings/notification/history/NotificationStation.java b/src/com/android/settings/notification/history/NotificationStation.java
index fe8b168..fa3a7b2 100644
--- a/src/com/android/settings/notification/history/NotificationStation.java
+++ b/src/com/android/settings/notification/history/NotificationStation.java
@@ -436,7 +436,7 @@
}
mRanking.getRanking(info.key, rank);
info.alerted = rank.getLastAudiblyAlertedMillis() > 0;
- info.visuallyInterruptive = rank.visuallyInterruptive();
+ info.visuallyInterruptive = rank.isTextChanged();
info.channel = rank.getChannel();
info.rankingExtra = generateRankingExtraText(info);
}
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 4ac2cfc..68d47b5 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -18,11 +18,16 @@
import static android.content.Context.WIFI_SERVICE;
import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.FeatureFlagUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
@@ -38,10 +43,17 @@
public class ConfigureWifiSettings extends DashboardFragment {
private static final String TAG = "ConfigureWifiSettings";
+ private static final String KEY_INSTALL_CREDENTIALS = "install_credentials";
+ private static final String ACTION_INSTALL_CERTS = "android.credentials.INSTALL";
+ private static final String PACKAGE_INSTALL_CERTS = "com.android.certinstaller";
+ private static final String CLASS_INSTALL_CERTS = "com.android.certinstaller.CertInstallerMain";
+ private static final String KEY_INSTALL_CERTIFICATE = "certificate_install_usage";
+ private static final String INSTALL_CERTIFICATE_VALUE = "wifi";
public static final int WIFI_WAKEUP_REQUEST_CODE = 600;
private WifiWakeupPreferenceController mWifiWakeupPreferenceController;
+ private Preference mCertinstallerPreference;
@Override
public void onCreate(Bundle icicle) {
@@ -49,6 +61,22 @@
if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
getActivity().setTitle(R.string.network_and_internet_preferences_title);
}
+
+ mCertinstallerPreference = findPreference(KEY_INSTALL_CREDENTIALS);
+ if (mCertinstallerPreference != null) {
+ mCertinstallerPreference.setOnPreferenceClickListener(preference -> {
+ Intent intent = new Intent(ACTION_INSTALL_CERTS);
+ intent.setFlags(
+ Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setComponent(
+ new ComponentName(PACKAGE_INSTALL_CERTS, CLASS_INSTALL_CERTS));
+ intent.putExtra(KEY_INSTALL_CERTIFICATE, INSTALL_CERTIFICATE_VALUE);
+ getContext().startActivity(intent);
+ return true;
+ });
+ } else {
+ Log.d(TAG, "Can not find the preference.");
+ }
}
@Override
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index ac85d97..a2e78c3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -746,16 +746,6 @@
}
@Test
- public void testInitPreferenceForTriState_isAllowlistedExceptIdleApp_hasCorrectString() {
- when(mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).thenReturn(true);
-
- mFragment.initPreferenceForTriState(mContext);
-
- assertThat(mFooterPreference.getTitle().toString())
- .isEqualTo("This app requires optimized battery usage.");
- }
-
- @Test
public void testInitPreferenceForTriState_isSystemOrDefaultApp_hasCorrectString() {
when(mBatteryOptimizeUtils.isValidPackageName()).thenReturn(true);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index c32be18..53101c0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -125,18 +125,6 @@
}
@Test
- public void testIsAllowlistedExpectIdle_isAllowlistedExceptIdle_returnTrue() {
- when(mMockBackend.isAllowlistedExceptIdle(anyString())).thenReturn(true);
-
- assertThat(mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).isTrue();
- }
-
- @Test
- public void testIsAllowlistedExpectIdle_notAllowlistedExpectIdle_returnFalse() {
- assertThat(mBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).isFalse();
- }
-
- @Test
public void testSetAppOptimizationMode_Restricted_verifyAction() {
// Sets the current mode as MODE_UNRESTRICTED.
mBatteryOptimizeUtils.mAllowListed = false;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
index 923855d..9df3ac9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
@@ -94,16 +94,6 @@
}
@Test
- public void testUpdateState_isAllowlistedExceptIdleApp_prefEnabled() {
- when(mockBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).thenReturn(true);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isEnabled()).isTrue();
- assertThat(mPreference.isChecked()).isTrue();
- }
-
- @Test
public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
mPreference.setKey(mController.KEY_OPTIMIZED_PREF);
mController.handlePreferenceTreeClick(mPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java
index 7b4271f..0986153 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java
@@ -102,16 +102,6 @@
}
@Test
- public void testUpdateState_isAllowlistedExceptIdleApp_prefDisabled() {
- when(mockBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).thenReturn(true);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isChecked()).isFalse();
- assertThat(mPreference.isEnabled()).isFalse();
- }
-
- @Test
public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
mPreference.setKey(mController.KEY_RESTRICTED_PREF);
mController.handlePreferenceTreeClick(mPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
index 5052784..004e97c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
@@ -102,16 +102,6 @@
}
@Test
- public void testUpdateState_isAllowlistedExceptIdleApp_prefDisabled() {
- when(mockBatteryOptimizeUtils.isAllowlistedExceptIdleApp()).thenReturn(true);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isChecked()).isFalse();
- assertThat(mPreference.isEnabled()).isFalse();
- }
-
- @Test
public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
mPreference.setKey(mController.KEY_UNRESTRICTED_PREF);
mController.handlePreferenceTreeClick(mPreference);