From 0c7ac1bdc6679465e3274d5951b2b89a8c82de4c Mon Sep 17 00:00:00 2001 From: Bhavuk Jain Date: Fri, 15 Sep 2023 19:31:16 +0000 Subject: [PATCH 1/3] Fixed a11y announcement while setting a PIN This CL removes explicitly setting the disabled state of the confirm button while reconfirming the PIN in the setting of PIN flow. We do this since otherwise a11y services announces the state of the button which is confusing for users. Bug: b/281953347 Test: Tested by building and installing Settings APK on local device, and checking a11y announcement. Also setup a PIN to see if the setup flow is working properly. Change-Id: I91b592310e240c3994049330c8a881740a3a0d59 --- src/com/android/settings/password/ChooseLockPassword.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java index 09d192412ba..ed155bcb10c 100644 --- a/src/com/android/settings/password/ChooseLockPassword.java +++ b/src/com/android/settings/password/ChooseLockPassword.java @@ -1034,8 +1034,6 @@ public class ChooseLockPassword extends SettingsActivity { getActivity().getWindow().getDecorView()); mPasswordEntryInputDisabler.setInputEnabled(false); - setNextEnabled(false); - mSaveAndFinishWorker = new SaveAndFinishWorker(); mSaveAndFinishWorker .setListener(this) From 764337bd809a38c215800b30d84b843ad414537b Mon Sep 17 00:00:00 2001 From: Zaiyue Xue Date: Thu, 21 Sep 2023 19:34:09 +0800 Subject: [PATCH 2/3] Fix JAVA_CRASH NullPointerException in BatteryUsageDataLoader. Bug: 301362376 Fix: 301362376 Test: manual Change-Id: I75060fc3d1989522f58cae593b1c1f4063dbd6e5 --- .../settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java index cc0067b9bbf..55ef9374aec 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java @@ -120,7 +120,7 @@ public final class BatteryUsageDataLoader { DatabaseUtils.sendBatteryUsageSlotData(context, ConvertUtils.convertToBatteryUsageSlotList(batteryDiffDataMap)); if (batteryDiffDataMap.values().stream().anyMatch(data -> - (!data.getAppDiffEntryList().isEmpty() + data != null && (!data.getAppDiffEntryList().isEmpty() || !data.getSystemDiffEntryList().isEmpty()))) { FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context) .detectSettingsAnomaly(context, /* displayDrain= */ 0); From ab895fdb9bcba0298bc3fd4bafb1a3b32f34bb05 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Fri, 22 Sep 2023 19:16:25 +0800 Subject: [PATCH 3/3] Update Battery preference for Instant Hotspot - Use the static battery full icon - Show charging status in Battery preference summary Bug: 300559036 Test: manual test atest -c WifiNetworkDetailsFragmentTest Merged-In: I89e811ba0d1b715d4fff23c96bc094cd4270fef7 Change-Id: I89e811ba0d1b715d4fff23c96bc094cd4270fef7 --- res/drawable/ic_battery_full.xml | 25 +++++++++++++++++++ res/values/strings.xml | 2 ++ res/xml/wifi_network_details_fragment2.xml | 1 + .../details/WifiNetworkDetailsFragment.java | 22 +++------------- .../WifiNetworkDetailsFragmentTest.java | 21 +++++----------- 5 files changed, 37 insertions(+), 34 deletions(-) create mode 100644 res/drawable/ic_battery_full.xml diff --git a/res/drawable/ic_battery_full.xml b/res/drawable/ic_battery_full.xml new file mode 100644 index 00000000000..8b1321f68ce --- /dev/null +++ b/res/drawable/ic_battery_full.xml @@ -0,0 +1,25 @@ + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index f8b770f5b21..8f8ea41c179 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2003,6 +2003,8 @@ Mobile data Ethernet + + %s \u2011 Charging Hotspot connection diff --git a/res/xml/wifi_network_details_fragment2.xml b/res/xml/wifi_network_details_fragment2.xml index e3464c215d7..00624749377 100644 --- a/res/xml/wifi_network_details_fragment2.xml +++ b/res/xml/wifi_network_details_fragment2.xml @@ -52,6 +52,7 @@ settings:enableCopying="true"/> diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java index a3feecab56c..e3812af5a89 100644 --- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java @@ -23,7 +23,6 @@ import android.app.Dialog; import android.app.admin.DevicePolicyManager; import android.app.settings.SettingsEnums; import android.content.Context; -import android.graphics.ColorFilter; import android.graphics.drawable.Drawable; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; @@ -66,7 +65,6 @@ import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.graph.ThemedBatteryDrawable; import com.android.wifitrackerlib.NetworkDetailsTracker; import com.android.wifitrackerlib.WifiEntry; @@ -436,22 +434,8 @@ public class WifiNetworkDetailsFragment extends RestrictedDashboardFragment impl @VisibleForTesting void updateBattery(boolean isChanging, int percentage) { Preference battery = getPreferenceScreen().findPreference(KEY_HOTSPOT_DEVICE_BATTERY); - battery.setSummary(formatPercentage(percentage)); - ThemedBatteryDrawable drawable = getBatteryDrawable(); - if (drawable != null) { - drawable.setCharging(isChanging); - drawable.setBatteryLevel(percentage); - } - battery.setIcon(drawable); - } - - @VisibleForTesting - ThemedBatteryDrawable getBatteryDrawable() { - int frameColor = getContext().getColor(R.color.meter_background_color); - ThemedBatteryDrawable drawable = new ThemedBatteryDrawable(getContext(), frameColor); - ColorFilter colorFilter = Utils.getAlphaInvariantColorFilterForColor( - Utils.getColorAttrDefaultColor(getContext(), android.R.attr.colorControlNormal)); - drawable.setColorFilter(colorFilter); - return drawable; + battery.setSummary((isChanging) + ? getString(R.string.hotspot_battery_charging_summary, formatPercentage(percentage)) + : formatPercentage(percentage)); } } diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java index bd8b5be50a0..52a1a6ca017 100644 --- a/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java +++ b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java @@ -58,7 +58,6 @@ import com.android.settings.core.BasePreferenceController; import com.android.settings.wifi.WifiUtils; import com.android.settings.wifi.details2.WifiDetailPreferenceController2; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.graph.ThemedBatteryDrawable; import com.android.wifitrackerlib.NetworkDetailsTracker; import com.android.wifitrackerlib.WifiEntry; @@ -67,7 +66,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; -import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Spy; import org.mockito.junit.MockitoJUnit; @@ -112,8 +110,6 @@ public class WifiNetworkDetailsFragmentTest { FakeFragment mFragment; PreferenceScreen mScreen; - ArgumentCaptor mThemedBatteryDrawableCaptor = - ArgumentCaptor.forClass(ThemedBatteryDrawable.class); @Before public void setUp() { @@ -290,25 +286,20 @@ public class WifiNetworkDetailsFragmentTest { } @Test - public void updateBattery_hiPercentageNoCharging_setResourceCorrect() { + public void updateBattery_hiPercentageNoCharging_setSummaryCorrect() { mFragment.updateBattery(false /* isChanging */, BATTERY_PERCENTAGE_MAX); verify(mBattery).setSummary(formatPercentage(BATTERY_PERCENTAGE_MAX)); - verify(mBattery).setIcon(mThemedBatteryDrawableCaptor.capture()); - ThemedBatteryDrawable drawable = mThemedBatteryDrawableCaptor.getValue(); - assertThat(drawable.getCharging()).isFalse(); - assertThat(drawable.getBatteryLevel()).isEqualTo(BATTERY_PERCENTAGE_MAX); } @Test - public void updateBattery_lowPercentageWithCharging_setResourceCorrect() { + public void updateBattery_lowPercentageWithCharging_setSummaryCorrect() { + String summary = mContext.getString(R.string.hotspot_battery_charging_summary, + formatPercentage(0)); + mFragment.updateBattery(true /* isChanging */, 0 /* percentage */); - verify(mBattery).setSummary(formatPercentage(0)); - verify(mBattery).setIcon(mThemedBatteryDrawableCaptor.capture()); - ThemedBatteryDrawable drawable = mThemedBatteryDrawableCaptor.getValue(); - assertThat(drawable.getCharging()).isTrue(); - assertThat(drawable.getBatteryLevel()).isEqualTo(0); + verify(mBattery).setSummary(summary); } // Fake WifiNetworkDetailsFragment to override the protected method as public.