Commit Graph

546 Commits

Author SHA1 Message Date
Mill Chen
5606a8c7f5 Enabling sharding RunSettingsRoboTests
Also fixed failed test cases caused by running
RunSettingsRoboTests with the sharding mechanism.

Bug: 130895860
Test: make RunSettingsRoboTests -j40
Change-Id: I0e5e0764d4ea910b9c0acc693d63a4b793e23d3a
2019-09-19 21:31:56 +08:00
TreeHugger Robot
cea963b4ab Merge "Add RoleControllerManager.isApplicationVisibleForRole()." 2019-08-28 11:19:51 +00:00
Sunny Shao
b47cccf6a0 Use FooterPreference in xml explicitly
Removed the FooterPreferenceMixin from the DeviceAdminSettings page.

Fixes: 140015273
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.applications
Change-Id: I91c10946ae35f9a5cde30399e231dbc8a1481b23
2019-08-27 10:41:13 +08:00
Hai Zhang
51b76855f9 Add RoleControllerManager.isApplicationVisibleForRole().
Settings doesn't actually need to know whether an application
qualifies for a role, but only whether the default app setting should
be visible for an application. Qualification and visibility differs in
cases such as FallbackHome inside Settings which is a qualifying home
activity but should never be shown in default apps UI.

Fixes: 138636320
Test: manual
Change-Id: I2995b6fa5c7920d14fa644748db9c41b442ce53b
2019-08-26 14:23:44 -07:00
TreeHugger Robot
e69ef50ba2 Merge "Make EuiccService un-disable-able." 2019-08-06 14:56:22 +00:00
Yi-Ling Chuang
7e2978ab58 Make EuiccService un-disable-able.
Disabling the eSIM Manager could leave the device in a bad state, unable
to address the eSIM, and possibly crash due to EuiccConnector failing to
find an LPA to implement EuiccService. So here we do not allow users to
disable this component.

Fixes: 135644632
Test: robotest
Change-Id: Ia4ea48b449f121edaff10531b7c975b09432a8f8
2019-08-06 17:58:08 +08:00
Stanley Wang
2862e79478 Merge "Revert "Fix app uninstalling/stopping possible in screen pinning mode"" 2019-08-06 06:17:11 +00:00
Stanley Wang
064b21e0b6 Revert "Fix app uninstalling/stopping possible in screen pinning mode"
This reverts commit 161c359508.

Reason for revert: This solution has a bug.

Change-Id: I925dab9b1a8d50de538a4fc652f722744fe3fadf
2019-08-06 03:44:02 +00:00
Raff Tsai
71a37d138b Import RadioButtonPreference from SettingsLib
Bug: 138620011
Test: manual, robolectric
Change-Id: I3b8a2be021a1b4a07aae61483f2329b7a5bd4655
2019-08-01 07:16:55 +00:00
Raff Tsai
88228c3399 Fix Settings crash when click uninstall button
When mPackageName is null, mFinish is true. OnResume() doesn't
invoke refreshUI(). It causes uninstall button is still enabled.
The solution is hiding AppButtonsPreference when mFinish is true.

Fixes: 138524326
Test: make RunSettingsRoboTests ROBOTEST_FILTER
Change-Id: I9759e53f002afbd4c88d8d536df3bf01c343135e
2019-07-30 11:18:09 +08:00
Stanley Wang
d2b2d9898e Merge "Fix app uninstalling/stopping possible in screen pinning mode" 2019-07-17 10:17:32 +00:00
Stanley Wang
161c359508 Fix app uninstalling/stopping possible in screen pinning mode
Bug: 135604684
Test: maunal & robotest
Change-Id: I96eddb11ff32c6c46915682eb58857be7d24ed99
2019-07-17 10:58:52 +08:00
Vinit Nayak
f7d423d106 Remove Settings from recents after app uninstall
SettingsActivity now calls finishAndRemoveTask
instead of only finish() to prevent blank
recent task from showing in overview.

Test: Visually inspected bug doesn't exist. Wrote
Roboelectric tests

