diff options
| author | 2023-09-01 02:05:02 +0000 | |
|---|---|---|
| committer | 2023-09-06 19:57:26 +0000 | |
| commit | 706b900f178da9b248fdbd4a00ce63f6ab1a506c (patch) | |
| tree | e32029e6fada436afb7e0b301400f729157dab4a | |
| parent | bf8019c0fd2c60b4bc826fd7e7f4570da879617f (diff) | |
Invoke the correct callback for TOO_MANY_REQUESTS and PENDING responses.
Bug: 298536057
Test: atest CtsWallpaperEffectsGenerationServiceTestCases
Change-Id: I09ae35f7f61db8f5e99f2dccab8191d1ea7294c0
| -rw-r--r-- | services/wallpapereffectsgeneration/java/com/android/server/wallpapereffectsgeneration/WallpaperEffectsGenerationPerUserService.java | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/services/wallpapereffectsgeneration/java/com/android/server/wallpapereffectsgeneration/WallpaperEffectsGenerationPerUserService.java b/services/wallpapereffectsgeneration/java/com/android/server/wallpapereffectsgeneration/WallpaperEffectsGenerationPerUserService.java index 3870dfd17d50..4f99f14e4dc1 100644 --- a/services/wallpapereffectsgeneration/java/com/android/server/wallpapereffectsgeneration/WallpaperEffectsGenerationPerUserService.java +++ b/services/wallpapereffectsgeneration/java/com/android/server/wallpapereffectsgeneration/WallpaperEffectsGenerationPerUserService.java @@ -95,21 +95,29 @@ public class WallpaperEffectsGenerationPerUserService extends String newTaskId = cinematicEffectRequest.getTaskId(); // Previous request is still being processed. if (mCinematicEffectListenerWrapper != null) { + CinematicEffectResponse cinematicEffectResponse; if (mCinematicEffectListenerWrapper.mTaskId.equals(newTaskId)) { - invokeCinematicListenerAndCleanup( - new CinematicEffectResponse.Builder( - CinematicEffectResponse.CINEMATIC_EFFECT_STATUS_PENDING, newTaskId) - .build() - ); + cinematicEffectResponse = new CinematicEffectResponse.Builder( + CinematicEffectResponse.CINEMATIC_EFFECT_STATUS_PENDING, newTaskId) + .build(); } else { - invokeCinematicListenerAndCleanup( - new CinematicEffectResponse.Builder( - CinematicEffectResponse.CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS, - newTaskId).build() - ); + cinematicEffectResponse = new CinematicEffectResponse.Builder( + CinematicEffectResponse.CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS, + newTaskId) + .build(); + } + try { + cinematicEffectListener.onCinematicEffectGenerated(cinematicEffectResponse); + return; + } catch (RemoteException e) { + if (isDebug()) { + Slog.w(TAG, "RemoteException invoking cinematic effect listener for task[" + + mCinematicEffectListenerWrapper.mTaskId + "]"); + } + return; } - return; } + RemoteWallpaperEffectsGenerationService remoteService = ensureRemoteServiceLocked(); if (remoteService != null) { remoteService.executeOnResolvedService( |