Enable the UI control through configuration.
Bug: 240515161
Test: local, auto test
Merged-In: I5e49a2b0f2b563b426354f4d2e6e650dcc02c98b
Merged-In: I4e0db5688dc1b074d43f9d77dd2f6d4cc53a353c
Change-Id: I4e0db5688dc1b074d43f9d77dd2f6d4cc53a353c
- App usage page only use package name to launch the page, it can not
identify the different userId between normal app and work profile
app, add extra userId info into launch args
- Remove no battery usage state/string if usage time is empty
Bug: 251471047
Test: make SettingsRoboTests
Change-Id: Id06ebb0f0fcd863e423acd7839f89bc0ae2444c1
Merged-In: Id06ebb0f0fcd863e423acd7839f89bc0ae2444c1
To align SearchView x button with right border.
Bug: 254403811
Test: manual,
Settings > Apps > See all apps > tap the search icon >
input something and observe.
Change-Id: I5146c9ffb3c5177926e75f673497408092f6c065
Fix not seeing apps with the LocaleConfig in the app language selector of Settings.
Bug: 239054437
Test: Manual
Change-Id: I4db78300b63e6fda2890383c097bb46102084d95
Also auto fix some lint issues.
Bug: 243337537
Test: Manual
Change-Id: I55a393517ae01d6a8c17106a3e7750323838cebb
(cherry picked from commit 67599bce4e)
Merged-In: I55a393517ae01d6a8c17106a3e7750323838cebb
Moving the old restricted page to the new optimization page will happen
in a follow-up CL.
Test: Unit, manual
Bug: 238026672
Change-Id: I5fee9ebe03284a013da6bfca9ada8b166c6af91c
(cherry picked from commit 5ecb1a1d69)
Merged-In: I5fee9ebe03284a013da6bfca9ada8b166c6af91c
There are 3 conditions we need to check.
1. Has locale config file
2. Has locale config file w/o content
3. Has locale config file w/ content
Currently, we do not have condition 2 into the condition group, and we
need to add it into.
Bug: b/243099750
Test: Manual
Change-Id: I58d0275af53031ba4f4c705022017d5143f45795
Panlingual successfully landed. Hence, we can remove the feature flag
right now.
Bug: b/209775925
Test: atest pass
Test: Manual test pass
Change-Id: I464a206027fd63ee1763acaf17d1b6251e839bc0
This cl is a merge of the following 36 cls:
ag/19250259 Duplicate BatteryChartPreferenceController and BatteryChartView into new files for better diff review purpose
ag/19279660 Use Mockito 4.6.1 API for BatteryChartPreferenceControllerV2Test
ag/19267975 Add class BatteryLevelData used to parcel the battery timestamps and levels. It behaves as an interface between UI and data.
ag/19289086 Refactor BatteryChartView X-axis labels. Instead of only timestamps, also support any string[] labels.
ag/19238586 Add interpolation for the history data since last full charge loaded from database.
ag/19331746 Return raw history map in function getHistoryMapSinceLastFullCharge.
ag/19308838 In BatteryChartViewV2, use levels.length-1 to replace mTrapezoidCount. So the chartview could show any number of slots as the given levels length-1.
ag/19332266 Add class BatteryDiffData used to parcel battery usage data
ag/19331467 Refactor Battery Chart View State Controll
ag/19358207 Add DataProcessor to process raw history map for UI.
ag/19332276 Add battery chart view model.
ag/19394744 Update trapezoid validation in battery chart view.
ag/19379730 Support daily and hourly battery chartview.
ag/19428426 Improve X axis labels in battery chart (1)
ag/19446215 Improve X axis labels in battery chart (2)
ag/19394745 Add the async task to compute diff usage data and load labels and icons.
ag/19447624 Support showing app usage list for two battery charts
ag/19500907 Updates battery usage messages from last 24hr to last full charge. (Part1: V2 files)
ag/19505324 Update the selected period message in battery chart
ag/19500905 Updates battery usage messages from last 24hr to last full charge. (Part2: non-V2 files)
ag/19510363 Update usage data for EBS app usage list and App usage detail from 24 hours to last full charge.
ag/19523184 Update usage data for EBS app usage list and App usage detail from 24 hours to last full charge.
ag/19534864 Add margin between battery daily and hourly charts
ag/19491093 Always do interpolation for battery level data in daily chart.
ag/19565630 Avoid NullPointerException when batteryLevelData is null.
ag/19561239 Fix b/241872474 Battery usage page will crash when selecting the last hour chart bar, going to app detail page, and going back
ag/19565633 Fix b/241885070: Unexpected texts moving when going back to battery usage page
ag/19534850 New way to draw battery chart axis labels
ag/19561240 Switch Battery Usage Chart from V1 to V2.
ag/19561338 Switch Battery Usage Chart from V1 to V2.
ag/19600174 Fix b/242254055 Battery usage initial screen improvements (long data loading time)
ag/19600284 Fix b/242252080: Add padding space on the top of the battery chart
ag/19647338 Consider usage map valid even if [all][all] is null.
ag/19634227 Use new content uri everytime to avoid cache
ag/19600177 Fix b/242009481: Refine the battery usage chart timestamp label rule
ag/19647337 Fix b/242809981 Charge battery to 100% when battery usage page opened, the chart will refresh, but the app list isn't refreshed in that case.
Test: manual
Bug: 239491373
Bug: 236101166
Bug: 236101687
Fix: 236101166
Change-Id: I7de8d9dcee14627da10752534991f1ec9f616020
Merged-In: I9142c0d4e00dea3771777ba9aedeab07b635fa1a
When DISALLOW_APPS_CONTROL restriction is enabled, users should not be
able to enable/disable apps, clear app caches and clear app data.
The function of reset app preferences will re-enable the disabled apps,
it can let users bypass DISALLOW_APPS_CONTROL to enable an app disabled
by IT admin to see sensitive information.
To fix this vulnerability, we add a check for DISALLOW_APPS_CONTROL
restriction before users reset app preferences. Once the restriction is
enabled, it will show dialog “Blocked by your IT admin” instead.
Bug: 238745070
Test: Verify change by turning on/off DISALLOW_APPS_CONTROL with TestDPC.
Change-Id: Iffee73cf4952b686a78b4c7aaa54747971337d03
(cherry picked from commit 4356c9c653)
Currently Kotlin files cannot build with library app-compat-annotations.
Only one @ChangeId need this library, create separate build target
library Settings-change-ids to solve this issue.
After this cl, Kotlin could be used for Settings App.
Fix: 229037247
Test: make Settings
Change-Id: I4a0d99425c9e6cc2cbc015d2561daa68609ca0fd
The "Pause app activity if unused" SwitchPreference under App info page.
Currently, the preference controller updates the UI state in the
onOpChanged(), which is unnecessary and is called in another non-UI
thread.
Not updating state in onOpChanged() to fix.
Note: This controller implements the LifecycleObserver to handle
lifecycle related logic, but it's actually a no-op before change
If9e48e44267de8e89a5e8f45d256719130936320. So it used to work fine
without the OnOpChangedListener, we can remove it now.
Fix: 227762370
Test: manual
Change-Id: I33f1f55a706407d7b409c3544f9889c45855b34d
This reverts commit d9453bf8c6.
Reason for revert: This introduces a new flicker which doesn't seem good. Will have another solution once all things are ready.
Fixes: 232355879
Change-Id: I0bbc4561ce4fbef36d59de15ae98705a6d81574c
Getting app locale config will spend a lot of time. Removing the log
to prevent getting locale-config for each system app.
Bug: 232557302
Test: Saving about 80% under java stack tracing mode
Change-Id: I2e755286a4e493be7fd73028ade8d190f6571e46
Hide apps Preference summary when a summary is empty
then its title will be vertically centered.
Bug: 229646669
Test: manual visual
Settings -> Apps -> See all apps
Settings -> Notifications -> App settings
Settings -> Storage -> Apps
Settings -> System -> Language & input -> App Languages
Change-Id: I6fceba243e2ccac9ea180b940b571da07e1ba805
Merged-In: I6fceba243e2ccac9ea180b940b571da07e1ba805
Fix the issue that Optimization Mode is not reset when users click the
"Reset apps" button in the setting.
Bug: 222037028
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge" + emulator
Change-Id: I22fb8aa19e284e11882b2920b77b544dee4cc33c
- show a message for app selection of user to avoid any confusion of
searching app.
Bug: b/230689178
Test: see b/230689178
Change-Id: I597e718b81bd7a5019c69dbdfc02f26d7f3af5fd
Replace FooterPreference#SetLearnMoreContentDescription() with
FooterPreference#SetLearnMoreText().
This is a requirement: All links, controls, and buttons should
also have comprehensible text or tooltip text, so users can identify its
purpose, independent of context, such as when using the URL list from
TalkBack’s local context menu.
Bug: 215045903
Test: manual & robotest
Change-Id: Ib657ba336c5688c1434a58611dea3891001afe14
In those pages that extend ManageApplications, they need to load extra
information from other services as a summary for each package or as a
condition to be filtered. The way to load extra information is invoked
at two places. One is invoked once all apps are loaded and the other is
running before all apps loaded. It took much more time to prepare the
data for those pages if it is time consuming to load extra info. This
also caused the loading spinner to be always shown.
This change is to make sure that the loading extra info is invoked just
once when entering those pages and to decrease the time to load extra
info. The loading spinner is still displayed on some pages since it
still needs to take more than 100 ms to load extra infor in those pages.
Bug: 222441965
Bug: 223315960
Bug: 222981538
Bug: 222981533
Test: manual test
Change-Id: I8d0084ab5c412d9661f31446e613b7d1f58202ca
When it's in a multi-window mode, force stopping an app will lead to an
activity recreate, and the dialog fragment will also be recreated.
That's why the dialog still shows after the button is clicked.
Hence, dismiss the dialog before stopping the app to fix it.
Fixes: 231529730
Test: robotest
Change-Id: I75d27624f0c60bb617e7d1a92ffe01d3c0fbf7be