Fixes: 129733119

Change-Id: I5b73c1b611e6eb52bb6665c215276efdc85c19b2
2019-07-11 16:09:49 -07:00
Raff Tsai
790a822526 Fix crash after uninstalling app
updateState was invoked in loader callback. But the
package was uninstalled at the callback time caused
null pointer exception. Add null check to prevent
null pointer access.

Fixes: 136170218
Fixes: 133771724
Test: make RunSettingsRoboTests, manual
Change-Id: I2715e77f6e32af42a4bce70c9f409b0311eb36c4
2019-06-28 12:01:40 +00:00
Hai Zhang
089d734f35 Merge "Revert "Add special apps access settings page for financial app."" into qt-dev am: b39810f5ab am: 5f8c446f47
am: 3603e24840

Change-Id: I60a1cfb995b5511a9aeea19c851beec778472702
2019-06-24 14:37:31 -07:00
Hai Zhang
71f2614736 Revert "Add special apps access settings page for financial app."
This reverts commit 43374eabb8.

Reason for revert: No longer needed because we are using whitelist for
SMS permission

Fixes: 135213238
Test: presubmit
Change-Id: I182be4a1136521f325866e70e875439c17816ef2
2019-06-24 21:11:36 +00:00
Sunny Shao
5da24591ea Update testcases which failed due to the SupportLibrary changed
Fragment.oncreate() causes an IllegalStateException. We use a
ShadowFragment to stop the calling sequence.

Fixes: 135086559
Test: robotest
Change-Id: I601e0f2513f826b0b7749cb2c013b7e4c0a94a33
2019-06-13 10:02:50 +00:00
Suprabh Shukla
f8cbeef9a9 Kill uid when REQUEST_INSTALL_PACKAGES is denied am: 732edc3e39 am: 4929001e70
am: e5d958cb0a

Change-Id: I8260ef8790cc455a1025b35a07681cfb80b96ba9
2019-06-05 14:47:47 -07:00
Suprabh Shukla
732edc3e39 Kill uid when REQUEST_INSTALL_PACKAGES is denied
Process privileges like open fds need to be revoked, when this
permission is denied by the user.

Test: Manually verified by checking logs.
Robotest:
atest SettingsRoboTests:ExternalSourcesDetailsTest

Bug: 133504844
Change-Id: I81da0b3a5d6c54e392828829d1a2c43488439504
2019-06-05 21:15:17 +00:00
tmfang
f841748be3 Guard NPE when using search view
Test: This crash pattern was observed from monkey test, I can't reproduce it.
So, just rebuild rom.
Fixes: 132819226

Change-Id: I0726524dcf8e1622d64f75c17b3600a7440b58c2
2019-05-31 10:47:30 +08:00
Narayan Kamath
67d149ae37 Hide AppButtonsPreferenceController for system modules.
Bug: 131927465
Test: atest AppButtonsPreferenceControllerTest
Change-Id: I2d3aa3429f61325afe49bfe322522fe9ccd03b2c
2019-05-17 18:54:39 +01:00
TreeHugger Robot
6e8c403360 Merge "Add an interface that returns time spent text for app." into qt-dev 2019-05-08 00:11:32 +00:00
Yi-Ling Chuang
922064ed69 Limit the number of permissions being displayed.
To avoid a long permission summary, let's limit the number to three.

Fixes: 117978938
Test: robotests
Change-Id: Id83fac7ad91140b22757d3e6e8eb72d86ad6ad42
2019-05-06 14:12:00 +08:00
Yi-Ling Chuang
0789b5d226 Use PermissionControllerManager to get permission groups
The mapping of permissions and permission groups may be changed upon
mainline module update, so we cannot reliably read from the platform.
PermissionControllerManager is created for this purpose, so we use it
to prevent from the outdated mapping instead of mapping them manually.

Bug: 117978938
Test: robotests

