Add public API for @hidden Bitmap#createAshmemBitmap
Bug: 150395371 Test: I442cd0c7a849e4c6a2fe7ba21b25a6e44417bbf5 The system needs to move off of @hidden Bitmap APIs so Bitmap can move to a mainline module. It is valuable to provide a public way for clients to create a Bitmap backed by ashmem, and the method's usage level is HIGH. As I understand it, ashmem is being deprecated, so make the new name more general: #asShared(). This method calls createAshmemBitmap(), which must continue to exist for now due to the greylist. Add a maxTargetSdk and publicAlternatives to move clients to the new method. Mark asShared as @NonNull. It should only fail due to a failure to allocate the shared memory. Throw a RunTimeException in this (rare) case. Add a (private) native method to check whether the Bitmap is already backed by ashmem so it can skip the copy as necessary. Remove outdated comments in both createAshmemBitmap methods regarding SRGB. The new Bitmap will have the same ColorSpace as the original. Remove the Config param from DisplayContent#screenshotLocked. It is only ever called with ARGB_8888, which matches the ScreenshotGraphicBuffer it is copied from. This means Bitmap#createAshmemBitmap(Config) does not need a public version. It may need to continue to exist due to @UnsupportedAppUsage. Change-Id: I359187a5c70b5e241c7f5879d50fde2a7449c818
Loading
Please register or sign in to comment