Commit Graph

2225 Commits

Author SHA1 Message Date
Hai Zhang
617e745c4d Use PermissionControllerService.isRoleVisible() in app info shortcut.
Use the new PermissionControllerService.isRoleVisible() to hide roles
that are not visible.

Bug: 124452117
Bug: 124457823
Test: manual
Change-Id: I4c61a2760dc62ecd8a52fba9e133e96a447c4a29
2019-02-28 17:02:43 -08:00
Hai Zhang
3064ca585e Migrate all default app shortcut preference to use roles.
Bug: 124452117
Test: build
Change-Id: I19375dc21bfcd932a263c49330dc9a040a446beb
2019-02-28 13:51:21 -08:00
Zhi An Ng
c6b4170460 Merge "Disable system alert window permissions on low ram devices" 2019-02-27 17:06:50 +00:00
TreeHugger Robot
b80a409a21 Merge "Create a preference controller for "App info"" 2019-02-27 03:02:46 +00:00
Ng Zhi An
b97bdc38da Disable system alert window permissions on low ram devices
Bug: 63697002
Bug: 117832554
Test: adb am start-activity -a
android.settings.action.MANAGE_OVERLAY_PERMISSION
Change-Id: I44c64001cd07fd4934cdc55f455384cebd5c9cfb
2019-02-26 17:58:43 -08:00
Fan Zhang
71d5e90a6e Include uid in device admin pref id.
Fixes: 124979213
Test: robotests
Change-Id: I50114db79e9b5278bc916fbbba6353c5f19df24f
2019-02-26 10:49:53 -08:00
tmfang
826879ed63 Create a preference controller for "App info"
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
2019-02-26 19:34:46 +08:00
tmfang
ac74050a7c Improve launch time for Apps & notifications page
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
2019-02-26 15:08:22 +08:00
TreeHugger Robot
343b0211fe Merge "Add app entities widget for recently opened apps" 2019-02-23 02:15:26 +00:00
Hongming Jin
41fb813614 Merge "Migrate emegency default app to role manager." 2019-02-21 20:37:53 +00:00
tmfang
7de5314676 Add app entities widget for recently opened apps
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
2019-02-21 16:23:18 +08:00
Hongming Jin
6c728dc924 Migrate emegency default app to role manager.
Bug: 123293861
Test: atest DefaultEmergencyPickerTest
Change-Id: I7bd9e2655b22a35fc3268091d38c6770911d4046
2019-02-20 11:46:02 -08:00
Hai Zhang
7bd98d2519 Use MATCH_ALL to query available browsers.
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
2019-02-20 11:28:01 -08:00
tmfang
7fb266f30b Fix janky in App info screen
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
2019-02-18 17:52:03 +08:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08:00
TreeHugger Robot
9ffe6f2d7e Merge "Use correct uid when querying usage data for specific user." 2019-02-05 22:11:04 +00:00
TreeHugger Robot
6b3db61e53 Merge "Use role for App info default phone shortcut." 2019-01-30 22:23:40 +00:00
Doris Ling
97866f0b50 Use correct uid when querying usage data for specific user.
- 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
2019-01-30 13:51:28 -08:00
TreeHugger Robot
f660e72009 Merge "Remove empty space in Usage access" 2019-01-30 07:04:25 +00:00
TreeHugger Robot
c5a42cc528 Merge "Remove dead code." 2019-01-30 03:22:09 +00:00
Fan Zhang
c3fd289969 Remove dead code.
Bug: n/a
Test: rebuild
Change-Id: I71f8d9d99bbff1186e8df518ec8d27db3447ffbe
2019-01-29 16:27:31 -08:00
tmfang
465ffcd48d Remove empty space in Usage access
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
2019-01-29 20:02:49 +08:00
TreeHugger Robot
4c6da2929f Merge "Add a More item for Special app access page." 2019-01-28 23:53:11 +00:00
Hai Zhang
912c07cf58 Add a More item for Special app access page.
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
2019-01-28 11:55:19 -08:00
Hai Zhang
bcea263865 Use role for App info default phone shortcut.
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
2019-01-25 12:14:34 -08:00
TreeHugger Robot
a2a1bb0e51 Merge "Show Default app shortcut preference only when app is qualified." 2019-01-25 05:55:41 +00:00
Hai Zhang
3850908671 Show Default app shortcut preference only when app is qualified.
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
2019-01-24 17:38:47 -08:00
Philip P. Moltmann
2cf07aa270 Merge "Assistant is now set as role." 2019-01-24 20:51:41 +00:00
Doris Ling
c79e4a5903 Merge "Hide mainline module apps in settings." 2019-01-24 20:50:03 +00:00
Philip P. Moltmann
efae104f4d Assistant is now set as role.
Hence remove old assitant picker

