This makes the runtime handling of the android.test.base library
conditional based on a build flag REMOVE_ATB_FROM_BCP.
When REMOVE_ATB_FROM_BCP=true:
* The framework-atb-backward-compatibility is added to the
bootclasspath instead of android.test.base.
* Any APK that targets pre-P (or has a dependency on android.test.runner)
has android.test.base added to their library list.
Otherwise:
* The android.test.base library is added to the bootclasspath.
* Any APK that explicitly specifies that it depends on the
android.test.base library has the library removed as the classes
are available at runtime.
Added android.test.base to platform libraries so it can be used when
not on the bootclasspath.
Tested both cases by building with or without the build flag, flashing,
setting up, adding an account, adding a trusted place.
Also, tested that all combinations of REMOVE_ATB_FROM_BCP and
REMOVE_OAHL_FROM_BCP work.
adb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Bug: 30188076
Test: as above
Change-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6
Using the new control mechanism introduced in order
to coordinate notification launches and smoothly
transform the notification into the launching window.
Bug: 69168591
Test: add notification, launch it
Change-Id: Ib2d671c65f276ec596a2f07edf64d65bf27a2882
ResolverActivity (still in frameworks) now requests a "permission token"
that it hands to a stubbed system ui activity ChooserActivity.
This permission token allows an app (SysUI) with the signed permission
"START_ACTIVITY_AS_CALLER" to call
ActivityManagerService#startActivityAsCaller. Permission tokens are a
one-time use, limited-time offer.
Test: runtest systemui && manual testing
Bug: 69850752
Change-Id: I3600e1a8ff9eea7397f5f59853423c79b6401f98
If a UID is idle (being in the background for more than
cartain amount of time) it should not be able to use the
camera. If the UID becomes idle we generate an eror and
close the cameras for this UID. If an app in an idle UID
tries to use the camera we immediately generate an error.
Since apps already should handle these errors it is safe
to apply this policy to all apps to protect user privacy.
Test: Pass - cts-tradefed run cts -m CtsCameraTestCases
Added - CameraTest#testCameraAccessForIdleUid
Change-Id: If6ad1662f2af6592b6aca1aeee4bd481389b5e00
Adds the ability for another app to control an entire app
transition. It does so by creating an ActivityOptions object that
contains a RemoteAnimationAdapter object that describes how the
animation should be run: Along of some meta-data, this object
contains a callback that gets invoked from WM when the transition
is ready to be started.
Window manager supplies a list of RemoteAnimationApps into the
callback. Each app contains information about the app as well as
the animation leash. The controlling app can modify the leash like
any other surface, including the possibility to synchronize
updating the leash's surface properties with a frame to be drawn
using the Transaction.deferUntil API.
When the animation is done, the app can invoke the finished
callback to get WM out of the animating state, which will also
clean up any closing apps.
We use a timeout of 2000ms such that a buggy controlling app can
not break window manager forever (duration subject to change).
Test: go/wm-smoke
Test: RemoteAnimationControllerTest
Bug: 64674361
Change-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab
+ Assign permission android.permission.STATSCOMPANION to statsd
+ Fixes in StatsCompanionService to allow statsd to get uid mapping
Test: manual
Change-Id: I3e6ca79eefed7f93a4588578c156321c4c278fd3
We recently created a new GID that can be granted to critical system
processes, so that the system is usable enough for the user to free
up disk space used by abusive apps.
Define a permission for the GID so we can grant it to system apps,
and add the GID to core apps needed for system stability. (The list
was mostly derived from filling a disk and seeing what caused the
device to fall over.)
Test: builds, boots
Bug: 62024591
Change-Id: Icdf471ed3bed4eeb8c01f1d39f0b40c1ea098396
This permission is needed for displaying the WIFI MAC address.
Bug: 70638295
Test: Wifi network details page shows the wifi MAC address.
Change-Id: Iaa595d520abf36ba55cfa9e888b169baae6ea1fb
Generic.kl is a special file that defines the default mappings for all
devices. There can only be one and it cannot change regardless of the
product area the device is in. This should *never* have been checked in,
especially not without someone on the input team looking at it.
Also, add support for the POUND and STAR keys, which is why it was
forked in the first place.
Test: N/A
Change-Id: I894cbefe20fc77d827dc500daa3a380f252eb8b6
This permission used to be Settings. With new settings suggestion
system we need the permission in the unbundled app (SettingsIntelligence)
Bug: 69427300
Test: rebuild
Change-Id: Iaf8dd3281f4cdf5460dd544f50391ca241716d37
If a UID is in an idle state we don't allow recording to protect
user's privacy. If the UID is in an idle state we allow recording
but report empty data (all zeros in the byte array) and once
the process goes in an active state we report the real mic data.
This avoids the race between the app being notified aboout its
lifecycle and the audio system being notified about the state
of a UID.
Test: Added - AudioRecordTest#testRecordNoDataForIdleUids
Passing - cts-tradefed run cts-dev -m CtsMediaTestCases
-t android.media.cts.AudioRecordTest
bug:63938985
Change-Id: I15264c5c4b47813ca60280bce30b22b8b1f87eab
Keep fontchain_lint from rerunning on every make checkbuild by
making it touch an output file and giving it dependencies on
anything that should cause it to rerun.
Bug: 27727331
Test: m checkbuild
Change-Id: I0d8a41b308cac04844e27beb51c12dbf46cb1a4a
This permission used to be Settings. With moving ranking to
SettingsIntelligence we need to move permission whitelisting as well
In a follow up we will remove the permission from Settings list.
Bug: 65065268
Test: flash with a clean build
Change-Id: I81fafe0b390df5990989da81629e4c6d67f1480a
Allows a privileged app to set standby bucket states for apps.
Bug: 63527785
Test: adb shell am set-standby-bucket com.example.foo 0
Change-Id: I613f8872ae816e39b167aad1c289187362aa6094
When connected over bluetooth, the device
registers with vendorId=045e, productId=02e0.
Add the keylayout for this here.
Bug: 37115804
Bug: 37115820
Test: connect the controller, use
'getevent' to keep track of the generated events
Change-Id: Ia4b80e54a547e5d6716ff0f83b068e4cc87dfbb0
Optional message that lives under the clock and also
in AoD. Implemented using a slice.
Test: launch sysui, look at the date in AoD
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
Change-Id: I9dbc827bd48c6a3d1b25b0a481ffaecc0dd37f25
Permission grant changes need explicit approval from product and
SWE leadership to ensure that CTS/CDD requirements are met.
Change-Id: I0a84712b5c5b4e11e72bf5921b72ef6a47e7fdc1
Some apps in frameworks/base are only included in AOSP targets and
discrepancies weren't discovered by CI tests.
Test: manual
Bug: 67718369
Change-Id: If88aa90f4dcab51b6e11562cadbe003948b6c149
Test: reboot device - no crashes
Test: Ran privapp_permissions.py for fugu/marlin/taimen
Bug: 64693550
Change-Id: I9522ccaa75858b9a3d153c95c529eff70cd13994