This so that we can save a layer, which avoids dropping us into
GL composition during animations.
This assumes that the cutout is always at the top or bottom edge
in the device's natural orientation.
Note that the two overlays for the top and bottom rounded corners
are still separate.
Bug: 72492508
Test: enable emulated cutout, verify it still shows up
Change-Id: I895084828e0502005bfa31e37d23dd3a6f01a2ca
This CL splits HeadsUpManager with the basic functionality and the
phone (and car) related implementation. The former code leaves in
HeadsUpManager class, and the later code is moved to separated
HeadsUpManagerPhone class.
This contains the following minor changes:
- Move the utility static methods to HeadsUpUtil class.
- Chanege the return types of HeadsUpManager#getAllEntries() and
HeadsUpManager#getTopEntry() from Collection<HeadsUpEntry> to
Stream<NotificationData.Entry>.
- Add a private method: HeadsUpManagerPhone#getTopHeadsUpEntry()
- Make the mPluse propertes boolean instead of Collection in
AmbientState and NotificationStackScrollLayout classes.
- Unify removeAllHeadsUpEntries() and releaseAllImmediately(), since
they do same thing.
- Move getTopHeadsUpPinnedHeight method from HeadsUpManager to
NotificationStackScrollLayout class, since only this class uses it.
- Add a simple test.
Bug: 63874929
Bug: 62602530
Test: Compile and ran "runtest systemui"
Change-Id: I3e5160803b9cdf1a164339557528ace0d35f8187
- ZenModePanel is not currently being used (changed to
EnableZenModeDialog.java), so ignore test
Test: runtest systemui (ZenmodePanelTest don't run)
Bug: 72636697
Change-Id: I7bcb628e303c55bc4764c61c82a75b5ebdeeeade
This change should have no effect on the app. It is simply unifying some of the prebuilts.
Bug: 72566647
Change-Id: Ic748f8f425e8c8e44bacf62ea61b9af307774911
Previously the cancelling wasn't delayed until the
panel collapsed, leading to bad transitions and
animations. Also fixed double clicks better.
Change-Id: I2523e226b60b3d5744a920582cb99f5ca8042fdc
Fixes: 69168591
Test: add notification with auto cancel, click on it
This CL adds some configurable flags to the logic for showing the
hybrid notification.
Test: Tests still pass
Bug: 72122935
Change-Id: I8b13346167a79691ecc3cb21e45b42f8ae99e7b8
If the input comes from RemoteInputView (the user manually typed an
inline reply), the source is set to RemoteInput.SOURCE_FREE_FORM_INPUT.
If the input comes from SmartReplyView (the user tapped on a smart reply
button), the source is set to RemoteInput.SOURCE_CHOICE.
Bug: 67765414
Test: atest RemoteInputViewTest SmartReplyViewTest
Change-Id: Icff46b903a968bd8457624b358d626b457569352
Added info to callback and leveraged WifiManager API to get the number
of connected devices. There's some minor state cleanup done and the
fire callback mechanism was slightly updated.
The secondary label is updated based on the connected devices & enabled
state.
Screenshot: https://screenshot.googleplex.com/jHMKmg2nO08
Test: manual
Bug:68058038
Change-Id: Iafcebd3476d2c13e25939b45e78f32a5bd24cb68
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
- Hide media routes while in call
- Change the title while in call
- Add a title while not in call, too
Bug: 63096355
Test: manual
Change-Id: Ib7bcd314efb010fe903327dd4d9bdbfe521c1f73
This CL adds two tests for NotificationGutsManager:
- opening and closing guts
- Reinflate and replace guts by changing density (or font scale)
Bug: None
Test: Compiled and ran "runtest systemui"
Change-Id: Ic51fa97d18ec78a2c74dd16d01440a2e0f9991ef
- Remove extra argument from the invocation of Recents from AM/WM, fetching
the states directly. This also fixes the issue with the docked task from
showing in Recents since the state will trigger the preloaded task stack
to be invalidated.
- Move Recents stack update to onStart() to ensure that it is updated with
the changes introduced in ag/3338461
- Fix an issue with the initial state being clobbered when entering split
screen
Bug: 70279132
Test: Long press recents button to split screen, verify task is not visible
Change-Id: If5a3ca1d86fa0025d6b1e08abf73fe80a390ef8e
- Display a space view exactly covering where the display cutout is
- Custom layout for system_icons because this view needs to now layout
right-to-left, and hide icons that don't fit. Similar to notification
icon container but in the other direction. Still needs dots and to limit
the # of icons
- When in landscape/seascape, the cutout space disappears and instead
the status bar insets itself by the same amount that the window is
letterboxed
- Moved battery percent back to the right of the battery because the
time is no longer on that side
Test: adb shell cmd overlay enable
com.android.internal.display.cutout.emulation && adb shell stop && adb
shell start # to start emulation
Bug: 63772836
Change-Id: I8071bfb4983a9d9306df1487cdac956494e80c28
Removes the direct dependecy from RemoteInputController to
StatusBarWindowManager and adds a test testing that notification
management code doesn't depend upon StatusBarWindowManager.
Bug: 63874929
Bug: 62602530
Test: runtest systemui
Test: Compile and run
Change-Id: I9cf63a7069cd6c4b7bd05db881c3029fe5bb1fad
When a notification is flagged by NoMan as USER_SENTIMENT_NEGATIVE (odd,
since this is actually the system's sentiment), a small ⛔ icon will
appear that directs you to the notification settings.
Eventually the icon will be removed, and the settings (reworded to
explain that you seem not to like this kind of notification) will be
left behind in the shade.
Bug: 63095540
Test: runtest systemui
Change-Id: I8b815cd035e9730bbbf1d4a1be17db9d494111ed
This adds support for enabling the hybrid notification using data
from Device Health Services.
Test: SystemUITests
Bug: 27567513
Change-Id: I5fae3d85f2d4956210bb067ff7c8b14146c8c89c
Change the code to not rely on debug mode compilation for D8/R8.
For R8 -dontoptimize is still required (default for tests) to avoid
inlining that could "revert" this change at compile time.
Test: m -j USE_R8=true SystemUITests
Test: Run tests and see failures from b/70879514 are gone
Bug: 70879514
Change-Id: Ic8bb2bd3a91da0ecb2ec4e40183f47e4daf6323c
Using androidx package and new API, also splitting content into
multiple views for better animation support.
Bug: 64155983
Test: visual, see data from provider propagate to AoD
Change-Id: I74b5511d582e7ec1f6ffe5dbc5595f54b9ccb202
Currently, adding a new dependency to any of these classes means
updating the constructors of any subclasses, and the construction in the
corresponding SystemUIFactory classes and subclasses. In particular,
updating these in separate vendor/ projects is annoying. So, initialise
the dependencies using field initialisers. The downside is that it's
harder to notice circular Dependencys.
Bug: 63874929
Bug: 62602530
Test: runtest systemui
Test: Compile and run
Change-Id: I21d58d0cc0edeb6d53fb7b387c9baeec7bd80589
Instead, pass it along with calls to setUpWithPresenter.
Bug: 63874929
Bug: 62602530
Test: runtest systemui
Test: Compile and run
Change-Id: Icd60cf671b12b33d4565cc608c6141cd580c790e
If a class being unit tested is changed to Dependency.get() a dependency
rather than receiving it as an argument, the tests could break in subtle
ways. Make sure all mocked Dependencys are properly injected as test
dependencies.
Bug: 63874929
Bug: 62602530
Test: runtest systemui
Change-Id: I2b23a2ea0ac9067952624a5c302ca419685307ae