Bug: 110557011
Test: - Set assitant via Default app settings and via roles UI
      - m -j RunSettingsRoboTests
Change-Id: Id41c5087506ece392ee644a33d1a79b7f9b17ee8
2019-01-20 15:54:09 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Doris Ling
538accf058 Hide mainline module apps in settings.
- 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
2019-01-14 17:53:32 -08:00
Hai Zhang
ac5a639aeb Use role for App info default SMS shortcut.
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
2019-01-14 14:10:34 -08:00
Hai Zhang
d07b049de1 Add summary for role-based default apps preference.
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
2019-01-09 14:56:03 -08:00
Hongming Jin
f969bb48e7 Merge "Add special apps access settings page for financial app." 2018-12-18 22:20:40 +00:00
Hongming Jin
43374eabb8 Add special apps access settings page for financial app.
Test: manual test in settings app
Bug:111207447
Change-Id: Ifa3afba2fbfd2f874deeea35f5735ac3459eed17
2018-12-18 12:38:52 -08:00
TreeHugger Robot
c748b6eeef Merge "Make location history package not disableable." 2018-12-15 05:10:30 +00:00
TreeHugger Robot
5fce5f498a Merge "Fix app link open mode UI" 2018-12-14 22:42:27 +00:00
TreeHugger Robot
6890553acb Merge "Filter status is not retained in App info" 2018-12-14 02:10:56 +00:00
tmfang
046c10ac30 Filter status is not retained in App info
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
2018-12-14 02:09:12 +00:00
Wei Wang
4c3a0d7c2a Make location history package not disableable.
Bug:119226131

Test: Unit test, also tested manually on device

Change-Id: Ib72fdd8b5195b67ef9d79a8a6dbb91acc54dbbbf
2018-12-12 16:21:39 -08:00
Hai Zhang
2101151180 Add temporary link to PermissionController for new default apps UI.
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
2018-12-12 10:47:17 -08:00
Christopher Tate
e30a1833f7 Fix app link open mode UI
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
2018-12-06 23:48:49 +00:00
Doris Ling
35c066c997 Add search to app info list.
- 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
2018-12-05 15:31:51 -08:00
Doris Ling
282a0d9222 Remove "v2" from the data usage version 2 code.
Change-Id: I8ede82029194d1a9a43d00a3de7ec1a8dd77d978
Fixes: 117420679
Test: make RunSettingsRoboTests
2018-12-04 18:24:37 +00:00
TreeHugger Robot
1470ee6262 Merge "Remove data usage v1 code." 2018-12-04 17:53:30 +00:00
tmfang
72b25d65d3 Add an open button in App info page.
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
2018-12-04 10:44:13 +08:00
Doris Ling
c11666cc00 Remove data usage v1 code.
- remove all v1 code and the corresponding feature flag switch.

Bug: 117420679
Test: make RunSettingsRoboTests
Change-Id: Ib062c03c671b0f860698f5e5e153ab46d963175a
2018-12-03 11:12:50 -08:00
tmfang
8ad18fb3eb Use SettingsLib's ActionButtonsPreference
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
2018-12-03 15:12:41 +00:00
tmfang
dce94bb237 Use SettingsLib's LayoutPreference
- 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
2018-11-27 13:12:53 +08:00