Merge "Remove played transitions from KGTransitionHandler" into udc-dev
This commit is contained in:
@@ -186,6 +186,7 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler
|
|||||||
public void onTransitionFinished(
|
public void onTransitionFinished(
|
||||||
WindowContainerTransaction wct, SurfaceControl.Transaction sct) {
|
WindowContainerTransaction wct, SurfaceControl.Transaction sct) {
|
||||||
mMainExecutor.execute(() -> {
|
mMainExecutor.execute(() -> {
|
||||||
|
mStartedTransitions.remove(transition);
|
||||||
finishCallback.onTransitionFinished(wct, null);
|
finishCallback.onTransitionFinished(wct, null);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -217,14 +218,17 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler
|
|||||||
// the device sleeping/waking, so it's best to ignore this and keep playing anyway.
|
// the device sleeping/waking, so it's best to ignore this and keep playing anyway.
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
finishAnimationImmediately(currentTransition);
|
finishAnimationImmediately(currentTransition, playing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTransitionConsumed(IBinder transition, boolean aborted,
|
public void onTransitionConsumed(IBinder transition, boolean aborted,
|
||||||
SurfaceControl.Transaction finishTransaction) {
|
SurfaceControl.Transaction finishTransaction) {
|
||||||
finishAnimationImmediately(transition);
|
final IRemoteTransition playing = mStartedTransitions.remove(transition);
|
||||||
|
if (playing != null) {
|
||||||
|
finishAnimationImmediately(transition, playing);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -234,10 +238,7 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void finishAnimationImmediately(IBinder transition) {
|
private void finishAnimationImmediately(IBinder transition, IRemoteTransition playing) {
|
||||||
final IRemoteTransition playing = mStartedTransitions.get(transition);
|
|
||||||
|
|
||||||
if (playing != null) {
|
|
||||||
final IBinder fakeTransition = new Binder();
|
final IBinder fakeTransition = new Binder();
|
||||||
final TransitionInfo fakeInfo = new TransitionInfo(TRANSIT_SLEEP, 0x0);
|
final TransitionInfo fakeInfo = new TransitionInfo(TRANSIT_SLEEP, 0x0);
|
||||||
final SurfaceControl.Transaction fakeT = new SurfaceControl.Transaction();
|
final SurfaceControl.Transaction fakeT = new SurfaceControl.Transaction();
|
||||||
@@ -250,7 +251,6 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler
|
|||||||
Log.wtf(TAG, "RemoteException thrown from KeyguardService transition", e);
|
Log.wtf(TAG, "RemoteException thrown from KeyguardService transition", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static class FakeFinishCallback extends IRemoteTransitionFinishedCallback.Stub {
|
private static class FakeFinishCallback extends IRemoteTransitionFinishedCallback.Stub {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user