diff --git a/core/jni/android/graphics/apex/android_bitmap.cpp b/core/jni/android/graphics/apex/android_bitmap.cpp
index 789d029..6628529 100644
--- a/core/jni/android/graphics/apex/android_bitmap.cpp
+++ b/core/jni/android/graphics/apex/android_bitmap.cpp
@@ -184,7 +184,7 @@
 
 class CompressWriter : public SkWStream {
 public:
-    CompressWriter(void* userContext, AndroidBitmap_compress_write_fn fn)
+    CompressWriter(void* userContext, AndroidBitmap_CompressWriteFunc fn)
           : mUserContext(userContext), mFn(fn), mBytesWritten(0) {}
 
     bool write(const void* buffer, size_t size) override {
@@ -199,7 +199,7 @@
 
 private:
     void* mUserContext;
-    AndroidBitmap_compress_write_fn mFn;
+    AndroidBitmap_CompressWriteFunc mFn;
     size_t mBytesWritten;
 };
 
@@ -207,7 +207,7 @@
 
 int ABitmap_compress(const AndroidBitmapInfo* info, ADataSpace dataSpace, const void* pixels,
                      AndroidBitmapCompressFormat inFormat, int32_t quality, void* userContext,
-                     AndroidBitmap_compress_write_fn fn) {
+                     AndroidBitmap_CompressWriteFunc fn) {
     Bitmap::JavaCompressFormat format;
     switch (inFormat) {
         case ANDROID_BITMAP_COMPRESS_FORMAT_JPEG:
diff --git a/core/jni/android/graphics/apex/include/android/graphics/bitmap.h b/core/jni/android/graphics/apex/include/android/graphics/bitmap.h
index 02ec655..45fec2ab 100644
--- a/core/jni/android/graphics/apex/include/android/graphics/bitmap.h
+++ b/core/jni/android/graphics/apex/include/android/graphics/bitmap.h
@@ -63,7 +63,7 @@
 // NDK access
 int ABitmap_compress(const AndroidBitmapInfo* info, ADataSpace dataSpace, const void* pixels,
                      AndroidBitmapCompressFormat format, int32_t quality, void* userContext,
-                     AndroidBitmap_compress_write_fn);
+                     AndroidBitmap_CompressWriteFunc);
 /**
  *  Retrieve the native object associated with a HARDWARE Bitmap.
  *
diff --git a/native/graphics/jni/bitmap.cpp b/native/graphics/jni/bitmap.cpp
index 4f21ccb..3d0fd254 100644
--- a/native/graphics/jni/bitmap.cpp
+++ b/native/graphics/jni/bitmap.cpp
@@ -96,7 +96,7 @@
                            const void* pixels,
                            int32_t format, int32_t quality,
                            void* userContext,
-                           AndroidBitmap_compress_write_fn fn) {
+                           AndroidBitmap_CompressWriteFunc fn) {
     if (NULL == info || NULL == pixels || NULL == fn) {
         return ANDROID_BITMAP_RESULT_BAD_PARAMETER;
     }