Change-Id: If8682796b8a30dee3b73572e977fade48d07eb2b
2019-05-02 10:04:53 +08:00
Fan Zhang
eb2e8dd22c Add an interface that returns time spent text for app.
Bug: 129266977
Test: robotest
Change-Id: Iaa5b4c5504eccbe0290b1014bd8e25aa3d4c3dd8
2019-04-29 11:09:58 -07:00
Julia Reynolds
e103aa8fd2 Fix notification preferences
- ImportancePreference should not be separately clickable
- new strings

Bug: 127796543
Fixes: 131060409
Test: make sure talkback doesn't read 'double tap to activate' when
the preference is focused

Change-Id: I6b6eef0915873b4e0b44c59758e5f4b5a265364b
2019-04-24 09:59:20 -04:00
Fan Zhang
270fd6c872 Misc bug fixes around search bar in app list UI.
- 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
2019-04-12 13:50:54 -07:00
TreeHugger Robot
f078971771 Merge "Treat mode_default as denied for install_unknown_apps" into qt-dev 2019-04-09 22:02:30 +00:00
TreeHugger Robot
dda677cf77 Merge "Do not retrive app detail if the fragment is exiting." into qt-dev 2019-04-09 21:19:24 +00:00
TreeHugger Robot
0aa0d665c0 Merge changes from topic "role-replace" into qt-dev
* changes:
  Remove old default apps code and use roles instead.
  Move default payment app to special app access.
2019-04-09 05:33:21 +00:00
Hai Zhang
22f8d48df0 Remove old default apps code and use roles instead.
Default apps are moved into PermissionController.

Bug: 124452117
Bug: 124457823
Test: presubmit & manual
Change-Id: I5f68e5b77cd6163d093590185314270706d75391
2019-04-09 13:30:31 +08:00
Hai Zhang
470ec69461 Move default payment app to special app access.
Bug: 124452117
Bug: 124522992
Test: build
Change-Id: I58e7127920d939dc3635bcc2e608cee6baa21998
2019-04-09 13:30:14 +08:00
Suprabh Shukla
d3864daebd Treat mode_default as denied for install_unknown_apps
Test: atest SettingsRoboTests
Bug: 123700348
Change-Id: Ieeb6456854cc3d0faa0e9c407accd94f56a25813
2019-04-08 15:23:03 -07:00
Fan Zhang
276edc8d86 Do not retrive app detail if the fragment is exiting.
The exit flag can be set by a variety of things, such as when package is
removed, or package is invalid (hidden mainline module). Loading such
packages changes the internal state of ApplicationsState class (an app
singleton), which leads to inconsistencies later.

Fixes: 130166465
Test: robotest
Change-Id: Ib09240cb694fa16692914a7aa9ce354869615c2d
2019-04-08 13:56:59 -07:00
tmfang
e9f11d6efc Improve launch time for app & notification screen
- We won't query recent apps in getAvailabilityStatus().
And then we do that in background thread.
So, we can launch app & notificatins screen as soon as possible.

- Create a RecentAppStatsMixin class which is responsible
for maintaining the recent apps data.

- Controllers and fragment update their UI after they got
onReloadDataCompleted callback from RecentAppStatsMixin.

Test: manual, robotest
Fixes: 128849426
Fixes: 126453868
Change-Id: I636d5878cb5d53496978fe613c625382d8d382bc
2019-04-08 16:40:33 +08:00
TreeHugger Robot
b2852a41cb Merge "Disallow Package Installer to be disabled" 2019-04-02 05:12:32 +00:00
Zoran Jovanovic
c6d79cd0da Don't allow RRO uninstall if overlay is enabled
System RROs can never be uninstalled. Also, enabled RRO, i.e.
RRO applied to their target packages, must not be uninstalled by
end-user because that may be dangerous to the configuration of
its target package. Disabled RROs, i.e. RRO not applied to their
target packages, are free to be uninstalled to reclaim space.

