The POWER_SAVE_MODE_CHANGING broadcast is sent at the same time as the
POWER_SAVE_MODE_CHANGED broadcast. Since broadcasts are asynchronous,
there's no reason to have both, so we're simplifying down to just one.
Bug: 79580230
Test: atest BatterySaverReceiverTest
Change-Id: Ib27fc91bc23126f58532e534575d912e3b72ac43
These test failures may relate to change of PowerManager. Ignore them
first and will have people working on the fix.
Bug: 150914017
Test: robotests
Change-Id: Id4d3bb9945a993517964376b5d52e31dd293e634
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.
Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
"Google" app is quicksearchbox which always has a foreground service running.
This causes it shows a huge usage time.
So, we make the summary invisible now.
Test: Rebuild and visual
Change-Id: Iba8083cc058e1d391dc20610fb6eb140c2c25350
Fix: 144063003
Only PreferenceControllers with isPublicSlice() set to true are exposed
to other apps. Others will be Settings only.
Bug: 141088937
Test: robotests
Change-Id: I5934e89bc1b268fdd44acd630621fa46987728ff
Restricted App list can be update in RestrictedAppDetails page and
go back to SmartBatterySettings page without update the App list.
We need to update the list in updateState() again.
Fixes: 140585454
Test: manual, robolectric
Change-Id: I48a197351ffb9b07490f1de7ba1f7417102458a2
restartBatteryStatsLoader made a loader existed in fragment. onStart
will resume the loader. onResume registers mBatteryBroadcastReceiver
will caused the loader activated the second time. We move
restartBatteryStatsLoader to onStart can reduce the loader runs only
once.
Fixes: 140488811
Test: manual
Change-Id: I4cac574ea8e9c07c1a9df48a57fb8140d5687b21
Move hide preference logic to getAvailabilityStatus, it can remove
the preference before onresume.
Fixes: 140366463
Test: manual, robolectric
Change-Id: Ie11b5357b1e9340b30b8f19eac60c479cdb7687e
TextView summary1 has default height 2 line. If the content is longer
than 2 line, the TextView increases itself which causes the animation.
By increasing minLines to 3, it can avoid the animation. And remove
summary2 because it is only for debug purpose, the debug information
can be merged to summary1.
Fixes: 139554919
Test: visual, make RunSettingsRoboTests
Change-Id: I167ac87c9bd83035e00d4991961599e76f4f69e1
jobService is moved to mainline module. It is not registered in
the system at the beginning, therefore getSystemService returns
null. Instead of getSystemService, directly create a JobSchedulerImpl
and mock getSystemService method to return the JobSchedulerImpl
instance.
Fixes: 138714772
Test: make RunSettingsRoboTests
Change-Id: If91b6a63c0de92530d69f7b80515669352aab760
Test case can't get application info. We add test app information
in packagemanager in setup().
Test: atest BatteryTipDialogFragmentTest
Fixes: 134451831
Change-Id: I687f5f3a52ba8af346dbd0d798e4eee34a583870
1. In High usage dialog, show top apps based on battery usage, not app
time.
2. Refactor the check for hidden system modules into ShouldHideSipper,
however don't smear it, this is also the current logic before this CL.
Bug: 133445008
Test: RunSettingsRoboTests
Change-Id: I851a1c9ef9b79a934ba0501cd96001f2e450bda4
There was an infinite loop that could occur in BatterySaverUtils
what was caused by battery saver utils updating the battery estimate
which then told the page to check for an estimate and then it would
repeat from there. This cleans up the logic in that loop slightly
to prevent it from refreshing more than is necessary.
Test: atest BatteryUtilsTest
Bug: 132751712
Change-Id: I918484747ecd9735315570ad608489e0f61d7578
This CL makes it so that the order on the seekbar is increased
to a very large value to ensure it gets added to the end in the
case where a refresh is triggered due to the first time battery
saver dialog. Additionally it clears the preferences on the screen
when we receive confirmation to ensure that no caching can cause
the seekbar ot show up on top of other preferences.
Test: atest BatterySaverScheduleSeekBarControllerTest
Bug: 132107662
Change-Id: I26bf2772ed7135daa4879bca17e0ecfc22a2d0dd
Even though we unregister contentObserver in onPause and register
in onResume, callback still be called while fragment is detached.
Anyhow add a null check in settings to stop crash
Fixes: 131905853
Test: RunSettingsRoboTests
Change-Id: I8c0c2c04c3b8d942e0c97cf71a7d3e735a24b467
This will allow tapping on the Learn More text to take a user to
the support page for battery saver.
Bug: 129010739
Test: atest BatterySaverSettingsTest
Change-Id: Ifb758ea8c608a4051c093b5d1d43f9a039ab1294
Regression from ag/7161923, in this case we should use onResume/onPause
pair. Also sort the method to fit android lifecycle.
Bug: 131615524
Test: RunSettingsRoboTests
Change-Id: I299032bfeb119dac293039917c6673dd4c0ef4e0
This will make the upcoming consistency Cl easier to implement.
Test: Robotests still pass
Bug: 124030091
Change-Id: Ief4989e2b5f9b83b5c3b93d17f9f9fa12136f3ee
If a user tries to enable a battery saver schedule we want
to show them the battery saver warning if they haven't seen it.
This CL does that.
Test: robotests pass, manual verification
Bug: 128924009
Change-Id: I683279716ac7700043b1a01f88bdf2ae716eeece
Instead of toggled on being to keep battery saver on, the UX
writers would like to make toggled on be turn battery saver off
automatically. Also turns the controller into a
TogglePreferenceController, because those exist apparently.
Test: visual inspection, tests pass
Fixes: 126938839
Change-Id: Iffac536d0b1956d4534ca1b5fa5c6440c4d3a3ff
The APIs that back these settings got renamed so this CL just
refactors all the calls to use the new names.
Test: robotests still pass
Bug: 126944845
Change-Id: I2975c7c79998823058db2c0ced2e5cf02216a106
It was persisting to settings secure instead of settings global.
Test: robotests pass
Bug: 128929858
Change-Id: I8c5bcc875d71096e70f1a70ec84e85d46c3abe43