Fix 2 problems of always-on vpn after always-on package is removed
1. Prevent network being locked down (blocking all network traffic)
Otherwise, user has no way to download the vpn app from Play Store,
and never be able to gain control of the network again.
2. Allow user to connect other vpn app.
Implementation
1. Switch off always-on mode if the package gets removed.
2. Restart always-on mode if the package gets replaced/upgraded.
Bug: 29050764
Change-Id: Id3e389ae0b11c6002a5167919292d9634c2014cb
The runner replaces deprecated InstrumentationTestRunner, provides
equivalent functionality, and in addition support JUnit4, sharding
and per test method timeout.
Change-Id: I1c76996d347d3f0f378997f5e7b871279c2b032f
The foreign use markers contain the codePath for a given executable
dex file, so we'll need to rename them when the codePath changes
during an application update. If we don't do this, we might compile
that are used widely across processes (such as GMS core) with
suboptimal filters.
This seems like a messy and brittle design in general, and will be
rewritten post N so that we don't rely on file system topology.
bug: 28998083
Change-Id: Ie4f3995ba52f098edb911b5a388c63696bbd77ac
Code from these apps can be loaded by the system_server and so
we need to make sure they're compiled before their package contexts
are requested. Leaving them interpreted will cause performance issues.
On a Nexus 6P with WITH_DEXPREOPT=false, this adds an additional
26 seconds to every upgrade / first-boot and ends up optimizing a total
of 20 apps.
bug: 28639246
Change-Id: Ief3c0048fda4f1b1742fbf3e2476e65fa607a18a
We now have stats on broadcasts. We collect them over a day and
then reset, retaining the last days stats. When a checkin happens,
we return either the last day or the current stats and then clear
them. Not bothing to persist anything to storage, this data is
not that critical.
Change-Id: I1c3b331bcd03f79fa5e10575d9bc2ad7d9104f6f
During the offset calculation for selection, SpannableStringBuilder
had an overflow while multiplying two int values. This CL uses long to
calculate the multiplication, and also checks for overflow after
casting the final result into int again.
Bug: 29108549
Change-Id: I11eff4677916701074b38bc5214730fe704707c4
This fixes a bug where an app running as a secondary unlocked
user could overwrite the current keyguard disabled state.
Fixes bug 28817843
Change-Id: I2cd88c41906a082c3a58ed06d74f901e304af500
To decide if home stack should be brought foreward. If the app is
finishing, it's no longer considered "running" and cleanUpActivityLocked
could move focus to the activity below. Then removeActivityFromHistoryLocked
would fail to bring front home stack as the removed task is no longer top.
bug: 29030518
Change-Id: I887e7c226258651d887cb0a4a6c6caab0a04e6e6
New privileged permission READ_OEM_UNLOCK_STATE added
for system privileged apps.
Changing the unlock state still requires the old
permission OEM_UNLOCK_STATE, which is signature protected.
Bug: 28953956
Change-Id: Iedd2ad1d2d1dc3ae91122d7c406e3ee623a47d61
For the pinned stack animation, we have the special mode
where setSurfaceBoundaries computes additional scaling
factors to force the window to occupy the stack size
(which we animate). We need to make sure prepareSurfaceLocked
also respects these scaling factors or we have issues when
switching in and out of the fullscreen stack.
Bug: 28899837
Change-Id: I72ccba54b38993693ff6771882fb99ef82af5827
When authenticator no longer exists and the user is unlocked, we should
remove accounts from both tables in a single transaction.
Bug: 28910995
Change-Id: Ibabf5d3e5ba561ffb3dda03aef99e358e2f71c58
Previously this was included in the log messages from NetworkMonitor
but that has been removed (ag/944107), making it frequently impossible
to know what network the logs apply to as there may be no way to
correlate NetIDs to WiFi SSIDs or Cellular networks if the log has wrapped.
Bug: 26075613
Change-Id: I2e3cd41fffb616ab9f855cb16790360bd3414793
Cause: It revoked the user consent of the vpn app without reseting always-on vpn.
In addition, prepareVpn sets legacy vpn as the current package, the state in
Vpn.class is broken, as it thought the current always-on package is legacy vpn,
(mAlwaysOn is only for app vpn, not for legacy vpn). As a result, prepareVpn rejects
all VpnService.prepare.
Bug: 29031820
Change-Id: Id6bf1d6f38cf134a872811806301b8a602fb5725
- Cache media_standard_iso
- Cache labels between configuration changes (localization might
change labels)
- Use ints instead of String's for standards
- Use HashMap instead of Array map as the lookup is faster for
larger arrays
Fixes: 29068056
Change-Id: I027c80fac4d7e8ea6c2cac0f1a2d52b54807f5be