- Turn on the collapsing toolbar by default.
- Remove the silky flag from All apps page.
- Ignore tests of ChooseLockGenericTest and trace it on b/179136903.
- Remove silky flag.
Fixes: 183670633
Bug: 179136903
Test: robotests & visual
Change-Id: Iee2a9e7ccaebd1624f995af4fd45446142e5f500
In the original design, we only set title description for
view holder, this is wrong. It causes talkback can't
speak subtext info.
Currently, we set the title content description in the title
view directly, so talkback can say the title and subtext now
when talkback focus on an app view.
Test: Talkback speaks full information for an app entry
Fix: 177873163
Change-Id: I94996d596a85cc2813ed1b10cdd4ed2bee62f4a9
There is AOSP built in file browser for image/video/audio
file category, this change cleanup APP based category
for image/video/audio.
Bug: 183078080
Test: atest com.android.settings.deviceinfo
atest com.android.settings.deviceinfo.storage
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I925fc9296b8c2df5bd793668f66a12beb7744469
There is AOSP built in file browser for image/video/audio
file category, all APPs except games should be included in
Apps category.
- Shows image/video/audio APPs in APPs category.
- Count Image/Video/Audio APPs storage size to Apps storage size.
- Remove APP size & cache size for Images/Videos/Audios category.
Bug: 170918505
Test: atest StorageAsyncLoaderTest.java
Change-Id: I07e0a3a66a13f36b9e0cbde289d8ba90df4ae295
Also update the title of App info entry on Apps page when there is no
recently opened apps.
Bug: 178774987
Test: robotests & visual
Change-Id: I1cd7ffc1a34c9fa65c93d9507bc45dfedc78f549
Add a settings page to control the permission MANAGE_MEDIA in Special
App Access. Apps can launch it by ACTION_REQUEST_MANAGE_MEDIA.
Test: m -j RunSettingsRoboTests ROBOTEST_FILTER=MediaManagementAppsDetailsTest
Test: m -j RunSettingsRoboTests
Test: manual
Bug: 181112025
Change-Id: Id7587cf179b8c5adbfd6477ca9c2d4a20a9852bb
Adding a settings screen to control the permission SCHEDULE_EXACT_ALARM.
Apps can start this by starting a newly introduced API intent
REQUEST_SCHEDULE_EXACT_ALARM.
Test: make -j RunSettingsRoboTests
Manually by UI inspection:
Settings -> Apps -> Special App access -> Alarms and Reminders
or by running:
adb shell am start -a android.settings.REQUEST_SCHEDULE_EXACT_ALARM
Bug: 171306433
Bug: 171305516
Change-Id: I1293d38fc50a22b2af46f80ab24f676ed632f964
When the collapsing toolbar is applied in the Settings app, some pages
they used manage_applications_apps will have the collapsing toolbar not
work properly. This was caused by using multiple CoordinatorLayout and
AppBarLayout in these pages.
Bug: 177375909
Test: visual verified
Change-Id: Ibfeeab9cf907a23d18ee1ec2c450c523316cfc92
On Android S, the help menu will be removed from the toolbar in all
setting pages. This is using a feature flag to turn on/off the help
menu. Then, it should be entirely removed when the collapsing toolbar
feature rolled out.
Bug: 177274632
Test: visual verified
Change-Id: I5aceb9f0a99ecee948272ee584bbebdcce7b7943
Root cause:
RequestIgnoreBatteryOptimizations adds package in
PowerWhitelistManager#addToWhitelist for intent
Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
Settings UI uses PowerAllowlistBackend to check if
an APP is in power allow list. Each UI component should
PowerAllowlistBackend#refreshList() or UI will get
a stale result.
Solution:
This change fixes below display problems by refreshing
allow list from DeviceIdleController service.
1. Battery optimization summary in Battery usage details.
2. Battery optimization list.
BYPASS_INCLUSIVE_LANGUAGE_REASON=I need the object name
to describe the root cause.
Bug: 171064162
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BatteryOptimizationPreferenceControllerTest
manual
Switch battery optimazion of a APP and observer the UI display.
Change-Id: I75b269eec5d1b904dcaa71948798f169d4e4ddfa
Root cause:
App info page will load application icon and content description in
onBindViewHolder(), it will query PackageManager and UserManager many
times in scrolling. Actually these actions will become time consuming if
there is a large app list.
Solution:
To relieve the janky scrolling, cache the icon and content description
if it has been loaded once.
Bug: 156527207
Test: manual test and robotests
Change-Id: I997179834511f86b3155c7d54989a873ac8e2559
Set a content description for each app entity.
If app is a work profile, then talkback says "work" app name.
Test: Rebuilt rom and talkback speaks correct description.
Bug: 127602715
Change-Id: I1952b77a18a884a887d912fb7edc44a12be70ad4
- mCompositeFilter is not changed after toggling filter, so the
list items are not changing. Fixed by changing mCompositeFilter
after toggle is changed.
- Because mSession.rebuild returns null, removes some dead code.
Fixes: 149362024
Test: 1. Settings > App & notifications > Special app access >
Battery optimization
2. Toggle Not optimized and All apps
3. App list should change after step 2
Change-Id: Ifd5c7b0f1d809ae7a49d62b39e34fa899700326c
- Pass wrong user id in view holder
Fixes: 149028747
Test: 1. Add new user, and change th new user
2. Take a camera shot under the new user
3. go to Settings -> Storage -> photo & video -> Image
4. Should open file brower
Change-Id: I0af532748ec19f62897911b1bb6ece9b21b844c3
In order to prevent DoS attack from icon size, we're using
a system lib to help convert any loaded drawable into a flattened
bitmap with an appropriate size.
Test: Open recent app screen and then no crash
Change-Id: Ie148890fbbbf71f42863a8fe727a90615158b8c1
Fix: 33646131
We will soon have javadoc generated from the doc comments on all
@ChangeId annotated constants. Since the link target referred to
here is a @hide constant, it cannot be resolved as part of DAC doc
generation. Replace it with {@code} specifying the constants value
instead.
Bug: 144927670
Test: In follow up CLs
Change-Id: I9947e722dca228705190e8f2c49e47104c04dea6
- Pass user.getIndentifier() to intent
Fixes: 147357696
Test: 1. go to Settings -> Storage -> Music&Audio
2. switch to work tab
3. tab "Audio files"
4. should display work profile files
Change-Id: I0d2883c45eb7b883adbaf034c0a49c5e52ba82f6
Adds a Special App Access setting for the app-op
OP_MANAGE_EXTERNAL_STORAGE. All apps requesting the corresponding
permission will be displayed in the settings page. Toggling the
preference switch for an app will grant/revoke the app-op.
All of the external references to the permission, app-op and their
corresponding activities and logic use the name "Manage External
Storage". All of the external displays and strings use the name "All
files access"
Test: * Install app with uses-permission MANAGE_EXTERNAL_STORAGE
* Observe it appearing the All files access page
* Toggle the switch and observe the change in
'adb shell dumpsys appops'
Bug: 146425146
Change-Id: If5c9c5daa3616a3310c090283acfda933bf9df26
Log using PlatformCompat framework if the app tried to deep-link into
the app-specific screen for managing SAW permission.
Bug: 146327570
Bug: 135920175
Test: 1. adb shell am start -a
android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.foo.bar
2. adb logcat -s -v color CompatibilityChangeReporter:*
3. Verify compat change id reported 135920175 and state LOGGED
Change-Id: I1d6c571d524d70c11156aeea27a8800d2a0ba42b
The notification package was getting too big.
Test: make -j64 RunSettingsRoboTests
Fixes: 145224451
Change-Id: I25ba82f42f7a137d8adcce72dcf8089d0e018bdc
- Modify ProfileSelectFragment to support add preference xml in the
top, and tabLayout below the preferences. Base preference layout is
dummy_preference_screen.xml which contains no preference.
ProfileSelectStorageFragment contains StorageSummaryDonutPreference
above the tabLayout.
- Make StorageSummaryDonutPreferenceController self workable without
StorageDashboardFragment dependence.
- Rename inactive_apps.xml to dummy_preference_screen.xml
- Move ShadowPrivateStorageInfo from LowStorageSliceTest
Bug: 141601408
Test: manual
Change-Id: Ide12840dc81bb104f328e230ecda5d35bba01d7a
- Add ProfileSelectManageApplications containing tabLayout
- Modify StorageItemPreferenceController to display only personal
or work profile data
- Add getTargetFragment in Utils to handle fragment selection
Bug: 141601408
Test: manual
Change-Id: Ie4db1ce2e77f60a82018e5a3e1f2fccb812502dc
- Summary Loader only works in injected items, but those fragments
are not injected to Settings UI. The SummaryLoader class them are
useless.
Bug: 141653158
Test: robolectric
Change-Id: I1ca0bf5a1f417b7fe86b28e96aff7d4aee2cf2d3
Test: This crash pattern was observed from monkey test, I can't reproduce it.
So, just rebuild rom.
Fixes: 132819226
Change-Id: I0726524dcf8e1622d64f75c17b3600a7440b58c2
If Settings app hasn't loaded apps list completely yet,
we can't filter result from list. Since there is nothing
can be filtered, we just need to show all apps.
Test: visual
Fixes: 131697606
Change-Id: I971c942b0fe5889206c40d855f8508acd42461a7
Converting to Soong will move some code from directly compiled
into the app to compiled into an Android library and then
shared between the app and the tests. This will cause resource
IDs in the library to become non-final, which means they can
no longer be used in case statements. Convert affect case
statements to if blocks.
Test: m RunSettingsRoboTests
Change-Id: I25742a374f06d3fa4decbfc0d223a350acc50881
The animator causes a lot of jank. Removing it makes the UI feel faster
in general.
Fixes: 74127318
Test: visual
Change-Id: I79cbe8220fb05af84a394207dac2c8c9a93288be
- Turn off DEBUG log flag, it's spammy and is a potential PII risk.
- Save search bar expand state so it stays open during screen rotation.
- Introduce a intent extra so callers can deep link into this UI with
search bar pre-expanded.
Fixes: 130422388
Test: robotest
Change-Id: Ib81080733707306de516c49340571c543e70874e
If it is default active app(i.e. Phone, SMS), disable battery
optimzation dialog so user can't optimize it.
Fixes: 118910079
Test: RunSettingsLibRoboTests
Change-Id: I7223913c1e6ef68d84adfc2c54d133661a529202
This just adds the ability to add help pages to each ManageApplications
subclass. We can remove any we don't end up needing later.
Test: robotests pass
Bug: 121442558
Change-Id: I7aac30aa081d93efaa473248cf259e45ae63870c
If a Recycle view inside in a NestedScrollView,
The times of calling recyclerView#onCreateViewHolder()
is requal to its data set.
When there are large set of apps need to be shown,
RecyclerView will need to take many time to call
onCreateViewHolder for each item.
So, it causes the screen is janky or freeze UI when page
is loading large data set.
For now, we get rid of NestedScrollView, just use RecycleView
and AppBarLayout to have same bahavior for spinner.
Fixes: 124384314
Fixes: 123036231
Fixes: 122964660
Fixes: 123088178
Test: 1. Select show system in App info screen. Observe whether there
is any janky.
2. Select show system in App info screen, and then change device
orientation. Observer whether there is any janky.
3. Go to Settings > Apps & notifications> Advanced > Special app access >
Select "battery optimization", and then Tap drop down and select "all
apps". Observe whether ther is any janky.
Change-Id: Icd65e91eec3b32476d80cc12e9c4baa71151306a
When there is no need to show filter component,
we don't need to set an extra padding top.
Test: robotest, visual
Change-Id: Ieaa65ed9785a06f0737aefaf102d0c857002bbdd
Fixes: 123037802
Selected filter is not retained after device orientation changed.
In old design, we only update selected index one time when the
enabled filter(filterType) equals the previous selected filter.
After that, the selected index won't be changed again.
But we sort the filter options every time(Collections.sort) when
we add a new filter. Therefore, it makes all indexes of filters
option could be changed.
For example,
Old filter options => All apps, Personal, Work
Selected index = 1
Add "Intsalled app" option => All apps, Installed app, Personal, Work
Selected filter option becomes "Installed app" but not Personal.
Since we saved previous selected filter option before device
orientation changes, we can check again whether or not the selected
index is previous filter type when we enable any new filter.
Test: manual test, robotest
Fixes: 120798975
Change-Id: I35de186a6a1fae3bd863bd31a6ce3f76861dc896
- add a search option menu to the manage applications page.
- add a search filter to the app list adapter to remove any app whose
app name does not contain the search query.
Change-Id: Ie749daeef2cdc4a22fade45422ae90f44d00ceb2
Fixes: 119598311
Test: make RunSettingsRoboTests