Merge "Add unregisterCallback method to NotificationShadeWindowController" into sc-dev

This commit is contained in:
Steve Elliott
2021-05-26 17:02:27 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 0 deletions

View File

@@ -36,6 +36,12 @@ public interface NotificationShadeWindowController extends RemoteInputController
*/
default void registerCallback(StatusBarWindowCallback callback) {}
/**
* Unregisters a {@link StatusBarWindowCallback previous registered with
* {@link #registerCallback(StatusBarWindowCallback)}}
*/
default void unregisterCallback(StatusBarWindowCallback callback) {}
/** Notifies the registered {@link StatusBarWindowCallback} instances. */
default void notifyStateChangedCallbacks() {}

View File

@@ -152,6 +152,16 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
mCallbacks.add(new WeakReference<StatusBarWindowCallback>(callback));
}
@Override
public void unregisterCallback(StatusBarWindowCallback callback) {
for (int i = 0; i < mCallbacks.size(); i++) {
if (mCallbacks.get(i).get() == callback) {
mCallbacks.remove(i);
return;
}
}
}
/**
* Register a listener to monitor scrims visibility
* @param listener A listener to monitor scrims visibility