Clear PredictorState targets when it's re-registered

- After SUW, registerPredictor is called for hotseat, and then BaseLauncherBinder will call bindExtraContainerItems with empty items. A subsequent registerPredictor will then be triggered by LoadTask, but handleUpdate will skip the update due to no diff in PredictorState targets. As a result, HotseatPredictionController always have no items after SUW
- Clearing PredictorState when it's re-registerted will allow the respective prediction controller to receive new prediction items that comes with the registration.

Fix: 265340241
Test: Factory reset, pass SUW, prediction items are in hotseat
Test: Reboot, prediction items are in hotseat
Change-Id: Ie6e219028e7fde42854459d34806a04052dc41ba
This commit is contained in:
Alex Chau
2023-01-31 19:23:27 +00:00
parent 526e168906
commit e5c1edb31b

View File

@@ -306,6 +306,7 @@ public class QuickstepModelDelegate extends ModelDelegate {
}
private void registerPredictor(PredictorState state, AppPredictor predictor) {
state.setTargets(Collections.emptyList());
state.predictor = predictor;
state.predictor.registerPredictionUpdates(
MODEL_EXECUTOR, t -> handleUpdate(state, t));