Use the new PermissionControllerService.isRoleVisible() to hide roles
that are not visible.
Bug: 124452117
Bug: 124457823
Test: manual
Change-Id: I4c61a2760dc62ecd8a52fba9e133e96a447c4a29
We try to avoid managing too many preferences in a controller.
So, we create another controller to manage all apps info preference.
RecentAppsPreferenceController and AllAppsInfoPreferenceController
share same state of recent apps in order to improve the performance.
Test: visual, robo test
Fixes: 126134996
Change-Id: I1d8a175b213831415797437c64fd9d432864f9d3
In original design, we reload usage data at least thrice
for showing recent apps.
For now, we only reload usage data once in constuctor.
And we reload data again when we are calling updateState.
Test: Open App & notifications page, and then I compare the lauch time
with P platform device.
Fixes: 126013076
Change-Id: Ida769f28a4419125e1948e36658686ee55bf51a5
If there is no recently opened app should be shown,
just show up an "All apps" preference.
If there are some recently opened apps, we show up
result with app entites controller.
- Clean up some useless ui. (category)
- User BasePreferenceController
- Modify test cases.
Test: robotest, visual
Change-Id: I411f61ed32eaaed97921941fd5026f1d65308d00
Fixes: 123538183
Browser intent resolution has been special for a long time, and we
need to pass MATCH_ALL to get all the candidates, then do manual
filtering later.
Bug: 116216651
Test: manual
Change-Id: I5e9b7b907005f73b7c54c3253c872d85ef7c4863
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
- the data usage list shows usage data for each app, and also the
aggregated data for work apps and other user. When user clicks on the
app item, we will shows the detail usage data for that item using the
app item key. However, if the app item is not for app but for user, the
key will not be the app uid, but a key built from the user id. So,
querying using the key will not get any data.
- for app item corresponding for user, need to sum up all usage data
for the uids associated with the user.
Change-Id: I1a185ee6b4d59e477f3a03cade97d85d6982e416
Fixes: 122200400
Test: make RunSettingsRoboTests
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
This allows users to toggle non-exclusive roles, such as the temporary
SMS access (non-exclusive) role.
Bug: 110557011
Test: atest MorePreferenceControllerTest
Change-Id: Id9c0338ef2996aaa741c3da8104e867f32050f3a
This change makes the default phone shortcut in App info launch the
new default app UI based on roles, since we've migrated default dialer
mechanism.
Bug: 110557011
Test: atest DefaultAppShortcutPreferenceControllerBaseTest
Change-Id: I3c2ac05386b46e574399f453c2869d1aca952332
This change uses the new isApplicationQualifiedForRole() API on
PermissionControllerManager to correctly report availability of
default app shortcut preference.
Bug: 110557011
Bug: 123238935
Test: atest DefaultAppShortcutPreferenceControllerBaseTest DefaultSmsShortcutPreferenceControllerTest
Change-Id: Ib86ab0fd84334a149f7c6c3556297745f2990f47
Hence remove old assitant picker
Bug: 110557011
Test: - Set assitant via Default app settings and via roles UI
- m -j RunSettingsRoboTests
Change-Id: Id41c5087506ece392ee644a33d1a79b7f9b17ee8
- check whether an app is system hidden module and do not show them in
recent apps list and battery usage list.
Bug: 120546598
Test: make RunSettingsRoboTests
Change-Id: I9080c9d39095890f3a3ebc7fce839dcf984a92d6
This change makes the default SMS shortcut in App info launch the new
default app UI based on roles, since we've migrated default SMS
mechanism.
Bug: 110557011
Test: atest DefaultAppShortcutPreferenceControllerBaseTest && atest DefaultSmsShortcutPreferenceControllerTest
Change-Id: I074e41433fe912309082f1e9c54bf74200297dd1
This change adds summary for role-based default apps preference, based
on what we have now for default apps.
Bug: 110557011
Test: atest RolesPreferenceControllerTest
Change-Id: Ic3dd84dc7ca687ea1de63a856ac3fcf679e1bda9
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
This change adds a temporary link in the default apps settings to
allow launching the new default apps UI in PermissionController during
the process we migrate default apps to use roles.
Bug: 110557011
Test: manually tested the UI
Change-Id: I0ac340acd5a077c74b48b28c97f517adb2084a36
The app link open mode UI misrepresented some states; notably, it
was representing the 'ask' state as the 'always use this app' state.
This had the effect of implicitly pushing the app into 'always'
accidentally, as a consequence of setting the UI to that initial
state, then re-evaluating on exit against the true state.
Bug: 32810168
Test: run cts -m CtsOsHostTestCases
Test: manual
Change-Id: Ifb9d7ad0140fae5fa75a4b78b01301b196a48d10
- 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
Per new UX, we need to add an "Open" button
in App info page. When user clicks this button,
it will launch application.
Test: visual, robotest
Bug: 116346008
Change-Id: Ic4a36979d08bf8d58f792474cd3c9b34a147fef8
- remove all v1 code and the corresponding feature flag switch.
Bug: 117420679
Test: make RunSettingsRoboTests
Change-Id: Ib062c03c671b0f860698f5e5e153ab46d963175a
Since we moved old ActionButtonPreference into
SettingsLib, we need to update new imports and
declaration in Settings source code.
Test: robotest, manual test
Bug: 120005054
Change-Id: I1e3514ba68a856071c81534d54c99c3d1a11a8ca
- Remove LayoutPreference in Settings source code.
- Remove unused style, layout
- Replace old imports to com.android.settingslib.widget.LayoutPreference
- Replace old XML tag to com.android.settingslib.widget.LayoutPreference
Test: robotest, manual test
Bug: 120005054
Change-Id: I9ae1ae14a16f443e11ac5d75b6038c7c5e253844