diff --git a/android/src/main/java/com/wix/RNCameraKit/gallery/GalleryAdapter.java b/android/src/main/java/com/wix/RNCameraKit/gallery/GalleryAdapter.java index 1e890a4..d7e5e7c 100644 --- a/android/src/main/java/com/wix/RNCameraKit/gallery/GalleryAdapter.java +++ b/android/src/main/java/com/wix/RNCameraKit/gallery/GalleryAdapter.java @@ -126,7 +126,6 @@ public class GalleryAdapter extends RecyclerView.Adapter { public static final int COMMAND_REFRESH_GALLERY = 1; + private ThemedReactContext reactContext; @Override public String getName() { @@ -32,6 +34,7 @@ public class GalleryViewManager extends SimpleViewManager { @Override protected GalleryView createViewInstance(ThemedReactContext reactContext) { + this.reactContext = reactContext; return new GalleryView(reactContext); } @@ -65,15 +68,35 @@ public class GalleryViewManager extends SimpleViewManager { } @ReactProp(name = "selectedImageIcon") - public void setSelectedImage(GalleryView view, String imageSource) { - Drawable drawable = ResourceDrawableIdHelper.getIcon(view.getContext(), imageSource); - view.setSelectedDrawable(drawable); + public void setSelectedImage(final GalleryView view, final String imageSource) { + new Thread(new Runnable() { + @Override + public void run() { + final Drawable drawable = ResourceDrawableIdHelper.getIcon(view.getContext(), imageSource); + reactContext.runOnUiQueueThread(new Runnable() { + @Override + public void run() { + view.setSelectedDrawable(drawable); + } + }); + } + }).start(); } @ReactProp(name = "unSelectedImageIcon") - public void setUnelectedImage(GalleryView view, String imageSource) { - Drawable drawable = ResourceDrawableIdHelper.getIcon(view.getContext(), imageSource); - view.setUnselectedDrawable(drawable); + public void setUnselectedImage(final GalleryView view, final String imageSource) { + new Thread(new Runnable() { + @Override + public void run() { + final Drawable drawable = ResourceDrawableIdHelper.getIcon(view.getContext(), imageSource); + reactContext.runOnUiQueueThread(new Runnable() { + @Override + public void run() { + view.setUnselectedDrawable(drawable); + } + }); + } + }).start(); } @Nullable