Applications often configure strict mode in Application.onCreate. A
regression was added in I2614f8bb30203e00953b1978bbcaf24d84d0397b that
applied a strict mode override for a longer period of time than needed.
Test: Launched a few applications
Bug: 36951662
Change-Id: I30b3eafa4a833fc42d0a938da9446007ade80480
New quota APIs are much faster than trying to measure manually, and
removing this last user of calculateDirectorySize() means we can
remove it once and for all.
Bug: 36056324
Test: builds, boots
Change-Id: Ibdf1ee4e8885680e106df6a9269b6309ddc61af8
When we have trouble pushing a saved instance state Bundle out of
a process, log high-level statistics to help narrow down where bloat
is coming from.
Bug: 62409379
Test: builds, boots, stats logged
Change-Id: Iaff01eaf31ff0fd4d0fde3da15e9526dac559af9
We now require the READ_EXTERNAL_STORAGE permission for an app to
be allowed to read the system's wallpaper imagery. This is a
logged-but-benign no-op failure for apps targeting API levels up
through Android O, but a crashing failure (SecurityException) for
apps that target API levels newer than O.
Also, marked the permission-requiring parts of the formal API
with appropriate @RequiresPermission annotations.
Bug 30770233
Test: bit CtsPermissionTestCases:.NoWallpaperPermissionsTest
Change-Id: Id75181f05d05e5ca32f5fefcbe15dc81de264dff
Override the dump method so RuleManagerService can dump its state
into logs. Crude argument support has been added for dumping
specific fields in an easy to process way (for test scripts to use).
Tested with:
make -j30 FrameworksServicesTests
adb install -r -g \
"out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w \
com.android.frameworks.servicestests \
"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"
Test: See above.
Test: Manual; adb shell dumpsys timezone [-format_state piscotz]
Bug: 31008728
Change-Id: I0ad83aa245232ed0b983ceacd8accfb876824d6f
Add an agent option to ProfilerInfo. If set, on bindApplication
attempt to attach the given agent to the app before loading the
app itself.
Bug: 62445317
Test: m
Test: Device boots
Test: Manual profiling tests
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAmProfileTests
Test: Manual agent test
Test: cts-tradefed run commandAndExit cts-dev --module CtsJvmtiAttachingHostTestCases
Change-Id: I1f0c4121e22351fd3a964dd0a915100a620d4f84
Use a ProfilerInfo object in ActivityManagerService to reduce the
number of exposed fields. In preparation for adding an agent during
startup.
Bug: 62445317
Test: m
Test: Device boots
Test: Manual test for profiling
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAmProfileTests
Change-Id: I5fa347ded760c263a8ce3754bb2631205ea7b4b8
Added two new flags to the Activity to turn the screen on and
show on the lock screen. These can be used instead of the Window flags
LayouParams.FLAG_TURN_SCREEN_ON and LayoutParams.FLAG_SHOW_WHEN_LOCKED
to prevent the double onStart/onResume lifecycle events.
The flags can be set as an attr for the Activity in the AndroidManifest
using android:showWhenLocked="true" and android:turnScreenOn="true".
They can also be set through methods in the Activity class using
setShowWhenLocked(true) and setTurnScreen(true).
Fixes: 36850100
Test: Created sample application, tests/ShowWhenLockedApp, that set the
flags in the manifest and code. Tested multiple scenarios to
launch the Activity with the flags set and unset.
Test: cts-tradefed run commandAndExit cts-dev --module CtsServicesHostTestCases -t android.server.cts.KeyguardTransitionTests
Test: cts-tradefed run commandAndExit cts-dev --module CtsServicesHostTestCases -t android.server.cts.ActivityManagerActivityVisibilityTests
Test: cts-tradefed run commandAndExit cts-dev --module CtsServicesHostTestCases -t android.server.cts.KeyguardTests
Change-Id: I44f0e313df4531d49c7ac56108b6bf80e41fefc1
Add flag to enable/disable virtual displays via the existing
setDisplayProperties API. This makes it possible for the VR system
to turn off virtual displays if necessary after we ship.
Bug: 62546364
Test: Run 'adb shell vr enable-virtual-display [true|false] to toggle while 2d in 3d
runs.
Change-Id: Iae029be501d61189fced981dbc554e984fa7ed4b
The feature is no longer used by the TV team which was the only
product using it, so removing to reduce code complexity.
Test: go/wm-smoke
Change-Id: I563e30486ec4439f550b5adb94c4c617ea2a346b
In both battery stats and job scheduler statistics, keep track of
the reason jobs are ending. This can help to identify apps that
are having bad behavior with jobs (in particular, regularly timing
out their job instead of finishing it when done).
Test: manual
Change-Id: Icc12d5e0dc0df1906716e7d995c56d50a9fa148a
The current documentation implies that the intent is sent to the
application that requested provisioning (which would be in the
primary profile for managed profile provisioning). However it is
sent to the new DO or PO only.
Test: make docs
Change-Id: I9d1f66ec6f3d6d7fbaa1617d13a7da12d4acb490
Reading the current wallpaper's palette doesn't involve any state
inside the WallpaperManager instance, so there's no reason to
apply synchronization in the first place. By doing so we were
inducing a great deal of lock contention, since the system side
of the operation can sometimes take a long time to execute.
Bug 63065764
Test: manual
Change-Id: I6f5f67a0819da23245a4ad5334f0942011467f7c
As there is no caller for the SystemAPI convertToTranslucent, there is no situation
where requestVisibleBehind will actually result in the activity becoming
visible behind. However we have bugs in the requestVisibleBehind code-path,
so rather than fix them...it seems better to just prevent ourselves from
running in to them. Full deletion of the code-path is scheduled for post-O
branches.
Change-Id: I6e7c79e036986564d2d443a603e63c341de23057
Fixes: 62512584
Test: Repro from bug. go/wm-smoke.
According to messages in the logcat sendBroadcastAsUser
is the better option.
Test: Manual
Bug: 31008728
Change-Id: I06bcd3c53878fc2b1b817337ea8719fcc4975501