Merge "Add method for adding expansion listener without firing event" into udc-dev am: 38d07cba1c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23035507

Change-Id: I6a384156b7d81cefc90e19d05508859a7f7bdd40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Justin Weir
2023-05-08 19:34:29 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 2 deletions

View File

@@ -21,7 +21,7 @@ constructor(
fun enable(onPanelInteraction: Runnable) { fun enable(onPanelInteraction: Runnable) {
if (action == null) { if (action == null) {
action = Action(onPanelInteraction) action = Action(onPanelInteraction)
shadeExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged) shadeExpansionStateManager.addShadeExpansionListener(this::onPanelExpansionChanged)
} else { } else {
Log.e(TAG, "Already enabled") Log.e(TAG, "Already enabled")
} }

View File

@@ -54,12 +54,20 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {
* Listener will also be immediately notified with the current values. * Listener will also be immediately notified with the current values.
*/ */
fun addExpansionListener(listener: ShadeExpansionListener) { fun addExpansionListener(listener: ShadeExpansionListener) {
expansionListeners.add(listener) addShadeExpansionListener(listener)
listener.onPanelExpansionChanged( listener.onPanelExpansionChanged(
ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount) ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount)
) )
} }
/**
* Adds a listener that will be notified when the panel expansion fraction has changed.
* @see #addExpansionListener
*/
fun addShadeExpansionListener(listener: ShadeExpansionListener) {
expansionListeners.add(listener)
}
/** Removes an expansion listener. */ /** Removes an expansion listener. */
fun removeExpansionListener(listener: ShadeExpansionListener) { fun removeExpansionListener(listener: ShadeExpansionListener) {
expansionListeners.remove(listener) expansionListeners.remove(listener)