Skip to content

Commit

Permalink
Merge pull request #156 from shafiqaiman96/main
Browse files Browse the repository at this point in the history
fix fix imported variable not found in new gradle version
  • Loading branch information
baronha authored Jul 18, 2024
2 parents fa82a3f + 114fd52 commit 1cbe548
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 85 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,24 @@ class GlideEngine private constructor() : ImageEngine {
return
}
Glide.with(context)
.load(url)
.into(imageView)
.load(url)
.into(imageView)
}

override fun loadImage(
context: Context,
imageView: ImageView,
url: String,
maxWidth: Int,
maxHeight: Int
context: Context,
imageView: ImageView,
url: String,
maxWidth: Int,
maxHeight: Int
) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return
}
Glide.with(context)
.load(url)
.override(maxWidth, maxHeight)
.into(imageView)
.load(url)
.override(maxWidth, maxHeight)
.into(imageView)
}

/**
Expand All @@ -59,13 +59,12 @@ class GlideEngine private constructor() : ImageEngine {
return
}
Glide.with(context)
.asBitmap()
.load(url)
.override(180, 180)
.sizeMultiplier(0.5f)
.transform(CenterCrop(), RoundedCorners(8))
.placeholder(R.drawable.ps_image_placeholder)
.into(imageView)
.asBitmap()
.load(url)
.override(180, 180)
.sizeMultiplier(0.5f)
.transform(CenterCrop(), RoundedCorners(8))
.into(imageView)
}

/**
Expand All @@ -80,11 +79,11 @@ class GlideEngine private constructor() : ImageEngine {
return
}
Glide.with(context)
.load(url)
.override(200, 200)
.centerCrop()
.placeholder(R.drawable.ps_image_placeholder)
.into(imageView)
.load(url)
.override(200, 200)
.centerCrop()
.placeholder(com.luck.picture.lib.R.drawable.ps_image_placeholder)
.into(imageView)
}

override fun pauseRequests(context: Context) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.reactnativemultipleimagepicker

import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Color
Expand All @@ -20,6 +21,7 @@ import com.luck.picture.lib.entity.LocalMedia.generateLocalMedia
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.luck.picture.lib.style.*
import com.luck.picture.lib.utils.StyleUtils
import com.reactnativemultipleimagepicker.R.color.app_color_black
import com.yalantis.ucrop.UCrop
import com.yalantis.ucrop.UCrop.Options
import java.io.*
Expand All @@ -28,7 +30,7 @@ import java.util.*

@Suppress("INCOMPATIBLE_ENUM_COMPARISON", "UNCHECKED_CAST")
class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
ReactContextBaseJavaModule(reactContext), IApp {
ReactContextBaseJavaModule(reactContext), IApp {

override fun getName(): String {
return "MultipleImagePicker"
Expand Down Expand Up @@ -60,48 +62,48 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
setConfiguration(options)

PictureSelector.create(activity)
.openGallery(if (mediaType == "video") SelectMimeType.ofVideo() else if (mediaType == "image") SelectMimeType.ofImage() else SelectMimeType.ofAll())
.setImageEngine(imageEngine)
.setMaxSelectNum(maxSelectedAssets)
.setImageSpanCount(numberOfColumn)
.setCropEngine(onSetCropEngine())
.isDirectReturnSingle(true)
.isSelectZoomAnim(true)
.isPageStrategy(true, 50)
.isWithSelectVideoImage(true)
.setRecordVideoMaxSecond(maxVideoDuration)
.setMaxVideoSelectNum(if (maxVideo != 20) maxVideo else maxSelectedAssets)
.isMaxSelectEnabledMask(true)
.setSelectedData(selectedAssets)
.setSelectorUIStyle(style)
.isPreviewImage(isPreview)
.isPreviewVideo(isPreview)
.isDisplayCamera(isCamera)
.setSelectionMode(if (singleSelectedMode) SelectModeConfig.SINGLE else SelectModeConfig.MULTIPLE)
.forResult(object : OnResultCallbackListener<LocalMedia?> {
override fun onResult(result: ArrayList<LocalMedia?>?) {
val localMedia: WritableArray = WritableNativeArray()
if (result?.size == 0) {
promise.resolve(localMedia)
return
}
if (result?.size == selectedAssets.size && (result[result.size - 1] as LocalMedia).id == (selectedAssets[selectedAssets.size - 1].id)) {
return
}
if (result != null) {
for (i in 0 until result.size) {
val item: LocalMedia = result[i] as LocalMedia
val media: WritableMap = createAttachmentResponse(item)
localMedia.pushMap(media)
.openGallery(if (mediaType == "video") SelectMimeType.ofVideo() else if (mediaType == "image") SelectMimeType.ofImage() else SelectMimeType.ofAll())
.setImageEngine(imageEngine)
.setMaxSelectNum(maxSelectedAssets)
.setImageSpanCount(numberOfColumn)
.setCropEngine(onSetCropEngine())
.isDirectReturnSingle(true)
.isSelectZoomAnim(true)
.isPageStrategy(true, 50)
.isWithSelectVideoImage(true)
.setRecordVideoMaxSecond(maxVideoDuration)
.setMaxVideoSelectNum(if (maxVideo != 20) maxVideo else maxSelectedAssets)
.isMaxSelectEnabledMask(true)
.setSelectedData(selectedAssets)
.setSelectorUIStyle(style)
.isPreviewImage(isPreview)
.isPreviewVideo(isPreview)
.isDisplayCamera(isCamera)
.setSelectionMode(if (singleSelectedMode) SelectModeConfig.SINGLE else SelectModeConfig.MULTIPLE)
.forResult(object : OnResultCallbackListener<LocalMedia?> {
override fun onResult(result: ArrayList<LocalMedia?>?) {
val localMedia: WritableArray = WritableNativeArray()
if (result?.size == 0) {
promise.resolve(localMedia)
return
}
if (result?.size == selectedAssets.size && (result[result.size - 1] as LocalMedia).id == (selectedAssets[selectedAssets.size - 1].id)) {
return
}
if (result != null) {
for (i in 0 until result.size) {
val item: LocalMedia = result[i] as LocalMedia
val media: WritableMap = createAttachmentResponse(item)
localMedia.pushMap(media)
}
}
promise.resolve(localMedia)
}
promise.resolve(localMedia)
}

override fun onCancel() {
promise.reject("PICKER_CANCELLED", "User has canceled", null)
}
})
override fun onCancel() {
promise.reject("PICKER_CANCELLED", "User has canceled", null)
}
})
}

private fun onSetCropEngine(): CropEngine? {
Expand Down Expand Up @@ -133,6 +135,7 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
}
}

@SuppressLint("ResourceAsColor")
private fun setCropOptions(libOption: ReadableMap) {
val options = UCrop.Options()
val mainStyle: SelectMainStyle = style.selectMainStyle
Expand All @@ -145,7 +148,7 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
options.isForbidSkipMultipleCrop(true)
options.setMaxScaleMultiplier(100f)
options.setLogoColor(primaryColor)
options.setToolbarWidgetColor(R.color.app_color_black)
options.setToolbarWidgetColor(app_color_black)
options.setStatusBarColor(mainStyle.statusBarColor)
options.isDarkStatusBarBlack(mainStyle.isDarkStatusBarBlack)

Expand All @@ -159,38 +162,38 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :

// ANIMATION SLIDE FROM BOTTOM
val animationStyle = PictureWindowAnimationStyle()
animationStyle.setActivityEnterAnimation(R.anim.ps_anim_up_in)
animationStyle.setActivityExitAnimation(R.anim.ps_anim_down_out)
animationStyle.setActivityEnterAnimation(com.luck.picture.lib.R.anim.ps_anim_up_in)
animationStyle.setActivityExitAnimation(com.luck.picture.lib.R.anim.ps_anim_up_in)

// TITLE BAR
val titleBar = TitleBarStyle()
titleBar.titleBackgroundColor =
ContextCompat.getColor(appContext, R.color.app_color_white)
ContextCompat.getColor(appContext, R.color.app_color_white)

titleBar.setHideCancelButton(true);
titleBar.setAlbumTitleRelativeLeft(true);

titleBar.setTitleAlbumBackgroundResource(R.drawable.ps_album_bg);
titleBar.setTitleDrawableRightResource(R.drawable.ps_ic_grey_arrow);
titleBar.setPreviewTitleLeftBackResource(R.drawable.ps_ic_black_back);
titleBar.setTitleLeftBackResource(R.drawable.ps_ic_black_back);
titleBar.setTitleAlbumBackgroundResource(com.luck.picture.lib.R.drawable.ps_album_bg);
titleBar.setTitleDrawableRightResource(com.luck.picture.lib.R.drawable.ps_ic_grey_arrow);
titleBar.setPreviewTitleLeftBackResource(com.luck.picture.lib.R.drawable.ps_ic_black_back);
titleBar.setTitleLeftBackResource(com.luck.picture.lib.R.drawable.ps_ic_black_back);
titleBar.setHideCancelButton(true)

// BOTTOM BAR
val bottomBar = BottomNavBarStyle()
bottomBar.bottomPreviewNormalTextColor =
ContextCompat.getColor(appContext, R.color.app_color_pri)
ContextCompat.getColor(appContext, R.color.app_color_pri)
bottomBar.bottomPreviewSelectTextColor =
ContextCompat.getColor(appContext, R.color.app_color_pri)
ContextCompat.getColor(appContext, R.color.app_color_pri)
bottomBar.bottomNarBarBackgroundColor =
ContextCompat.getColor(appContext, R.color.ps_color_white)
ContextCompat.getColor(appContext, com.luck.picture.lib.R.color.ps_color_white)
bottomBar.bottomSelectNumResources = R.drawable.num_oval_orange
bottomBar.bottomEditorTextColor =
ContextCompat.getColor(appContext, R.color.ps_color_53575e)
ContextCompat.getColor(appContext, com.luck.picture.lib.R.color.ps_color_53575e)
bottomBar.bottomOriginalTextColor =
ContextCompat.getColor(appContext, R.color.ps_color_53575e)
ContextCompat.getColor(appContext, com.luck.picture.lib.R.color.ps_color_53575e)
bottomBar.bottomPreviewNormalTextColor = R.color.app_color_53575e
bottomBar.bottomPreviewNormalTextColor = R.color.app_color_black
bottomBar.bottomPreviewNormalTextColor = app_color_black
bottomBar.setCompleteCountTips(false)

// MAIN STYLE
Expand All @@ -202,9 +205,9 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
mainStyle.isSelectNumberStyle = true
mainStyle.selectBackground = R.drawable.picture_selector
mainStyle.mainListBackgroundColor =
ContextCompat.getColor(appContext, R.color.ps_color_white)
ContextCompat.getColor(appContext, com.luck.picture.lib.R.color.ps_color_white)
mainStyle.previewSelectBackground =
R.drawable.picture_selector
R.drawable.picture_selector

// custom select text on top
mainStyle.setSelectText(doneTitle)
Expand All @@ -213,15 +216,15 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :


mainStyle.selectNormalTextColor =
ContextCompat.getColor(appContext, R.color.ps_color_9b)
ContextCompat.getColor(appContext, com.luck.picture.lib.R.color.ps_color_9b)
mainStyle.selectTextColor = primaryColor
mainStyle.selectText = doneTitle

mainStyle.setStatusBarColor(
ContextCompat.getColor(
appContext,
R.color.app_color_white
)
ContextCompat.getColor(
appContext,
R.color.app_color_white
)
);
mainStyle.setDarkStatusBarBlack(true);

Expand Down Expand Up @@ -258,7 +261,7 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
val assetsType = options.getType("selectedAssets")
if (assetsType == ReadableType.Array) {
val assets: ReadableNativeArray =
options.getArray("selectedAssets") as ReadableNativeArray
options.getArray("selectedAssets") as ReadableNativeArray
if (assets.size() > 0) {
val list = mutableListOf<LocalMedia>()
for (i in 0 until assets.size()) {
Expand Down Expand Up @@ -320,7 +323,7 @@ class MultipleImagePickerModule(reactContext: ReactApplicationContext) :
val image = retriever.getFrameAtTime(1000000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC)

val fullPath: String =
reactApplicationContext.applicationContext.cacheDir.absolutePath.toString() + "/thumbnails"
reactApplicationContext.applicationContext.cacheDir.absolutePath.toString() + "/thumbnails"
try {
val fileName = "thumb-" + UUID.randomUUID().toString() + ".jpeg"
val file = File(fullPath, fileName)
Expand Down

0 comments on commit 1cbe548

Please sign in to comment.