Current tracked changes include bounds, visibility, and
"existence".
bounds and visibility are fairly straightforward, call
collect() before doing operations and it will record the
state. Once the transition is finished, it will compare
that recorded state with the finished state.
"existence" is more complicated. It's the difference
between show/hide vs open/close. Because Task instances
are basically always around, their existence depends on
the circumstances around when/how activities are started.
For that we have to explicitly indicate when a container
is going to change its existence via
collectExistenceChange().
Bug: 169035306
Test: atest TransitionTests
Change-Id: I78d4cda6b726202507b757f93c742d49e51e2d7b
* Fix HUN state's end margins
* Restore previous max height of collapsed state
* Restore previous behavior of hiding the progress
bar if content is greater than ~25dp
* Remove min height which isn't necessary now that
the largeIcon has moved up a line.
* Fix headerless title's padding with the separator.
Bug: 163626038
Test: manual
Change-Id: I1fa1efa76192f081ac801a732812eef7f5bfa536
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. But it needs
BroadcastOptions#setMaxManifestReceiverApiLevel to restrict the
receiving of CONNECTIVITY_ACTION intent. Thus, expose it as a
system API to support the usage.
Bug: 170593746
Test: atest FrameworksNetTests
Test: atest CtsNetApi23TestCases
Test: atest KeyChainTests
Change-Id: Ic45552174c3f9e74141db4495bb99a582000b574
Merged-In: Ic45552174c3f9e74141db4495bb99a582000b574
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. But it needs
BroadcastOptions#setMaxManifestReceiverApiLevel to restrict the
receiving of CONNECTIVITY_ACTION intent. Thus, expose it as a
system API to support the usage.
Bug: 170593746
Test: atest FrameworksNetTests
Test: atest CtsNetApi23TestCases
Test: atest KeyChainTests
Change-Id: Ic45552174c3f9e74141db4495bb99a582000b574
* changes:
Update variable names to reduce confusion.
Fix/hack MessagingStyle notifications
Reduce notification minimized height
Fix the placement of the work profile and feedback badges.
Fix HUNs
Remove the unneeded icon spacing in the InboxStyle.
Hide app name from minimized notifications
Notification Title is 16pt in Big state
Ensure headerless notification with large icon is big enough.
Round corners of BigPicture
Increase the expand button touchable area.
Remove the reply action entirely.
Notification template redesign; part 1.
Remove night-mode override of notification_divider_height
When a service is transitioned to the foreground state, we defer display
of its associated Notification for a short time, to reduce user
disturbance in situations where the FGS is short-lived. Apps can force
immediate display when they know it's relevant, and Notifications known
to correspond to contexts in which immediate display is appropriate -
such as media playback - are not deferred.
The behavior can be disabled or the deferral interval adjusted via
DeviceConfig.
Bug: 171499612
Test: ApiDemos
Test: atest CtsAppTestCases:ServiceTest
Test: atest CtsAppTestCases:NotificationManagerTest
Change-Id: I0cae3dc6f943e99873ed8c1687914ad08ec29b57
* Add and prefer a heads up template which is
the base template + actions
* When a HUN shows a template with a header,
only allow hiding that header if there is
no large icon to avoid a visual mess.
Bug: 163626038
Test: manual
Change-Id: Ia42e0a6b1b1ecd4dd438a817f9442a838a2bdb5c
Because the LargeIcon is was moved up a 'line' to
the top of the notification, the only lines which
can intersect it are the header and title lines;
the first line of text from the inbox style no
longer can. This also sort of depends on
ag/13018219 which fixed the vertical spacing
enough to make this look good.
Bug: 163626038
Test: manual
Change-Id: Ic9ed82eb3c0e9c7e619917351c3461ffe1713857
Known issues:
* Sub-par dyson animation
* Sub-par animation of text in the title
* Notification height limits not yet adjusted
* Decorated custom view height limits not yet updated
* HUNs may need to get their own headerless template
* Messaging style notifications are not yet headerless
* Possible [de]colorization bug for grouped icons
* Some notifications still not always expandable
Bug: 163626038
Test: Manual, visual testing
Change-Id: I9e7e2fd689938a13e042c8f6319bd7d0d2252781
This change removes the "pi.append_native_lib_paths" property added as a kill switch for a feature that has been out in the wild now for several releases now.
Change-Id: I21f9d158f60d0cf47e3631bb37ece711b3450494
Merged-In: I21f9d158f60d0cf47e3631bb37ece711b3450494
Fixes: 173103133
(cherry picked from commit 22efaa8422)
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.
sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java
Test: make
Exempt-From-Owner-Approval: No-op change
Merged-In: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.
sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java
Test: make
Exempt-From-Owner-Approval: No-op change
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
This is part of the work to support
a credential management app on
unmanaged devices.
Bug: 165641221
Test: atest android.appsecurity.cts.AppOpsTest
Change-Id: Ifd87b5e38f341db4b34bf9f61480e29e49148846
This change removes the "pi.append_native_lib_paths" property added as a kill switch for a feature that has been out in the wild now for several releases now.
Change-Id: I21f9d158f60d0cf47e3631bb37ece711b3450494
Fixes: 173103133
For apps targeting S+. This API was being exploited by malware to
prevent the user from accessing critical notifications
(go/collapse-status-bar, b/137274359).
This API was hidden and never intended to be used by 3p apps, so putting
it behind proper permission after targetSdk S. Since it's
@UnsupportedAppUsage trying to steer apps to the
Intent.ACTION_CLOSE_SYSTEM_DIALOGS (Intent.ACSD), which produces the
same effect and has been part of the API surface (as opposed to this
one). However, to fix the vulnerability (b/137274359) that intent will
be subjected to further restrictions based on privilege (who) and
circumstance (what), for more details see go/close-system-dialogs.
To lock down the abuse vector, similar restrictions to the ones applied
to Intent.ACSD will be applied to collapsePanels() NOT gated on
targetSdk, but these will be in future CLs.
Test: CTS coming
Bug: 173031413
Bug: 159105552
Bug: 137274359
Change-Id: I05f05ff6a2052820a132c2284101480448d18b77
Implement setRequiredPasswordComplexity and
getRequiredPasswordComplexity, which enforce password requiremets
according to one of four, platform-defined complexity levels.
Start adjusting the platform to take the complexity into account:
* isActivePasswordSufficient would return false if complexity is set
but the current password does not meet the complexity criteria.
* resetPasswordWithToken would not allow resetting the password to a
value that does not meet the complexity criteria.
Bug: 165573442
Test: atest FrameworksServicesTests:DevicePolicyManagerTest
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testResetPasswordWithToken
Change-Id: I4e66af0b03c521de70bba3192751164736d01c62