diff options
author | Leon Scroggins III <scroggo@google.com> | 2019-04-15 13:52:19 -0400 |
---|---|---|
committer | Leon Scroggins <scroggo@google.com> | 2019-04-25 16:48:08 +0000 |
commit | 3e2d7b7fe053d61c46525bb12c1789897946e688 (patch) | |
tree | be60e7660619db159c119ffbdff35e1acddf2c6a /services/contentsuggestions | |
parent | 18184f9c86565f27efa74b317ab464dee1c6b94c (diff) |
Pass ColorSpace along with HardwareBuffers
Bug: 130148101
Bug: 120904891
Test: I3bdb6a7edbab4b9b8f13d4597e5987e6db6fe928
Bitmap#wrapHardwareBuffer defaults to using the SRGB ColorSpace (i.e. if
null is supplied), but it's possible that where the HardwareBuffer was
originally used, it was associated with a different ColorSpace. Update
clients of this API to pass that ColorSpace.
Pass the ColorSpace's ID. This results in only supporting Named
ColorSpaces, which matches some of our other ColorSpace support, and
should be enough for most use cases.
Change-Id: I02460f079ed467199f368b4a4fd7708d6fa5433a
Diffstat (limited to 'services/contentsuggestions')
2 files changed, 10 insertions, 3 deletions
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java index 9b70272ed952..770931179c5e 100644 --- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java +++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java @@ -28,6 +28,7 @@ import android.app.contentsuggestions.SelectionsRequest; import android.content.ComponentName; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; +import android.graphics.ColorSpace; import android.graphics.GraphicBuffer; import android.os.Bundle; import android.os.RemoteException; @@ -99,11 +100,17 @@ public final class ContentSuggestionsPerUserService extends ActivityManager.TaskSnapshot snapshot = mActivityTaskManagerInternal.getTaskSnapshot(taskId, false); GraphicBuffer snapshotBuffer = null; + int colorSpaceId = 0; if (snapshot != null) { snapshotBuffer = snapshot.getSnapshot(); + ColorSpace colorSpace = snapshot.getColorSpace(); + if (colorSpace != null) { + colorSpaceId = colorSpace.getId(); + } } - service.provideContextImage(taskId, snapshotBuffer, imageContextRequestExtras); + service.provideContextImage(taskId, snapshotBuffer, colorSpaceId, + imageContextRequestExtras); } } diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java index 4b36352bac51..a8b7b814a9ba 100644 --- a/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java +++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java @@ -68,9 +68,9 @@ public class RemoteContentSuggestionsService extends } void provideContextImage(int taskId, @Nullable GraphicBuffer contextImage, - @NonNull Bundle imageContextRequestExtras) { + int colorSpaceId, @NonNull Bundle imageContextRequestExtras) { scheduleAsyncRequest((s) -> s.provideContextImage(taskId, contextImage, - imageContextRequestExtras)); + colorSpaceId, imageContextRequestExtras)); } void suggestContentSelections( |