Merge "Minimal change to ensure events are propagated to the right DividerView." into oc-dev
am: b1cdc17dfb
Change-Id: I987d923b923e289baa76d5155cf6a7fe4d9ece6a
This commit is contained in:
@@ -25,6 +25,8 @@ import android.view.View;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SystemUI;
|
import com.android.systemui.SystemUI;
|
||||||
import com.android.systemui.recents.Recents;
|
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 com.android.systemui.recents.misc.SystemServicesProxy;
|
||||||
|
|
||||||
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
||||||
@@ -56,6 +58,7 @@ public class Divider extends SystemUI {
|
|||||||
SystemServicesProxy ssp = Recents.getSystemServices();
|
SystemServicesProxy ssp = Recents.getSystemServices();
|
||||||
ssp.registerDockedStackListener(mDockDividerVisibilityListener);
|
ssp.registerDockedStackListener(mDockDividerVisibilityListener);
|
||||||
mForcedResizableController = new ForcedResizableInfoActivityController(mContext);
|
mForcedResizableController = new ForcedResizableInfoActivityController(mContext);
|
||||||
|
EventBus.getDefault().register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -153,6 +156,18 @@ public class Divider extends SystemUI {
|
|||||||
mWindowManager.setTouchable((mHomeStackResizable || !mMinimized) && !mAdjustedForIme);
|
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
|
@Override
|
||||||
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
|
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
|
||||||
pw.print(" mVisible="); pw.println(mVisible);
|
pw.print(" mVisible="); pw.println(mVisible);
|
||||||
|
|||||||
@@ -1224,7 +1224,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
|||||||
mSnapAlgorithm.getMiddleTarget());
|
mSnapAlgorithm.getMiddleTarget());
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void onBusEvent(RecentsDrawnEvent drawnEvent) {
|
public void onRecentsDrawn() {
|
||||||
if (mState.animateAfterRecentsDrawn) {
|
if (mState.animateAfterRecentsDrawn) {
|
||||||
mState.animateAfterRecentsDrawn = false;
|
mState.animateAfterRecentsDrawn = false;
|
||||||
updateDockSide();
|
updateDockSide();
|
||||||
|
|||||||
Reference in New Issue
Block a user