| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Introduces a new SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY QuickStepContract flag, to get an early signal when the keyguard is going away
Bug: 275319714
Test: manual
Change-Id: I06b925431ecc615e7445b386bd89a1c6f5198c84
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Creating individual modules will occur in other smaller CLs
Fixes: 237421018
Test: atest QSFactoryImplTest
Test: Built on device
Change-Id: Icd06663fd0a71fc013363fd9aaa8e2d32a08e7b4
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
Setup the dialog panel for font scaling
- Slider: The number of steps in the slider refers to the values
options for font scaling. Changing the progress of the seekbar will
change the size of fonts including the ones on the dialog panel.
- Title and Done button: Update font size when onConfigurationChanged.
Bug: 242326166
Test: Attach a video to the bug
Test: atest FontScalingDialogTest
Change-Id: I9004aa933ff1d8021f3087a015ebc23bb8724871
|
| |
|
|
|
|
|
|
|
|
|
| |
Setup the basic layout of the dialog that would show up after clicking
the font scaling tile. The dialog includes the Title, the Done button,
and a seekbar which allows users to change the font size.
Bug: 242326166
Test: Attach a video to the bug
Test: atest FontScalingTileTest
Change-Id: I53db74af00e358a5e35283128a11164d4ae6733e
|
| |\
| |
| |
| | |
tm-qpr-dev
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In multi-user multi-display systems where there could be multiple
SystemUI instances running, the concept of what displays are relevant
for a particular SystemUI may change. By adding a DisplayTracker class
to abstract away display retrieval and callbacks, these instances can
return the information that is most accurate for them.
Bug: 256236871
Test: atest SystemUITests
Change-Id: I51c1a380a344fb45d5e0de2c5c6ba5610733a3a2
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
This change pipes the current dream state to OverviewProxyService,
similar to how doze information is shared. A condition has been
added to monitor the dream state, and a callback relays this
information to the StatusBarStateController. A new CoreStartable
maintains the monitor for this interaction.
Test: atest StatusBarStateControllerImplTest#testSetDreamState_invokesCallback
Bug: 265755700
Change-Id: Ic927a7e55864453da026c14cd1c87e6a7cf22489
Merged-In: Ic927a7e55864453da026c14cd1c87e6a7cf22489
|
| |\
| |
| |
| | |
tm-qpr-dev
|
| | |
| |
| |
| |
| |
| | |
Bug: 249831072
Test: atest SystemUITests
Change-Id: Id98ed38495feaab4780452ded14fe24b68ae6944
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, ScreenshotHelper provides utility functions to convert
between a hardware bitmap and a parcelable form for sending between
processes, but the originating code must handle the conversion itself.
This change moves the conversion so that it occurs seamlessly
inside of the ScreenshotRequest class, and refactors the inputs
to ScreenshotHelper slightly so that the ScreenshotRequest data class
is what gets passed in.
Bug: 264457397
Test: atest
Merged-In: I1041bbcfdc5f5ece6e98bd0844017d4f3dc4e9f3
Change-Id: I1041bbcfdc5f5ece6e98bd0844017d4f3dc4e9f3
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The methods ShadeController was calling in CentralSurfaces are now
in ShadeController. A small amount of interaction between the two
classes had to remain, but it's now a small interface instead of a
direct dependency on CentralSurfaces. This work is far from done,
but the dependency was removed and atest passed, so it seemed like
a good place to stop and review.
Bug: 249277686
Test: manual and atest
Change-Id: Ide5c6f1964a83073f39323c083ea1ccc281bc8fe
|
| |
|
|
|
|
|
|
|
|
| |
This CL changes SystemActions to register status bar-related actions only if CentralSurfaces is available.
Because S_A_ID_NOTIFICATIONS and S_A_ID_QUICK_SETTINGS expect the CentralSurfaces instance in each handler (i.e. handleNotifications() and handleQuickSettings()), but CentralSurfaces is optional and some vendors (e.g. ARC) don’t provide it.
Therefore, these two actions shouldn’t be registered when CentralSurfaces is not provided via DI.
Bug: 255544050
Test: atest android.app.usage.cts.UsageStatsTest#testNotificationSee on ARC
Change-Id: I592ca34d8081e4d76b9b7049359b2145f22f1dad
|
| |
|
|
|
|
|
|
|
| |
Context is no longer passed in as a constructor arg.
Bug: 229228871
Test: manual
Change-Id: I3dd5e593f209d120eb36faf33ba629a2066ad3f5
Merged-In: I3dd5e593f209d120eb36faf33ba629a2066ad3f5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keyguard visibility is based on the keyguard showing
and occluded states, but the KUM state changes were previously
separated so that KG would respond to a occlusion change
but not have the newest visibility, so it would
inaccurately update its fingerprint listening state. To avoid this
race condition, this CL consolidates KG showing, occlusion and
visibility changes to a single setKeyguardShowing(showing, occluded)
method. The method updates the KUM state and then sends the change
out to listeners.
This CL also updates some of the vocab used. In the future,
keyguardVisibility from a KUM perspective means that the keyguard
is showing and NOT occluded.
Test: atest SystemUITests
Test: enable a screensaver and successfully authenticate from the
screensaver with a non UDFPS fp sensor
Test: double press power button to the camera (occluded state), and
see that rear FP will stop running. Can still auth when accessing
the photo gallery.
Test: double press power button to the camera (occluded state), and
see that UDFPS affordance isn't available. Can still auth when
accessing the photo gallery.
Test: Setup a timer to go off, see that going to/from the occluded
activity updates the occluded & keyguard visibility state correctly
Bug: 248089638
Fixes: 247580913
Change-Id: I3478be2d304a42beebdb6a4baaf2e571d74e61b1
|
| |
|
|
|
|
|
|
|
| |
classes
Bug: 246975184
Test: existing tests
Change-Id: I7732ffb788ce380d3c71206718b24bd30ad827e0
Merged-In: I7732ffb788ce380d3c71206718b24bd30ad827e0
|
| |
|
|
|
|
|
|
|
|
| |
- These were only used for the unbundled launcher build, and Launcher
can reference system code directly now
Bug: 219861883
Test: Builds/Presubmit
Change-Id: I1532f1b853765fb69c5bf46ad5a08230bde00c5f
Merged-In: I1532f1b853765fb69c5bf46ad5a08230bde00c5f
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make constructor visible for tests
Make all fields final (no setters, so already effectively final)
Remove mHasStatusBar and mHasNavBar (unused)
Remove overload 'takeScreenshot' method without a source param
Added missing @IntDef annotations to parameters
Bug: 231957192
Test: atest ScreenshotHelperTest SystemActionPerformerTest
Change-Id: Ief43bd0ba50dafac720ae18d00c3c99b8d31e2e1
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Root cause:
The menu had been animating and moving to the screen edge and hiding the menu in the meantime.
Solution:
Should cancel the animation before hiding the menu.
Bug: 237217858
Test: atest AccessibilityFloatingMenuViewTest
Merged-In: I75f75de3299210ed9d88b3be7dbaa81abb7db2e1
Change-Id: I75f75de3299210ed9d88b3be7dbaa81abb7db2e1
(cherry picked from commit 87edbcd0bc53d5a6d676162266f38686d8a818a3)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When bubbles are expanded we monitor for home gesture to animate
collapsig of the view.
When notification panel is open, it is on top of bubbles. But our
gesture monitor is still active. Listen to notification panel expanded
state and stop listening for home gesture while panel is expanded.
Bug: 232339931
Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.bubble.BubblesHomeGestureTest
Change-Id: I123ea6b5b82906d2ed1b0a71fc1e2fa9669abfff
|
| |
|
|
|
|
|
|
|
| |
Necessary step to retain git history of CentralSurfacesImpl.
Bug: 229228871
Test: manual
Change-Id: If4152279970090eeb3ea34307dfade5873e9dbf3
Merged-In: If4152279970090eeb3ea34307dfade5873e9dbf3
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CentralSurfaces is now an interface. It is a very large and ugly one.
This allows us to remove the provider in StatusBarPhoneModule, and
will make it easier to control how the Optional for CentralSurfaces
is setup.
It is renamed CentralSurfacesInt temporarily to allow maintenance of
the blame and history of CentralSurfaces in CentralSurfacesImpl.
Bug: 229228871
Test: atest SystemUITests && manual
Change-Id: Iab41b70e0c65d75560010d961dcb52a11fd237f5
Merged-In: Iab41b70e0c65d75560010d961dcb52a11fd237f5
|
| |\
| |
| |
| | |
into tm-dev
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Root Cause: From ag/17686873, we remove the protect mechanism that
AccessibilityManagerService might not ready to retrieve information when
the phone get booted without keyguard lock, but it will still happen if
the sequence of the object created got change, just like b/184272107 in android sc-dev.
Solution: Change to check target is empty first before showing it, this
way, we can show a11y FAB both in onUserUnlocked() and
onKeyguardVisibilityChanged(false) stage without showing empty content
a11y FAB.
Bug: 192635136
Fix: 184272107
Test: atest AccessibilityFloatingMenuTest
Change-Id: Icca1c2bbae3f0bf6cad4fb28c53b5a9e6cd9b271
|
| |\ \
| | |
| | |
| | | |
into tm-dev
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Root cause: SystemUI restart to initial new AccessibilityFloatingMenuController, but it won't call onUserUnlocked to turn on the floating action menu ready.
Solution: No need to check mIsAccessibilityManagerServiceReady for AccessibilityManagerService is ready to retrieve. The onKeyguardVisibilityChanged is enough to update the floating action menu visibility.
Bug: 192635136
Test: Manual testing
1. The floating action menu is not be displayed on the lock screen
2. The floating action menu shows on a device restart
3. The floating action menu shows on a SystemUI restart
4. The floating action menu shows on user switching
Change-Id: Ifdd5f71af6810342d60f2c1e70f27b171cbc4adc
|
| | |/
|/|
| |
| |
| |
| |
| |
| | |
Now marked as deprecated.
Bug: 229228871
Test: manual
Change-Id: I872806af23243171e9123c18a5a06201513a3d79
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the magnification settings mode or config mode transitions,
MagnificationController would
1. Disables the current magnification mode. Then
2. Starts to enable the target magnification mode.
To prevent the magnification change callback send twice during the
mode transition, MagnificationController should only notify the
change of the transitioning target mode and ignore the notifcation
change for the disabling magnification mode.
And when WindowMagnification resets or disables by
WindowMagnificationController#deleteWindowMagnification(),
it should notify source bounds empty when magnification is deleted.
And when FullscreenMagnification resets and the animator is animating,
FullScreenMagnificationController should notify magnification
change.
Bug: 209701404
Bug: 210636326
Test: atest AccessibilityMagnificationTest,
atest WindowMagnificationControllerTest,
atest com.android.server.accessibility.magnification
Change-Id: Ief718614d80177a4a076eddc708a7ecfc4dfb73f
|
| |
|
|
|
|
|
|
|
|
| |
This is the first step in moving over to the new public
android.util.Dumpable api.
Bug: 217567642
Test: m SystemUI
Merged-In: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
Change-Id: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The listner might invoked twice because we use vsync to
change the magnification spec. When the animation is running,
the posted tasks might executed after animation ended twice.
To fix, we update the source bounds only when it is indeed changed,
which also could reduce the redudant mirroing content operation when
the request is sent consecutively in a short time.
Bug: 214785717
Test: atest AccesibilityMagnificationTest \
--retry-strategy ITERATIONS --max-testcase-run-count 20
Change-Id: I68962b189d8f39f587b717e8125a224e0f67a7e7
|
| |
|
|
|
|
|
|
| |
We add WindowBounds in WindowMagnificationController#dump for debugging.
Bug: 219855496
Test: adb shell dumpsys activity service SystemUIService
Change-Id: I4e848310cf78ab97de350bccb0363ad0b3b7d929
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
After a user perform a11y action, namely moving up/down/left/right, we
have to disable tracking focus functionality.
We refactor #onDrag to a more general term #onMove to cover any move
action which has to disable tracking focus functionality.
Bug: 218935435
Test: atest WindowMagnificationTest
atest WindowMagnificationControllerTest
atest WindowMagnificationManagerTest
Change-Id: I578b301645a08c71e874fe2f4fcf2557202abefd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For following typing focus feature, we add a
moveWindowMagnifierToPosition method for a window magnifier to move it
to the center of onRectangleOnScreenRequested.
Apart from calling this method to fulfill movement functionality, we can
separate the movement from calling enableWindowMagnification which is a
temporary replacement for movement functionality. Therefore, we can
distinguish whether the it is enabled by the first time or the further
movement behavior. It would help us differentiate the condition whether
we should reset the following typing focus to on/off state. (b/216394179)
Bug: 219654280
Test: atest IWindowMagnificationConnectionTest
atest WindowMagnificationTest
atest WindowMagnificationAnimationControllerTest
atest WindowMagnificationControllerTest
atest WindowMagnificationConnectionWrapperTest
atest WindowMagnificationManagerTest
Change-Id: Iaac3ca6868d948571c1aee54a5f122c9697059d8
|
| |
|
|
|
|
|
|
|
|
|
| |
Also add some javadoc to CentralSurfaces.java to make its purpose
slightly clearer.
Bug: 197137564
Test: compiles
Test: atest SystemUITests
Change-Id: Id06e7ba7641d6d2bc276cce57101c9c7236bc758
Merged-In: Id06e7ba7641d6d2bc276cce57101c9c7236bc758
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It provides resize api which constraint the minimum and
maximum window size.
Since the magnification window could be an arbitary rectangle,
We need to change the window size and the center based on
the transformation result.
Bug: 188136191
Test: atest WindowMagnificationControllerTest
Change-Id: I63abe89d087988460efc7d0586c5a309e6142768
(cherry picked from commit 9555ceb3945f38e32473b29ab0cebd31f92ecf0b)
Merged-In: I63abe89d087988460efc7d0586c5a309e6142768
|
| |
|
|
|
|
|
|
| |
Also add the missing headset hook into SystemAction.
Test: local test.
Bug: 214164075
Change-Id: I8c8ad18990111737722274ca8410cc538b208167
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the foldable is folded /unfolded, we will refetch the display size
to compute the appropriate the window size.
The signal of display size changed is from onConfigurationChanged
which is invoked by Application context. However, we get the display
size from the WindowContxt.
To fix it, we register the callback with the WindowContext based on
the view visiblty, and update the configuration related values before
showing the window.
Test: manual test
atest com.android.systemui.accessibility
Bug: 213958569
Bug: 214318642
Change-Id: Ic98f782f98b9c29f58d08e064985da731e13aa93
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are 3 milestones in this feature.
1. Refactor the callbacks for Accessibility in WindowManagerInternal.
2. Implement this feature in such new architecture.
3. Implement the setting choice in preference page.
This CL is for the 2nd milestone.
We move the window magnification to the typing focus' center position
based on the condition of whether a user takes control or not. We only
make a movement when the control is not taken by a user or we don't
preform the movement for the window magnification.
There are 2 methods for a user to take the control.
1. A user use 1 finger to drag the window magnification.
2. A user use 2 finger to drag the window magnification.
There is 1 method for a user to release the control.
1. When IME is shown, the control would be released.
So, we can decide whether we should make a movement to typing focus
given the condition of who take the control.
Bug: 194668976
Test: atest MagnificationControllerTest
atest WindowMagnificationTest
atest WindowMagnificationControllerTest
atest WindowMagnificationManagerTest
Change-Id: I145f893d412b74c20afe1685449370d1dba99961
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See Design doc: go/b200769372
To make the behavior consistent on the new platform,
The legcay callback,
onMagnificationChanged(MagnificationController controller,
Region region, float scale, float centerX, float centerY)
keep notifying only full-screen magnification change as
before.
To support listening to the magnification changes of all
magnification modes, the service should overide
The new callback proposed in T,
onMagnificationChanged(MagnificationController controller,
Region region, MagnificationConfig config).
TODO: Notify magnifcation change when window magnifier turns off
Bug: 203013925
Test: atest AccessibilityMagnificationTest,
atest MagnificationControllerTest,
atest WindowMagnificationManagerTest,
atest WindowMagnificationControllerTest,
atest FullScreenMagnificationControllerTest,
Change-Id: Ia73195a71f55bb26ef3f2eafce0dc73d8a65583b
|
| |
|
|
|
|
|
|
|
|
|
| |
Root Cause: Accessibility Floating Menu was disapeared from aosp rom
because of the missing link in StatusBar.
Solution: Add back link in StatusBar.
Bug: 206387234, 207070761
Test: flash aosp rom & verify floating a11y button appears
Change-Id: Iabb30895757afa1debe21d676cba019fef5c7c4e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Detect triple-tap and hold gesture.
2. Magnify the content at a user's tap location.
3. Offset the frame to the top-left position about a half of frame size
4. The definition and the implementation of
WindowMagnificationController's getCenterX and getCenterY are different
due to these patches. We need to correct them. (ref: b/207812394)
Bug: 202465806
Test: atest IWindowMagnificationConnectionTest
atest MagnificationControllerTest
atest WindowMagnificationAnimationControllerTest (@Ignore)
atest WindowMagnificationConnectionWrapperTest
atest WindowMagnificationControllerTest
atest WindowMagnificationGestureHandlerTest
atest WindowMagnificationManagerTest
Change-Id: I59bf8a3e35e42c963de1698bec915a4a590e5c5f
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WindowMagnificationAnimationController
It reverses the relationship between
WindowMagnificationAnimationController and WindowMagnificationController
to simplify the further changes.
1. WindowMagnificationController has
WindowMagnificationAnimationController instance.
WindowMagnificationController is able to know if window
magnifier is animating or not.
If it is animating, the setScale() action or moveMagnifier() will
be interrupted.
2. ControllerSupplier supplies WindowMagnificationController in
WindowMagnification.class.
Bug: 206734640
Test: atest IWindowMagnificationConnectionTest,
atest WindowMagnificationAnimationControllerTest,
atest WindowMagnificationControllerTest,
atest WindowMagnificationTest,
Change-Id: Ibe3471dc99d1aed506b3fd04d12131321d82a07a
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To extend the magnification API to window magnification mode,
we support enabling the window magnification without animation.
Besides, we also disable the window magnification if the given scale
is less than or equal to 1.0f.
For the screen off scenario, we change to disable the window
magnification without animation.
Bug: 204844820
Test: atest com.android.systemui.accessibility
atest com.android.server.accessibility.magnification
Change-Id: I8a35492776f08ecee353f035a94a16fec8e61218
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Bug: 205725937
Test: manual
Change-Id: I045a8b4b21cae0f4a6e61502384e2b1a607bc1c6
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we only have a globale magnification mode which
is stored in settings. It ends up the mode is shared between
multi-displays. To provide better experience, we store the mode
for each none-default display until the device reboot,
and the default mode is full-screen.
Test: atest com.android.server.accessibility
atest com.android.systemui.accessibility
Bug: 194667380
Change-Id: I099e1ee945938aac07cc079f68bccbc745d40b08
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The window type of the Taskbar is navigation_bar_paenel, which
is unmagnifiable. However, we used to exclude these windows from
magnification region computation to avoid cutout.
When the foldables is unfolded, the taskbar wouldn't cause the cutout.
To fix this problem, so we add a flag to distinguish the windows
that cause the cutout.
Bug: 196510717
Test: manual test
atest AccessibilityManagerServiceTest
Change-Id: I882bf48585f646cee5827044c88da37250041c0f
|
| |\ |
|