Skip to content

fix fix imported variable not found in new gradle version #156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 18, 2024
Merged
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
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