Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 36 additions & 27 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -6345,51 +6345,57 @@ public final class com/facebook/react/views/image/ImageResizeMode {
public static final fun toTileMode (Ljava/lang/String;)Landroid/graphics/Shader$TileMode;
}

public class com/facebook/react/views/image/MultiPostprocessor : com/facebook/imagepipeline/request/Postprocessor {
public static fun from (Ljava/util/List;)Lcom/facebook/imagepipeline/request/Postprocessor;
public final class com/facebook/react/views/image/MultiPostprocessor : com/facebook/imagepipeline/request/Postprocessor {
public static final field Companion Lcom/facebook/react/views/image/MultiPostprocessor$Companion;
public synthetic fun <init> (Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public static final fun from (Ljava/util/List;)Lcom/facebook/imagepipeline/request/Postprocessor;
public fun getName ()Ljava/lang/String;
public fun getPostprocessorCacheKey ()Lcom/facebook/cache/common/CacheKey;
public fun process (Landroid/graphics/Bitmap;Lcom/facebook/imagepipeline/bitmaps/PlatformBitmapFactory;)Lcom/facebook/common/references/CloseableReference;
}

public final class com/facebook/react/views/image/MultiPostprocessor$Companion {
public final fun from (Ljava/util/List;)Lcom/facebook/imagepipeline/request/Postprocessor;
}

public abstract interface class com/facebook/react/views/image/ReactCallerContextFactory {
public abstract fun getOrCreateCallerContext (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
}

public class com/facebook/react/views/image/ReactImageManager : com/facebook/react/uimanager/SimpleViewManager {
public final class com/facebook/react/views/image/ReactImageManager : com/facebook/react/uimanager/SimpleViewManager {
public static final field Companion Lcom/facebook/react/views/image/ReactImageManager$Companion;
public static final field REACT_CLASS Ljava/lang/String;
public fun <init> ()V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;)V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/GlobalImageLoadListener;)V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/GlobalImageLoadListener;Lcom/facebook/react/views/image/ReactCallerContextFactory;)V
public synthetic fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/GlobalImageLoadListener;Lcom/facebook/react/views/image/ReactCallerContextFactory;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/GlobalImageLoadListener;Ljava/lang/Object;)V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/ReactCallerContextFactory;)V
public fun <init> (Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Ljava/lang/Object;)V
public synthetic fun createViewInstance (Lcom/facebook/react/uimanager/ThemedReactContext;)Landroid/view/View;
public fun createViewInstance (Lcom/facebook/react/uimanager/ThemedReactContext;)Lcom/facebook/react/views/image/ReactImageView;
public fun getCallerContext ()Ljava/lang/Object;
public fun getDraweeControllerBuilder ()Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;
public fun getExportedCustomDirectEventTypeConstants ()Ljava/util/Map;
public fun getName ()Ljava/lang/String;
protected synthetic fun onAfterUpdateTransaction (Landroid/view/View;)V
protected fun onAfterUpdateTransaction (Lcom/facebook/react/views/image/ReactImageView;)V
public fun setAccessible (Lcom/facebook/react/views/image/ReactImageView;Z)V
public fun setBlurRadius (Lcom/facebook/react/views/image/ReactImageView;F)V
public fun setBorderColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
public fun setBorderRadius (Lcom/facebook/react/views/image/ReactImageView;IF)V
public fun setBorderWidth (Lcom/facebook/react/views/image/ReactImageView;F)V
public fun setDefaultSource (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public fun setFadeDuration (Lcom/facebook/react/views/image/ReactImageView;I)V
public fun setHeaders (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableMap;)V
public fun setInternal_AnalyticsTag (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public fun setLoadHandlersRegistered (Lcom/facebook/react/views/image/ReactImageView;Z)V
public fun setLoadingIndicatorSource (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public fun setOverlayColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
public fun setProgressiveRenderingEnabled (Lcom/facebook/react/views/image/ReactImageView;Z)V
public fun setResizeMethod (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public fun setResizeMode (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public fun setResizeMultiplier (Lcom/facebook/react/views/image/ReactImageView;F)V
public fun setSource (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableArray;)V
public fun setSrc (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableArray;)V
public fun setTintColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
public synthetic fun onAfterUpdateTransaction (Landroid/view/View;)V
public final fun setAccessible (Lcom/facebook/react/views/image/ReactImageView;Z)V
public final fun setBlurRadius (Lcom/facebook/react/views/image/ReactImageView;F)V
public final fun setBorderColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
public final fun setBorderRadius (Lcom/facebook/react/views/image/ReactImageView;IF)V
public final fun setBorderWidth (Lcom/facebook/react/views/image/ReactImageView;F)V
public final fun setDefaultSource (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public final fun setFadeDuration (Lcom/facebook/react/views/image/ReactImageView;I)V
public final fun setHeaders (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableMap;)V
public final fun setInternal_AnalyticsTag (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public final fun setLoadHandlersRegistered (Lcom/facebook/react/views/image/ReactImageView;Z)V
public final fun setLoadingIndicatorSource (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public final fun setOverlayColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
public final fun setProgressiveRenderingEnabled (Lcom/facebook/react/views/image/ReactImageView;Z)V
public final fun setResizeMethod (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public final fun setResizeMode (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;)V
public final fun setResizeMultiplier (Lcom/facebook/react/views/image/ReactImageView;F)V
public final fun setSource (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableArray;)V
public final fun setSrc (Lcom/facebook/react/views/image/ReactImageView;Lcom/facebook/react/bridge/ReadableArray;)V
public final fun setTintColor (Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/Integer;)V
}

public class com/facebook/react/views/image/ReactImageManager$$PropsSetter : com/facebook/react/uimanager/ViewManagerPropertyUpdater$ViewManagerSetter {
Expand All @@ -6399,6 +6405,9 @@ public class com/facebook/react/views/image/ReactImageManager$$PropsSetter : com
public fun setProperty (Lcom/facebook/react/views/image/ReactImageManager;Lcom/facebook/react/views/image/ReactImageView;Ljava/lang/String;Ljava/lang/Object;)V
}

public final class com/facebook/react/views/image/ReactImageManager$Companion {
}

public class com/facebook/react/views/image/ReactImageView : com/facebook/drawee/view/GenericDraweeView {
public static final field REMOTE_IMAGE_FADE_DURATION_MS I
public fun <init> (Landroid/content/Context;Lcom/facebook/drawee/controller/AbstractDraweeControllerBuilder;Lcom/facebook/react/views/image/GlobalImageLoadListener;Ljava/lang/Object;)V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package com.facebook.react.modules.fresco;

import androidx.annotation.Nullable;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
import com.facebook.react.bridge.ReadableMap;
Expand All @@ -15,18 +16,19 @@
public class ReactNetworkImageRequest extends ImageRequest {

/** Headers for the request */
private final ReadableMap mHeaders;
@Nullable private final ReadableMap mHeaders;

public static ReactNetworkImageRequest fromBuilderWithHeaders(
ImageRequestBuilder builder, ReadableMap headers) {
ImageRequestBuilder builder, @Nullable ReadableMap headers) {
return new ReactNetworkImageRequest(builder, headers);
}

protected ReactNetworkImageRequest(ImageRequestBuilder builder, ReadableMap headers) {
protected ReactNetworkImageRequest(ImageRequestBuilder builder, @Nullable ReadableMap headers) {
super(builder);
mHeaders = headers;
}

@Nullable
public ReadableMap getHeaders() {
return mHeaders;
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

package com.facebook.react.views.image

import android.graphics.Bitmap
import com.facebook.cache.common.CacheKey
import com.facebook.cache.common.MultiCacheKey
import com.facebook.common.references.CloseableReference
import com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory
import com.facebook.imagepipeline.request.Postprocessor
import java.util.LinkedList

public class MultiPostprocessor private constructor(postprocessors: List<Postprocessor>) :
Postprocessor {

private val postprocessors: List<Postprocessor> = LinkedList(postprocessors)

override fun getName(): String = "MultiPostProcessor (${postprocessors.joinToString(",")})"

override fun getPostprocessorCacheKey(): CacheKey =
MultiCacheKey(postprocessors.map { it.postprocessorCacheKey })

public override fun process(
sourceBitmap: Bitmap,
bitmapFactory: PlatformBitmapFactory
): CloseableReference<Bitmap> {
var prevBitmap: CloseableReference<Bitmap>? = null
var nextBitmap: CloseableReference<Bitmap>? = null

try {
for (p in postprocessors) {
nextBitmap = p.process(prevBitmap?.get() ?: sourceBitmap, bitmapFactory)
CloseableReference.closeSafely(prevBitmap)
prevBitmap = nextBitmap.clone()
}
checkNotNull(nextBitmap) {
("MultiPostprocessor returned null bitmap - Number of Postprocessors: " +
postprocessors.size)
}
return nextBitmap.clone()
} finally {
CloseableReference.closeSafely(nextBitmap)
}
}

public companion object {
@JvmStatic
public fun from(postprocessors: List<Postprocessor>): Postprocessor? {
return when (postprocessors.size) {
0 -> null
1 -> postprocessors[0]
else -> MultiPostprocessor(postprocessors)
}
}
}
}
Loading