When an activity overrides attachBaseContext(), the attached context must share
the same AutofillCient, otherwise it will break autofill in the activity.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.AttachedContextActivityTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases
Fixes: 67350639
Change-Id: I6b0c4c2fab5fa68eb6ee0714e107ca0816efb2cb
- Allow VR system application to have VR manager service bind a
compositor process so that oom scoring for the compositor process can be
adjusted.
Bug: 38390640
Test: Check that the VrCore compositor process is -700 on AIO devices with:
adb shell procrank -o
Change-Id: I7b5bce5eb87bd5ed0fdeadf4ec7bdd2b361ab875
Calling LoadedApk.getResources() instead of accessing its
mResources directly accounts for the case where this might
not have been initialized.
Bug: 67327250
Test: none
Change-Id: Iaa392a90eefb60ad479cedf8c882976dbe390387
Bug: 67049319
TransitionUtils was returning null when the View wasn't attached,
but Visibility transitions can do that intentionally. This CL
temporarily adds detached views to the view hierarchy as part of
an overlay while creating the hardware bitmap representation.
Test: ran transition CTS tests
Change-Id: Ie335619953653dce0224514f0d5c9c8eb00ee1a9
In transition animations, in order to capture the content of a view
or a drawable in a hw bitmap, a RenderNode needs to be created. The
RenderNode was previously setup with no owning view. As a result,
in cases where RenderNode animations are triggered by the draw calls
in displaylist recording, these animations would fail for lack of a
view to animate on.
This CL ensures that when RenderNodes are created for the purpose of
populating content in a hw bitmap in transitions, there's always a
view associated with each RenderNode.
BUG: 65160121
Test: Force to repro crash by changing press state during hw bitmap
creation, which triggers a ripple animation that led to the
otherwise timing dependent and hard to repro crash.
Change-Id: I2b4ba95cad25a94d50b3904e775606f737e960e3
If we update a package without restart or if an installed
package is a target of a resource overlay we update the app
info on the applicaiton side which is then used to update
the class loader and the resources the app is loading from.
To do that we send over an app info instance for the package
which was partially populated and missing the shared lib
entries resulting in apps not finding resources and classes
from the lib.
Test: manual
bug:62685545
Change-Id: Ib40b430c85a1e5d74f270a4326497ea3bd832215
Move a non-public intent out of the public android.intent.action
namespace. The new name is
com.android.intent.action.timezone.TRIGGER_RULES_UPDATE_CHECK.
Bug: 65991376
Test: CTS: run -m CtsIntentSignatureTestCases
Test: PTS: run -m PtsTimeZoneTestCases
Change-Id: I619b564aa6262108ab2d1c95ba6e288efd8cc9f2
- Pipe through user id when an activity is pinned, to ensure we show the
right notification with the correct profile badge that launches into the
correct profile's PiP settings.
Bug: 65417722
Test: Enter PiP for work profile app, ensure that it shows the notification
for that profile, and launches the profile-specific PiP settings.
Change-Id: I62b8e1b23cb81bfc60c93f452cf950ab06cbf32d
The keyguard has windows on the default display and the remote display
selected by MediaRouter. Keyguard occlusion only applies to the default
display. To make the activity showWhenLocked flag work on secondary
displays, pass the display id of the locked secondary display from the
SystemUi to KeyguardController and make its isKeyguardShowing method
take a displayId.
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testSecondaryDisplayShowWhenLocked
Bug: 64994006
Merged-In: Ib31fc76e9df469e97a59a181f09d457ceed4ef5f
Change-Id: Ib31fc76e9df469e97a59a181f09d457ceed4ef5f
Increased the text sizes a bit to make them more prominent.
Test: add colorized notifications of all styles
Change-Id: Ie22053edcb0297e7c3ee0c43b29cdd0e7b6a4516
Fixes: 35925915
Bug: 65354043
When an empty AnimatorSet is used in a fragment animation,
it can end immediately. This CL properly detects this
case and handles it properly.
Test: manual, ran fragment CTS
Change-Id: I63bee3818106f9c8e86cdc94af61d6bc8407c789
Bug: 65268614
When an activity transition was used with the top activity being
translucent, and the top activity calls finish() instead of
finishAfterTransition(), the transitioned views were not being
drawn properly. The source of the problem was that
setTransitionVisibility() was being used instead of setVisibility().
Transitions normally use setTransitionVisibility() to modify
the view's visibility without triggering an invalidation. But
when we want the view to be invalidated by the visibility change,
setTransitionVisibility() prevents the invalidate() from
actually invalidating the view.
Test: manual
Change-Id: I250ea232052d1a1309d3341504cba77543a94eec
Vendor apks has been regarded as bundled apps and thus provided with all
internal libraries under /system/lib and /vendor/lib. However, in new
devices where Treble is fully enabled, system and vendor partitions are
no longer bundled together; system partition can be updated
independently from the vendor partition.
In that case, the apks in vendor partition are considered as unbundled
so that access to /system/lib is limited.
In addition, when the linker namespace is created for apks, information
on whether the apk is in vendor partition or not is given to the
libnativeloader library. The information is used to conditionally
configure the linker namespace for vendors. For examle, vendor apks are
allowed to access /vendor/lib even though they are considered as
unbundled; because vendor apks and vendor libs are still bundled
together in the same vendor partition.
Bug: 63553457
Test: 1) set target as 2017 pixel
2) m -j CtsVendorJniTestCases
3) copy the built apk into /vendor/app/CtsVendorJniTestCases
4) reboot / factory reset
5) adb shell am instrument -w android.jni.vendor.cts
Change-Id: Iadd34af2878c507d4d6ec50153abef4e65604ac9
1. Fix system server crash when resetPasswordWithToken is called before use
unlock, due to DPMS enforces user is unlocked when calculating password
sufficiency.
2. Propogate new password metric from LockSettingsService to DPMS after a
password reset with token, and fix a bug where stale quality was used.
Bug: 64923343
Bug: 64928518
Bug: 65286643
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testResetPasswordWithTokenBeforeUnlock
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testResetPasswordWithToken
Test: runtest frameworks-services -p com.android.server.locksettings
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceAdminHostSideTestApi24#testRunDeviceOwnerPasswordTest
Test: runtest frameworks-core -c android.app.admin.PasswordMetricsTest
Test: runtest frameworks-services -c com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: Ibb3736547b3b36da4a8a67af711e08a38427aa56
Instance variable mSurface in ActivityView was not updated after surface
destroy/create cycle, which lead to NPE when we were trying to release
it again after second destroy callback.
Bug: 63338670
Test: Create app with activityView, cause activity restart.
Change-Id: I96447ebe77d175050565641ba94b748d2b633d99
When a carrier provides an "anchor" of data usage at a specific
moment in time, augment the network statistics used by warning/limit
thresholds and Settings UI. For example, if the OS measured 500MB
of usage, but the carrier says only 400MB has been used, we "squish"
down the OS measured usage to match that anchor.
Callers using the hidden API will have their data augmented by
default, and the public API offers a way to opt-into augmentation.
Thorough testing to verify behavior.
Test: bit FrameworksNetTests:android.net.,com.android.server.net.
Test: cts-tradefed run commandAndExit cts-dev -m CtsUsageStatsTestCases -t android.app.usage.cts.NetworkUsageStatsTest
Bug: 64534190
Change-Id: Id3d4d7625bbf04f57643e51dbf376e3fa0ea8eca
When the AutofillService sets a PendingIntent to launch an activity when
clicking a chield view (for example, to lauch a web page displayign the terms
and conditions of saving something), the system must hide the Save UI and
restore it after the new activity is dismissed.
That sounds simple in the surface, but it requires a huge refactoring behind
the scenes, such as injecting a token in the activity intent and using that
token to hide / cancel the UI during some activity lifecycle events.
Test: lotta of brand-new shinning tests on CtsAutoFillServiceTestCases
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases
Change-Id: Ie8ec7aeb2c63cab68467046c1a9dcf85dbcc24ec
Fixes: 64309238
- Use this API when launching the camera from a double tap gesture where
the user expects the camera to start for immediate use.
- Fix missing case of restoring the enter pip state.
Bug: 63916952
Test: Double tap to launch the camera, and ensure it does not trigger
the current activity to enter PiP (if it supports it)
Change-Id: I2acf44984bcc57dff75701d0e9cbd6b798a97cd8
Extend the ability to use VrStateListeners to applications that
have RESTRICTED_VR_ACCESS permission. Previously, it required
ACCESS_VR_MANAGER only.
Add VrStateCallback object and methods to VrManager to access the
functionality outside of frameworks.
Bug: 64360244
Test: Manual. Tested ability from VrCore.
Change-Id: I01f1c75b1ccd44a09364df84218168cf6caab322
- When calling enterPictureInPictureMode(), the state of the activity in
the client may be out of sync with the state of the activity in the
system, causing an exception to be thrown erroneously. Instead, fail
silently in the system if this occurs, and throw the exception in the
client when it attempts to enter PiP from an invalid state.
Bug: 63753007
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: Ia99cc086805edc31f997d4325f7a5ccd7c85a77e