PackageInstaller has protected the intent action by setting
"android:priority=1".
Test: manual
Fix: 332228634
Change-Id: If0794e5957366d8b26acd0362b59c6c9076a0c4f
Change the behavior to allow uninstallation of the current home app
if it is a non-system app and/or there are other candidate apps
available.
Bug: 131721576
Test: atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Test: atest com.android.settings.spa.app.appinfo.AppButtonRepositoryTest
Change-Id: I556966894240aaf91c0e6424dce514b6a35d1001
ApplicationFeatureProvider is created by using application context,
no need pass context in when get.
Bug: 286764889
Test: m Settings
Change-Id: I7f8dfe5716b7b55e0ff984f7603875d7896e2313
Revert submission 20385585-isSystemPackage
Reason for revert: DroidMonitor: Potential culprit for Bug 259576639 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted Changes:
Id80c40a30:Update for Utils.isSystemPackage()
I8af59268c:Use ApplicationInfo.isSignedWithPlatformKey()
Change-Id: If161c0e418fe623ac0bf8c0b164c1ba16a876a6a
And we also no longer need to load the PackageInfos with the deprecated
flag PackageManager.GET_SIGNATURES.
Bug: 235727273
Test: Manually with Settings App
Change-Id: Id80c40a309e91d4766582375d2c1e25a6f8cf441
mDisableAfterUninstall and mUpdatedSysApp is always false.
And appChanged is always true.
Bug: 236346018
Test: Manual with Settings App
Change-Id: Icfb9fbea92d5c728cbef9d76569d59d5085a51e6
add package name into the metric per @wangkelly request to analyze users behavior in the battery setting relative CUJ:
go/battery-setting-enums
Bug: 199807285
Test: make SettingsRoboTests
Change-Id: Ica6da59b933b0dcff940215d4e537a670bac52cb
Remove legacy code belonged to Andrometa project. Split system user
feature is always turned off now.
Bug: 137101239
Test: build, sync and reboot
Change-Id: Ieb84a6e131383dcd263a5d9b29a49dc64d905fe0
As requested by framework team, the mainline module should be considered
as system apps and not stoppable and disable-able. Since many of these
modules provide critical functionality, disabling them can result in a
very unstable device.
According to the request, Settings will apply below changes to App info
page for protecting mainline modules:
- Hide "Force stop" and "Disable" in App info.
- Disable "Clear storage" and "Clear cache" in "Storage & cache".
Since the mainline module checking API interface changed, also change
the dependent files and test cases.
Fixes: 156955322
Test: robotest and verify "Cell Broadcast Service" in App info
Change-Id: Ibc239bdaf3364eda541a33add382364cfdc6fc9b
It occurs NPE in invoking refreshUi() of AppButtonsPreferenceController
when user fully install the instant app from google play and then
directly open app info from the shortcut suggestion in launcher.
Root cause:
AppButtonsPreferenceController.refreshUi() will be invoked when user
directly open app info from the shortcut suggestion in launcher. In
refreshUi(), we will update the information of button preference, but
the preferences will not be initialized if device existed an instant
version for the app.
Solution:
Check button preference and initial them if need in refreshUi().
Fixes: 137854835
Test: visual, robotests
Change-Id: Id5c3e53b9db2683cab970c10eace7925d889eea3
* isSystem was not being mocked.
* The tests where isSystem should return true
were not being tested properly.
Bug: 151569506
Test: atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Change-Id: Ib4249bca8f3c0321d0b64b4dbd4c4e5fc29586e1
* For an organization-owned device, the DPC should be able to
be uninstalled in the personal profile. Previously, the
observed behaviour was that the uninstall button in the App
Info Screen was being greyed out.
* This was because the previous logic did not allow for
uninstalling any app which has a profile owner or device
owner on *any* user.
* This CL updates this logic, such that, for non-system apps
uninstalling is blocked only if the app has a profile owner
or device owner for the current calling user.
Bug: 149381804
Test: Manual testing
atest com.android.settings.applications.appinfo.AppButtonsPreferenceControllerTest
Change-Id: Ifaf03daa41724dbbd869c7e1371a77cc39d15ac7
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
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
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
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
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
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
Since new UI design only exist two button in layout,
we don't need these methods anymore.
Test: robotest
Bug: 116346008
Change-Id: If2e8f7dddb9c13e480438f36fe3c5d6affa4e9ff
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.
This causes a lot of trivial code changes.
I also updated the ordering of the imports in all affected files.
Bug: 110953302
Test: Built
make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
- move the fuelgauge app button controller and the button dialog
fragment into app info package and change app detail fragment to use
that controller instead.
- remove the original appinfo/AppActionButtonPreferenceController
Change-Id: I94ca072a8dfe6051853eb23efa1f96ac3e13d79d
Fixes: 80312809
Test: make RunSettingsRoboTests