We added a couple of protection flags that also apply to
normal and dangerous permissions. These flags are folded
in the protection level breaking apps that directly and
compare against the protection constants. Apps that target
older than O SDK don't get protection flags folded into
the protection level.
Test: All permission tests pass
Added a new test to ensure no protection flags reported
for normal and dangerous permissions
Change-Id: I87b10a7695d8ecfa7156525d6f3d101fc0639513
bug:62755026
We added a couple of protection flags that also apply to
normal and dangerous permissions. These flags are folded
in the protection level breaking apps that directly and
compare against the protection constants. Apps that target
older than O SDK don't get protection flags folded into
the protection level.
Test: All permission tests pass
Added a new test to ensure no protection flags reproted
for normal and dangerous permissions
bug:62755026
Change-Id: I72547b0146e6b6919803e33ff64b7208c4a255ad
Record the class loader context for secondary dex loads and pass it to
dexopt during compilation.
The class loader context is passed from libcore every time a
BaseDexClassLoader is created and its recorded in the package dex usage
file.
Note that the context may be:
- unknown: if the dex file was not use after the the upgrade and its
context was not yet updated
- unsupported: if any of the class loaders from the loading context is
unsupported (only PathClassLoader and DelegateLastClassLoader are
supported).
- variable: if it changes over time, form one run to another.
In all the above cases the old compilation behavior is preserved for
now.(i.e. the dex file with be compiled with SKIP_SHARED_LIBRARY_CHECK)
Bug: 38138251
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/
adb shell cmd package compile -f -m quicken ^Csecondary-dex
com.google.android.gms
Change-Id: I2486522fb811f9fc58a44b92642f43a41e7d5bac
The processes created by ActivityManagerInternal.startIsolatedProcess
were not being tracked by ActivityManager after creation (other than to
handle crashes), but they still had ProcessRecords created for them.
This meant that if a second process was started with the same name, a
WTF would be triggered due to the old ProcessRecord still existing.
To resolve this, we change the way that these special isolated processes
start up: instead of directly executing the main() of the requested
class after forking, the process first runs ActivityThread as with
ordinary processes. When the process attaches to ActivityManagerService,
it is given the name and parameters of the entry point class to execute
instead of being given an ApplicationInfo to bind. We also reinstate the
previously-disabled process start timeout, since the process is now
expected to attach as normal.
This means that ActivityManagerService can observe the process's death
via Binder as usual and clean up the ProcessRecord, as well as making
this process less of a special case. To ensure the process is still
treated as important, we set a minimum OOM adjustment of
PERSISTENT_SERVICE_ADJ (which is accurate as the system server is
depending on the process even though it does not directly bind to it as
a service), and exclude processes of this type from being killed due to
being empty isolated processes. The process will exit voluntarily after
the entry point function returns instead.
Bug: 19061358
Test: Upgrade the current WebView implementation APK and check for WTFs
Change-Id: Ide4f89d308851bb591194a8d59e6d581e9d59b50
New version of ActivityView that doesn't use expensive
ActivityContainer, but utilizes VirtualDisplays instead.
Creation of this view is only allowed for callers who have
android.Manifest.permission.INJECT_EVENTS permission.
Launching activities into this container is restricted by
the same rules that apply to launching on VirtualDisplays:
- Owner is allowed to launch its own activities.
- If activity that's being launched is not from the same
app, then it must be embeddable and launcher must have
permission to embed.
Bug: 63338670
Test: go/wm-smoke
Change-Id: Id9a25752367ebe8e59d2fc21c5d9de5cf597ea01
This hidden functionality is no longer support/needed since
we now have multi-window/display. A new view group class
will be added later that uses multi-window to support remaining
functionality of this class.
Test: go/wm-smoke
Change-Id: Ie2fa2de92841d33199da9988741905060dd1ddf4
We're now only showing the notification header instead of the
repetitive contents hidden string. On Aod, we're still showing
a string however, since without it, it looked too empty.
Test: manual, set sensitive setting on lockscreen, observe notifications
Change-Id: If2bb66b9b3b366715aa68087e5c35cf1cdff3693
Fixes: 63741232
Only takes effect if the user has not changed any fields.
Some tangential cleanup of the test file:
- Rename member variable "uid" to "mUid"
- Use correct PKG instead of "test_pkg"
- Some character limit fixes
Test: runtest systemui-notification
Fixes: 63755460
Change-Id: I3c2df0c03ec333f320ac7a0fe90792f1b0ef02ce