Determine rear display status only based on device states
onRequestCanceled callback came before device state callback, which caused updateRearDisplayStatusListeners in line 553 to call back with STATUS_ACTIVE after the cancelation callback. onRequestActivated and onRequestCanceled don't need to update rear display status listeners, because there are always device state callbacks that will trigger updateRearDisplayStatusListeners. Bug: 264962409 Test: atest ExtensionRearDisplayTest Change-Id: Ibaf8ecfa3da8544a4a07ee803989fa136200c350
This commit is contained in:
@@ -414,8 +414,7 @@ public class WindowAreaComponentImpl implements WindowAreaComponent,
|
||||
return WindowAreaComponent.STATUS_UNAVAILABLE;
|
||||
}
|
||||
|
||||
if (mRearDisplaySessionStatus == WindowAreaComponent.SESSION_STATE_ACTIVE
|
||||
|| isRearDisplayActive()) {
|
||||
if (isRearDisplayActive()) {
|
||||
return WindowAreaComponent.STATUS_ACTIVE;
|
||||
}
|
||||
|
||||
@@ -537,7 +536,6 @@ public class WindowAreaComponentImpl implements WindowAreaComponent,
|
||||
if (request.equals(mRearDisplayStateRequest)) {
|
||||
mRearDisplaySessionStatus = WindowAreaComponent.SESSION_STATE_ACTIVE;
|
||||
mRearDisplaySessionCallback.accept(mRearDisplaySessionStatus);
|
||||
updateRearDisplayStatusListeners(getCurrentRearDisplayModeStatus());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -550,7 +548,6 @@ public class WindowAreaComponentImpl implements WindowAreaComponent,
|
||||
}
|
||||
mRearDisplaySessionStatus = WindowAreaComponent.SESSION_STATE_INACTIVE;
|
||||
mRearDisplaySessionCallback.accept(mRearDisplaySessionStatus);
|
||||
updateRearDisplayStatusListeners(getCurrentRearDisplayModeStatus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user