From a0f71780e9dd83c91b0ee75ec79dbdf8614cf38b Mon Sep 17 00:00:00 2001 From: Joshua Mccloskey Date: Wed, 9 Mar 2022 04:31:52 +0000 Subject: [PATCH 1/6] Fixed lockscreen pattern size. Test: Verified lock screen pattern is much bigger (in settings) Test: Verified increasing/decreasing text size and pattern still occupies the majority of the device width. Fixes: 222790243 Change-Id: I29594dc92d983bd51a975298cb582391141f449b --- res/values/styles.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/res/values/styles.xml b/res/values/styles.xml index 38277675729..ea38cc61880 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -442,12 +442,12 @@ From 5eda7f09d072b3c08dcd274be99fbf462f44dfbb Mon Sep 17 00:00:00 2001 From: Joshua Mccloskey Date: Wed, 9 Mar 2022 21:07:26 +0000 Subject: [PATCH 2/6] FPSettings depends on SensorProps for maxEnrolls Test: Verified that AIDL FP devices honor the maximum number of fp's allowed according to the HAL. Fixes: 223617233 Change-Id: Ia0c46647d77ce52d4fe95154eae8d8b656456f53 --- .../fingerprint/FingerprintEnrollFindSensor.java | 7 ++++--- .../biometrics/fingerprint/FingerprintEnrollFinish.java | 9 ++++++--- .../biometrics/fingerprint/FingerprintSettings.java | 6 ++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 405c0905523..66059e71256 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java @@ -312,9 +312,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements default: FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); int enrolled = fpm.getEnrolledFingerprints().size(); - int max = getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); - if (enrolled >= max) { + final List props = + fpm.getSensorPropertiesInternal(); + final int maxEnrollments = props.get(0).maxEnrollmentsPerUser; + if (enrolled >= maxEnrollments) { finish(); } else { // We came back from enrolling but it wasn't completed, start again. diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java index 80a6f0555e2..74e844abfda 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java @@ -21,6 +21,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; import android.hardware.fingerprint.FingerprintManager; +import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -36,6 +37,7 @@ import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.util.WizardManagerHelper; +import java.util.List; /** * Activity which concludes fingerprint enrollment. */ @@ -92,10 +94,11 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase { final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); boolean hideAddAnother = false; if (fpm != null) { + final List props = + fpm.getSensorPropertiesInternal(); + int maxEnrollments = props.get(0).maxEnrollmentsPerUser; int enrolled = fpm.getEnrolledFingerprints(mUserId).size(); - int max = getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); - hideAddAnother = enrolled >= max; + hideAddAnother = enrolled >= maxEnrollments; } if (hideAddAnother) { // Don't show "Add" button if too many fingerprints already added diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index abc6d53a63b..a5832eab15b 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -457,8 +457,10 @@ public class FingerprintSettings extends SubSettings { final Preference addPreference = findPreference(KEY_FINGERPRINT_ADD); /* Disable preference if too many fingerprints added */ - final int max = getContext().getResources().getInteger( - com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); + final List props = + mFingerprintManager.getSensorPropertiesInternal(); + // This will need to be updated for devices with multiple fingerprint sensors + final int max = props.get(0).maxEnrollmentsPerUser; boolean tooMany = mFingerprintManager.getEnrolledFingerprints(mUserId).size() >= max; // retryFingerprint() will be called when remove finishes // need to disable enroll or have a way to determine if enroll is in progress From 47bdc61116cc6eab42bb63ff6f3ef711f620104e Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Wed, 9 Mar 2022 16:45:06 +0800 Subject: [PATCH 3/6] Make NFC Setting summary text translatable Add a string in resource xml for the work app summary text in the default payment selection list. Bug: 202369556 Test: manual test Change-Id: Iec3f4bd47c641f3226506a5c49f1601cb24f613a --- res/values/strings.xml | 2 ++ src/com/android/settings/nfc/DefaultPaymentSettings.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 45fac0a701f..f6ac7bf99f7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7774,6 +7774,8 @@ Set default Update + + Work diff --git a/src/com/android/settings/nfc/DefaultPaymentSettings.java b/src/com/android/settings/nfc/DefaultPaymentSettings.java index 4dceefc3451..08b843d48f5 100644 --- a/src/com/android/settings/nfc/DefaultPaymentSettings.java +++ b/src/com/android/settings/nfc/DefaultPaymentSettings.java @@ -143,7 +143,8 @@ public class DefaultPaymentSettings extends DefaultAppPickerFragment { CandidateInfo info, String defaultKey, String systemDefaultKey) { final NfcPaymentCandidateInfo candidateInfo = (NfcPaymentCandidateInfo) info; if (candidateInfo.isManagedProfile()) { - pref.setSummary("Work"); + final String textWork = getContext().getString(R.string.nfc_work_text); + pref.setSummary(textWork); } } From 0d6d1eea28b8908b1ad0cce767ca78d6328baaa3 Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Mon, 14 Mar 2022 10:07:30 +0800 Subject: [PATCH 4/6] [DataUsage] The drop down menu and gear icon not aligned Correct the alignment in layout. Bug: 220322345 Test: local Change-Id: Ia98eb84c5946466f90d813b9c846c1811f2ec10b --- res/layout/apps_filter_spinner.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/layout/apps_filter_spinner.xml b/res/layout/apps_filter_spinner.xml index fcdcb5e8756..dfd41d4f291 100644 --- a/res/layout/apps_filter_spinner.xml +++ b/res/layout/apps_filter_spinner.xml @@ -33,8 +33,8 @@ style="?android:attr/borderlessButtonStyle" android:layout_width="56dp" android:layout_height="56dp" - android:layout_marginTop="12dp" - android:layout_toEndOf="@id/filter_spinner" + android:layout_centerHorizontal="true" + android:layout_toRightOf="@+id/filter_spinner" android:contentDescription="@string/configure" android:scaleType="center" android:src="@drawable/ic_apps_filter_settings_24dp" From 323606ee25ea8f6ae3f2994729b1c1e39ceabf87 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Mon, 14 Mar 2022 14:37:32 +0800 Subject: [PATCH 5/6] Correct null UserHandle handling for ACTION_CHANGE_DEFAULT When there is no userhandle passed via Intent.EXTRA_USER, use UserHandle.myUserId() instead. Bug: 221561126 Test: set default payment in GPay app Change-Id: I272aa6674b7a18523fe02fadeb4a502a67303ee7 --- src/com/android/settings/nfc/PaymentDefaultDialog.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/nfc/PaymentDefaultDialog.java b/src/com/android/settings/nfc/PaymentDefaultDialog.java index 75746ce94d2..d333b3da6ac 100644 --- a/src/com/android/settings/nfc/PaymentDefaultDialog.java +++ b/src/com/android/settings/nfc/PaymentDefaultDialog.java @@ -59,10 +59,13 @@ public final class PaymentDefaultDialog extends AlertActivity implements CardEmulation.EXTRA_SERVICE_COMPONENT); String category = intent.getStringExtra(CardEmulation.EXTRA_CATEGORY); UserHandle userHandle = intent.getParcelableExtra(Intent.EXTRA_USER); + + int userId; if (userHandle == null) { - userHandle = UserHandle.CURRENT; + userId = UserHandle.myUserId(); + } else { + userId = userHandle.getIdentifier(); } - int userId = userHandle.getIdentifier(); setResult(RESULT_CANCELED); if (!buildDialog(component, category, userId)) { From 273d3445eed170b124ffe41590279e6b15ad0ad0 Mon Sep 17 00:00:00 2001 From: ykhung Date: Tue, 15 Mar 2022 14:00:29 +0800 Subject: [PATCH 6/6] Update the categorize rule for system and app item bucket Add a config to control different design concept in the chart 1) put all apps with system UID and system components (e.g. bluetooth, display, wifi ... etc) into the system bucket or 2) separate them into two different bucket (app & system bucket) in the chart UI for better experimental testing Bug: 202118250 Test: make RunSettingsRoboTests Change-Id: Id6f7c07d96ad8a365e7405160a5248c57a5a008d --- res/values/config.xml | 2 ++ .../android/settings/fuelgauge/BatteryDiffEntry.java | 11 +++++++++-- .../settings/fuelgauge/BatteryDiffEntryTest.java | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/res/values/config.xml b/res/values/config.xml index 89333059105..0d67de7d3c1 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -618,4 +618,6 @@ false + + false diff --git a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java index e524e984d78..ca29cfe9884 100644 --- a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java @@ -25,6 +25,7 @@ import android.util.Log; import androidx.annotation.VisibleForTesting; +import com.android.settings.R; import com.android.settingslib.utils.StringUtil; import java.util.Comparator; @@ -52,6 +53,7 @@ public class BatteryDiffEntry { public double mConsumePower; // A BatteryHistEntry corresponding to this diff usage data. public final BatteryHistEntry mBatteryHistEntry; + private double mTotalConsumePower; private double mPercentOfTotal; @@ -151,8 +153,13 @@ public class BatteryDiffEntry { case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY: return true; case ConvertUtils.CONSUMER_TYPE_UID_BATTERY: - return isSystemUid((int) mBatteryHistEntry.mUid) - || mBatteryHistEntry.mIsHidden; + if (mBatteryHistEntry.mIsHidden) { + return true; + } + final boolean combineSystemComponents = + mContext.getResources().getBoolean( + R.bool.config_battery_combine_system_components); + return combineSystemComponents && isSystemUid((int) mBatteryHistEntry.mUid); } return false; } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java index b1d8f0d5a6d..13ce29efaa7 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java @@ -349,12 +349,12 @@ public final class BatteryDiffEntryTest { } @Test - public void testIsSystemEntry_uidBatteryWithSystemProcess_returnTrue() { + public void testIsSystemEntry_uidBatteryWithSystemProcess_returnFalse() { final BatteryDiffEntry entry = createBatteryDiffEntry( ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*uid=*/ 1230, /*isHidden=*/ false); - assertThat(entry.isSystemEntry()).isTrue(); + assertThat(entry.isSystemEntry()).isFalse(); } @Test