Merge "Minimal change to ensure events are propagated to the right DividerView." into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b1cdc17dfb
@@ -25,6 +25,8 @@ import android.view.View;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SystemUI;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.events.EventBus;
|
||||
import com.android.systemui.recents.events.ui.RecentsDrawnEvent;
|
||||
import com.android.systemui.recents.misc.SystemServicesProxy;
|
||||
|
||||
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
||||
@@ -56,6 +58,7 @@ public class Divider extends SystemUI {
|
||||
SystemServicesProxy ssp = Recents.getSystemServices();
|
||||
ssp.registerDockedStackListener(mDockDividerVisibilityListener);
|
||||
mForcedResizableController = new ForcedResizableInfoActivityController(mContext);
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -153,6 +156,18 @@ public class Divider extends SystemUI {
|
||||
mWindowManager.setTouchable((mHomeStackResizable || !mMinimized) && !mAdjustedForIme);
|
||||
}
|
||||
|
||||
/**
|
||||
* Workaround for b/62528361, at the time RecentsDrawnEvent is sent, it may happen before a
|
||||
* configuration change to the Divider, and internally, the event will be posted to the
|
||||
* subscriber, or DividerView, which has been removed and prevented from resizing. Instead,
|
||||
* register the event handler here and proxy the event to the current DividerView.
|
||||
*/
|
||||
public final void onBusEvent(RecentsDrawnEvent drawnEvent) {
|
||||
if (mView != null) {
|
||||
mView.onRecentsDrawn();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
|
||||
pw.print(" mVisible="); pw.println(mVisible);
|
||||
|
||||
@@ -1222,7 +1222,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
||||
mSnapAlgorithm.getMiddleTarget());
|
||||
}
|
||||
|
||||
public final void onBusEvent(RecentsDrawnEvent drawnEvent) {
|
||||
public void onRecentsDrawn() {
|
||||
if (mState.animateAfterRecentsDrawn) {
|
||||
mState.animateAfterRecentsDrawn = false;
|
||||
updateDockSide();
|
||||
|
||||
Reference in New Issue
Block a user