File tree Expand file tree Collapse file tree
android/src/main/java/com/margelo/nitro/image Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -30,10 +30,14 @@ class HybridImage: HybridImageSpec {
3030 this .bitmap = bitmap
3131 }
3232
33+ private val isGPU: Boolean
34+ get() {
35+ return Build .VERSION .SDK_INT >= Build .VERSION_CODES .O &&
36+ bitmap.config == Bitmap .Config .HARDWARE
37+ }
3338 private fun toByteBuffer (): ByteBuffer {
3439 var bitmap = bitmap
35- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .O &&
36- bitmap.config == Bitmap .Config .HARDWARE ) {
40+ if (isGPU) {
3741 // It's a GPU Bitmap - we need to copy it to CPU memory first.
3842 bitmap = bitmap.copy(Bitmap .Config .ARGB_8888 , false )
3943 }
@@ -44,8 +48,12 @@ class HybridImage: HybridImageSpec {
4448 }
4549
4650 override fun toArrayBuffer (): ArrayBuffer {
47- val buffer = toByteBuffer()
48- return ArrayBuffer .wrap(buffer)
51+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .S && isGPU) {
52+ return ArrayBuffer .wrap(bitmap.hardwareBuffer)
53+ } else {
54+ val buffer = toByteBuffer()
55+ return ArrayBuffer .wrap(buffer)
56+ }
4957 }
5058
5159 override fun toArrayBufferAsync (): Promise <ArrayBuffer > {
Original file line number Diff line number Diff line change 4747 - ReactCommon/turbomodule/core
4848 - SDWebImage
4949 - Yoga
50- - NitroModules (0.26.2 ):
50+ - NitroModules (0.26.3 ):
5151 - DoubleConversion
5252 - glog
5353 - hermes-engine
@@ -2107,7 +2107,7 @@ SPEC CHECKSUMS:
21072107 hermes-engine: 94ed01537bdeccaab1adbf94b040d115d6fa1a7f
21082108 libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
21092109 NitroImage: 97d130b01c525a52743248ce649c7fe27a55f710
2110- NitroModules: ccf2db518daf271800221ef472938a324672ff71
2110+ NitroModules: f36b94e48ff1705fc6b84bc1953f40e2da4196c2
21112111 RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82
21122112 RCTDeprecation: c3e3f5b4ea83e7ff3bc86ce09e2a54b7affd687d
21132113 RCTRequired: ee438439880dffc9425930d1dd1a3c883ee6879c
Original file line number Diff line number Diff line change 1616 "react-native" : " 0.79.3" ,
1717 "react-native-fast-image" : " ^8.6.3" ,
1818 "react-native-nitro-image" : " .." ,
19- "react-native-nitro-modules" : " ^0.26.2 " ,
19+ "react-native-nitro-modules" : " ^0.26.3 " ,
2020 "react-native-safe-area-context" : " ^5.4.1" ,
2121 "react-native-screens" : " ^4.11.1"
2222 },
You can’t perform that action at this time.
0 commit comments