Bug: 148370985
This reverts commit be9ba356aa.
Reason for revert: The change used <>, which is supported in Java 9 but not in Java 8.
Change-Id: I06304dead0a54b33b37d6661f9446cc797785bf4
In order to do that, NotificationManager now calls
StatusBar.showToast(), which is in SystemUI. StatusBar then calls a new
component, ToastUI, which is responsible for rendering the toast. The
code for rendering the toast was extracted from the Toast class, so it
should behave identically.
Also refactored the code a bit on NotificationManagerService, creating
two children of ToastRecord (one for custom, other for text toasts).
The change is gated in Toast class in this CL, but it's also gated on
the system server, so apps can't circumvent the background block.
Bug: 128611929
Bug: 144754526
Test: atest android.widget.cts.ToastTest
Merged-In: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460
Change-Id: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460
1. Background started foreground service shall not have
while-in-use permissions including location, camera and
microphone. Many exemptions have been applied including:
--FGS started by widget.
--FGS started by notification.
--FGS started by IME or other visible app.
--FGS started by ROOT_UID, SYSTEM_UID, NFC_UID.
2. Add a phenotype key KEY_DEFAULT_BACKGROUND_FGS_STARTS_RESTRICTION_ENABLED
to turn on/off this feature (default is on).
3. In dogfood, if a background started FGS with while-in-use permission
(any of location/camera/microphone) run into this restriction, the FGS
will not been granted these permission. we show a toast message to
alert user and ask them to write a bugreport using instruction at
go/r-bg-fgs-restriction. So we can have a statistic how many apps will
be impacted by this feature.
These is a flag Settings.Global.FOREGROUND_SERVICE_STARTS_LOGGING_ENABLED
to turn on/off the toast message (default is on, in dogfood)
Bug: 136219221
Test: atest android.app.cts.ActivityManagerProcessStateTest
atest android.app.cts.ActivityManagerApi29Test.java
atest android.app.cts.ActivityManagerFgsBgStartTest
Change-Id: Ibc8aaa6839a69136f9311bfacdbab9705b31b6a7
The new methods are specifically for non-handset devices
and are guarded by SET_INITIAL_LOCK permission.
Bug: 143612363
Test: TreeHugger
Change-Id: Ifbe6a1b11f4849ec0ea9515ac7b018bb446799ea
Signed-off-by: Julius D'souza <jdsouza@google.com>
Disable the ability to see historical app ops using dumpsys, and by
calling "getHistoricalOps", unless the calling package has an
instrumentation, or is the statsd package.
Fixes: 148227477
Test: attempt to call into getHistoricalOps while not an instrumented
application or statsd. The method should return an empty bundle. Run
"adb shell dumpsys appops --history" should return "no such arg", and
"adb shell dumpsys appops -h" should not show "--history" in the args.
Change-Id: Ie5ad9a90ffc0473aba958199450bcff9315f71a6
Add locus update event to the Usage Stats.
Test: Build and run on a test device with a test app.
Bug: 147594233, 147100454
Change-Id: I1e058ac87244d47719606d8dcfaea2df4bff43d2
Signed-off-by: Yuliya Kamatkova <yuliyak@google.com>
Bug: 140788621
This is a non-functional clean-up.
1. Rename the classes and methods used by the binder cache so that
everything public is based off of the binder name "hasSystemFeature".
2. Modified the hashCode() method to conform to the comments in cl/9965760
Test: Built a debug image and ran one iteration of MPTS. Verified that no
errors were seen.
Change-Id: I3ffdda43a7dbe30a12449ff346e1e22b379ee308
Previously we were using a separate SLEEP message to communicate
with the client. The sleeping implementation on the client though
simply transitioned it between STARTED and STOPPED states.
This CL relies on visibility updates to communicate the sleeping
state. The "sleeping" status field is still used in the server-side
to record when device started going to sleep, and prevents any
activity that was launched before to influence the power state of
the device.
Bug: 137329632
Test: AM/WM CTS and unit tests
Change-Id: Idd7f5bf6730d3372168d862ef713a44f700430f1
If this policy is set:
* Whenever work profile gets turned off or system boots, timer is
started, so theat unless the profile is unlocked in time, apps
will be suspended.
* when the user is unlocked, alarm is discharged.
Currently there is no upfront warning notification, will be addressed
in a follow-up.
Bug: 143517719
Test: manual, using TestDPC
Change-Id: Ib0f936b6d1414f65ae8c86367b7059c14862827d
DPM can currently control the master location toggle, but cannot
influence the behavior of individual providers. This adds an API for
DPM (or other privileged entities) to request a provider to turn itself
on.
Practically, this is necessary to allow DPM to control network location,
which may be gated by additional consents. This change also renames some
internal location code to make clearer the distinction between provider
enabled and provider allowed: enabled = location on && allowed
Bug: 136219903
Test: CTS tests to be added
Change-Id: I05f03c976428f0f5a8a2cf627a84dc9e2baf3e67
Create a wrapper class to access binder objects
published by statsd mainline module
Bug: 147923515
Test: atest com.google.android.statsd.gts.StatsdHostTestCases
Change-Id: I9ea3677d88c790c856e4e89318ae2ce67ac7df1e
Add the rotation a task was in when its snapshot
is taken. This is used by launcher to know which
way to orient the bitmap when performing quickswitch
fixes: 143892437
Test: Test: With launcher in portrait
* Thumbnail in reverse portrait,
landscape, seascape, normal
With launcher in landscape
* Thumbnail in seascape, normal,
reverse portrait, landscape
With launcher in seascape
* Thumbnail in seascape, normal,
reverse portrait, landscape
Change-Id: Iaf32341d0db1fc023c29676e0d365eee03b98959
Link frameworks-statsd.jar against framework-all
since it is currently infeasible to to link against stubs
Linking against stubs in frameworks/base cannot be done because
we still have StatsLog that calls StatsEvent.getBytes which
is a hidden API.
We can't move StatsLog to the apex because of hidden APIs in the
autogenerated code which is currently being migrated.
Test: m -j
Bug: 147923515
Change-Id: I0a59dce83a8075bdde3e72d1d8eceef2ed572791
Allows profile owner of corporate-owned managed profile to call
the following APIs:
* setSystemUpdatePolicy
* installSystemUpdate
The following APIs can already be called by regular profile owners
so no changes are needed:
* getSystemUpdatePolicy
* getPendingSystemUpdate
Test: atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testSystemUpdatePolicy
Test: atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testInstallUpdate
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSystemUpdatePolicy
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testInstallUpdate
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testInstallUpdateLogged
Bug: 147414327
Change-Id: I7224eb208f665ca7cb301daa7d17cce5126f7858
* Introduced new logic that allows the profile owner of an
organization-owned device (COPE PO) to hide/unhide system
apps in the personal profile.
* Modified both APIs to be callable on the parent profile
instance if called by the COPE PO.
* When called by the COPE PO, the package provided
must be a system package, otherwise an IllegalArgument
Exception is thrown.
Bug: 147413198
Test: manual testing
atest com.android.server.devicepolicy.DevicePolicyManagerTest
atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testApplicationHidden
atest com.android.cts.devicepolicy.ManagedProfileTest#testParentProfileApiDisabled
Change-Id: I4fae8acee9f00e3b9c805f29cf826f917cda6abd
* changes:
Add LightsManager implementation to LightsService
Add Lights AIDL HAL support to LightsService
Rename Light to LogicalLight to avoid namespace conflicts when adding AIDL HAL lights support.
* When personal apps are suspended, only dialer, IMEs, a11y, launcher
are some other critical apps are exempted.
* User is presented with notification, clicking on which invokes an
activity in the DPC.
Bug: 147414651
Test: manual via TestDPC
Change-Id: I09f8dad08e54b0ce8201cd5c76b3f34342e0da8f
This change adds the VpnManager, which will be used by apps to install
profiles for all platform VPN types (currently only IKEv2).
Bug: 143325939
Test: Compiles, FrameworksNetTests passing.
Change-Id: I57f854d0a5b18358f3541c24ca0cd8aed03fd7a1
Expose the constant for use in Telephony.
Also replace a usage of a hidden UserHandle API with a systemapi
equivalent.
Bug: 146834818
Test: atest SmsApplicationTests
Change-Id: I569d921abf923c384d7e771e2fc28f54e0dbfdd1
Includes backend code to support LightsManager binder calls and route
them to the HALs.
Bug: 144979010
Bug: 144978691
Bug: 142715294
Fix: 142230898
Test: atest LightsManagerTest
Test: atest LightsServiceTest
Change-Id: I2db7f2caa432cd1e2389ea5ca6544200ada18675
Exempt-From-Owner-Approval: Reviewed in OOO OWNERS's stead.
For cases where we can't show images, show "Image inserted" text instead. This will happen for work profile notifications, and for notifications that don't use MessagingStyle.
Test: Updated unit tests for NotificationRemoteInputManagerTest to use new RemoteInputHistoryItem structure, and to ensure support for URIs and mime types. Manual testing to ensure images appear in notification history for MessagingStyle notifications under the primary user, and that "Image inserted" appears for work-profile and non-messaging notifications.
Change-Id: I254b579aa710337039a7def6880f14a61bbd4d53