Bug: 124556507
Test: manual + `make RunSettingsRoboTests ROBOTEST_FILTER=AppButtonsPreferenceControllerTest`
Change-Id: Ib6bd2765c8cb88a5887de817a08a1541eaee0cab
2019-04-01 20:32:51 +00:00
Torne (Richard Coles)
185acfc5ae Remove WebView fallback package handling.
There is no longer a special "fallback package" state for WebView that
means it should not be able to have its enabled/disabled state
controlled by the user. Remove the code used to implement this in
Settings.

Bug: 129470358
Test: verify that WebView's enable/disable button is not greyed out
Change-Id: Ifc0921511a71282a77f239e5ff5955e60fab6e2c
2019-03-28 14:11:50 -04:00
tmfang
e668924149 Disallow Package Installer to be disabled
Test: visual, robotest
Fixes: 128950485
Change-Id: Id50a62fe3288761f68a3588b154db24573418068
2019-03-28 13:29:03 +08:00
Fan Zhang
0a83cd82a1 Merge "exit app info page if app is a hidden system module." 2019-03-27 19:50:41 +00:00
Fan Zhang
d646ad7778 exit app info page if app is a hidden system module.
Fixes: 120546598
Test: robotest
Change-Id: I763ce9d65904e2b0c2a6144776c42881a1269c52
2019-03-27 12:39:10 -07:00
Wei Wang
1a90162afd Address API council comments.
Bug: 123587501
Test: Manual
Change-Id: I72582ca6d8da8b1fe7bc4fc1b4b4db1fad6ca7a7
2019-03-26 14:06:16 -07:00
jackqdyulei
6aeed0eaa1 Fix broken settings tests(Round 2)
1. Mark a few as Ignore with bug number
2. Remove some tests since they are obsolete.

Bug: 129159331
Test: RunSettingsRoboTests
Change-Id: I801681609c31c1f824c44b49ec89d9d28c716539
2019-03-26 12:46:01 -07:00
Raff Tsai
b0bb2f36a1 Merge "Fix broken settings tests" 2019-03-26 05:16:21 +00:00
jackqdyulei
4dbcdd632f Fix broken settings tests
1. Mark a few as Ignore with bug number
2. Remove some tests since it is covered in other places
3. Fix some tests

I think we should make tests at least green asap.

Bug: 129159331
Test: RunSettingsRoboTests
Change-Id: I90971b416806e4e9be249b06ad5abfb73d9d7c23
2019-03-25 15:54:47 -07:00
Fan Zhang
e3cee29472 Merge "Remove reference to R.id.summary_container." 2019-03-21 23:41:58 +00:00
Fan Zhang
5bb2a87b7f Create a page to manage dnd permission for individual app
- Change the original ZenAccessPage to
  - Remove the inline switch
  - Make the preference click target go into the new detail page
  - Some formatting/style change.

- Create a new detail page for zen access.
  - Exit if app didn't declare this permission
  - Preset the switch toggle to their current permission grant state
  - Move the warning dialog logic from ZenAccessSettings to here.

- Move some common functionality into ZenAccessController, a static
  helper class

Bug: 128547723
Test: robotest
Change-Id: I1ebb32396869d07ff4283b300bd716506298c9b5
2019-03-18 14:42:31 -07:00
Fan Zhang
d3b848713d Remove reference to R.id.summary_container.
It's deleted in another CL.

Fixes: 123317946
Test: visual/robo
Change-Id: I7b461ba68e8b56946e4effc26850776881236ec7
2019-03-15 15:41:47 -07:00
Fan Zhang
5db43105e8 Move a few classes around for easier ownership control
Bug: 128547723
Test: rebuild
Change-Id: I8f0dcf30fee44eaae60e10510620fb518cded68f
2019-03-15 15:32:33 -07:00
Hai Zhang
93cfd2e28e Use a boolean Consumer instead of RoleManagerCallback.
And use RemoteCallback for it under the hood. This removes one AIDL
interface and allows using lambda, while aligning with what
PermissionControllerService does.

Bug: 127691087
Test: manual
Change-Id: I7af28be2df5f84ffcd040a80884efe7c08e2d067
2019-03-08 14:33:30 -08:00