Skip to content

Commit

Permalink
update: 更新 IMediaEngine 接口获取路径使用 Uri
Browse files Browse the repository at this point in the history
Former-commit-id: e2c6b1f
  • Loading branch information
afkT committed Jun 30, 2022
1 parent 3b93e33 commit ac9540b
Show file tree
Hide file tree
Showing 16 changed files with 155 additions and 365 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ class ActivityResultCallbackActivity : BaseActivity<ActivityActivityResultCallba
resultCode: Int,
intent: Intent?
) {
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
if (imgPath != null) {
binding.vidIv.display(source = imgPath.toSource())
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)
if (imgUri != null) {
binding.vidIv.display(source = imgUri.toSource())
} else {
Thread {
Thread.sleep(100L)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import dev.kotlin.engine.log.log_eTag
import dev.utils.app.HandlerUtils
import dev.utils.app.ResourceUtils
import dev.utils.app.ScreenUtils
import dev.utils.app.UriUtils
import dev.utils.app.helper.quick.QuickHelper
import dev.utils.app.image.ImageUtils
import dev.utils.common.ScaleUtils
Expand Down Expand Up @@ -115,17 +114,9 @@ class GPUFilterACVActivity : BaseActivity<ActivityGpuFilterBinding>() {
// 判断是否属于图片选择
if (resultCode == RESULT_OK && intent != null) {
// 获取图片地址
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)
// 获取图片 Bitmap
selectBitmap = if (UriUtils.isUri(imgPath)) {
ImageUtils.decodeStream(
ResourceUtils.openInputStream(
UriUtils.getUriForString(imgPath)
)
)
} else {
ImageUtils.decodeFile(imgPath)
}
selectBitmap = ImageUtils.decodeStream(ResourceUtils.openInputStream(imgUri))
// 设置图片滤镜
setFilter()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,9 @@ class GPUFilterActivity : BaseActivity<ActivityGpuFilterBinding>() {
// 判断是否属于图片选择
if (resultCode == RESULT_OK && intent != null) {
// 获取图片地址
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)
// 获取图片 Bitmap
selectBitmap = if (UriUtils.isUri(imgPath)) {
ImageUtils.decodeStream(
ResourceUtils.openInputStream(
UriUtils.getUriForString(imgPath)
)
)
} else {
ImageUtils.decodeFile(imgPath)
}
selectBitmap = ImageUtils.decodeStream(ResourceUtils.openInputStream(imgUri))
// 设置图片滤镜
setFilter()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,17 +89,9 @@ class QRCodeCreateActivity : BaseActivity<ActivityQrcodeCreateBinding>() {
// 判断是否属于图片选择
if (resultCode == RESULT_OK && intent != null) {
// 获取图片地址
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)
// 获取图片 Bitmap
selectBitmap = if (UriUtils.isUri(imgPath)) {
ImageUtils.decodeStream(
ResourceUtils.openInputStream(
UriUtils.getUriForString(imgPath)
)
)
} else {
ImageUtils.decodeFile(imgPath)
}
selectBitmap = ImageUtils.decodeStream(ResourceUtils.openInputStream(imgUri))
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import dev.engine.barcode.listener.BarCodeDecodeCallback
import dev.engine.image.listener.BitmapListener
import dev.engine.media.MediaConfig
import dev.kotlin.engine.image.loadBitmap
import dev.kotlin.utils.toSource
import dev.utils.DevFinal
import dev.utils.app.*
import dev.utils.app.toast.ToastTintUtils
Expand Down Expand Up @@ -81,15 +82,10 @@ class QRCodeImageActivity : BaseActivity<ActivityQrcodeImageBinding>() {
if (resultCode == RESULT_OK && intent != null) {
MainScope().launch {
// 获取图片地址
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)

val source = if (UriUtils.isUri(imgPath)) {
DevSource.create(UriUtils.getUriForString(imgPath))
} else {
DevSource.createWithPath(imgPath)
}
mActivity?.loadBitmap(
source = source, config = null,
source = imgUri?.toSource(), config = null,
listener = object : BitmapListener() {
override fun onStart(source: DevSource) {}
override fun onResponse(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,17 +153,9 @@ class QRCodeScanActivity : BaseActivity<ActivityScanShapeBinding>() {
// 判断是否属于图片选择
if (resultCode == RESULT_OK && intent != null) {
// 获取图片地址
val imgPath = DevEngine.getMedia()?.getSingleSelectorPath(intent, true)
val imgUri = DevEngine.getMedia()?.getSingleSelectorUri(intent, true)
// 获取图片 Bitmap
val selectBitmap = if (UriUtils.isUri(imgPath)) {
ImageUtils.decodeStream(
ResourceUtils.openInputStream(
UriUtils.getUriForString(imgPath)
)
)
} else {
ImageUtils.decodeFile(imgPath)
}
val selectBitmap = ImageUtils.decodeStream(ResourceUtils.openInputStream(imgUri))
// 解析图片
DevEngine.getBarCode().decodeBarCode(
selectBitmap, object : BarCodeDecodeCallback<BarCodeResult> {
Expand Down
13 changes: 4 additions & 9 deletions lib/DevAssist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1422,22 +1422,17 @@ implementation 'io.github.afkt:DevAssist:1.3.5'

| 方法 | 注释 |
| :- | :- |
| openCamera | 打开相册拍照 |
| openGallery | 打开相册选择 |
| getConfig | 获取全局配置 |
| setConfig | 设置全局配置 |
| getCameraSavePath | 获取拍照存储地址 |
| getCompressSavePath | 获取压缩图片存储地址 |
| setSavePath | 设置存储地址 |
| getMinimumCompressSize | 获取图片大于多少才进行压缩 ( kb ) |
| setMinimumCompressSize | 设置图片大于多少才进行压缩 ( kb ) |
| openCamera | 打开相册拍照 |
| openGallery | 打开相册选择 |
| deleteCacheDirFile | 删除缓存文件 |
| deleteAllCacheDirFile | 删除全部缓存文件 |
| isMediaSelectorResult | 是否图片选择 ( onActivityResult ) |
| getSelectors | 获取 Media Selector Data List |
| getSelectorPaths | 获取 Media Selector Path List |
| getSelectorUris | 获取 Media Selector Uri List |
| getSingleSelector | 获取 Single Media Selector Data |
| getSingleSelectorPath | 获取 Single Media Selector Path |
| getSingleSelectorUri | 获取 Single Media Selector Uri |


## <span id="devenginepermission">**`dev.engine.permission`**</span>
Expand Down
83 changes: 25 additions & 58 deletions lib/DevAssist/src/main/java/dev/engine/media/IMediaEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;

import androidx.fragment.app.Fragment;

Expand All @@ -29,6 +30,22 @@ class EngineConfig {
class EngineData {
}

// ==========
// = 配置方法 =
// ==========

/**
* 获取全局配置
* @return 全局配置信息
*/
Config getConfig();

/**
* 设置全局配置
* @param config 新的配置信息
*/
void setConfig(Config config);

// =============
// = 对外公开方法 =
// =============
Expand Down Expand Up @@ -107,56 +124,6 @@ boolean openGallery(
Config config
);

// ==========
// = 配置方法 =
// ==========

/**
* 获取全局配置
* @return 全局配置信息
*/
Config getConfig();

/**
* 设置全局配置
* @param config 新的配置信息
*/
void setConfig(Config config);

/**
* 获取拍照存储地址
* @return 拍照存储地址
*/
String getCameraSavePath();

/**
* 获取压缩图片存储地址
* @return 压缩图片存储地址
*/
String getCompressSavePath();

/**
* 设置存储地址
* @param cameraSavePath 拍照存储地址
* @param compressSavePath 压缩图片存储地址
*/
void setSavePath(
String cameraSavePath,
String compressSavePath
);

/**
* 获取图片大于多少才进行压缩 ( kb )
* @return 最小压缩大小
*/
int getMinimumCompressSize();

/**
* 设置图片大于多少才进行压缩 ( kb )
* @param minimumCompressSize 最小压缩大小
*/
void setMinimumCompressSize(int minimumCompressSize);

// ==========
// = 其他方法 =
// ==========
Expand Down Expand Up @@ -198,12 +165,12 @@ boolean isMediaSelectorResult(
List<Data> getSelectors(Intent intent);

/**
* 获取 Media Selector Path List
* 获取 Media Selector Uri List
* @param intent onActivityResult Intent data
* @param original 是否使用原图地址
* @return Media Selector Path List
* @param original 是否使用原图
* @return Media Selector Uri List
*/
List<String> getSelectorPaths(
List<Uri> getSelectorUris(
Intent intent,
boolean original
);
Expand All @@ -216,12 +183,12 @@ List<String> getSelectorPaths(
Data getSingleSelector(Intent intent);

/**
* 获取 Single Media Selector Path
* 获取 Single Media Selector Uri
* @param intent onActivityResult Intent data
* @param original 是否使用原图地址
* @return Single Media Selector Path
* @param original 是否使用原图
* @return Single Media Selector Uri
*/
String getSingleSelectorPath(
Uri getSingleSelectorUri(
Intent intent,
boolean original
);
Expand Down
13 changes: 4 additions & 9 deletions lib/DevEngine/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -732,22 +732,17 @@ private fun initEngine(appContext: Application) {

| 方法 | 注释 |
| :- | :- |
| openCamera | 打开相册拍照 |
| openGallery | 打开相册选择 |
| getConfig | 获取全局配置 |
| setConfig | 设置全局配置 |
| getCameraSavePath | 获取拍照存储地址 |
| getCompressSavePath | 获取压缩图片存储地址 |
| setSavePath | 设置存储地址 |
| getMinimumCompressSize | 获取图片大于多少才进行压缩 ( kb ) |
| setMinimumCompressSize | 设置图片大于多少才进行压缩 ( kb ) |
| openCamera | 打开相册拍照 |
| openGallery | 打开相册选择 |
| deleteCacheDirFile | 删除缓存文件 |
| deleteAllCacheDirFile | 删除全部缓存文件 |
| isMediaSelectorResult | 是否图片选择 ( onActivityResult ) |
| getSelectors | 获取 Media Selector Data List |
| getSelectorPaths | 获取 Media Selector Path List |
| getSelectorUris | 获取 Media Selector Uri List |
| getSingleSelector | 获取 Single Media Selector Data |
| getSingleSelectorPath | 获取 Single Media Selector Path |
| getSingleSelectorUri | 获取 Single Media Selector Uri |


## <span id="devenginepermission">**`dev.engine.permission`**</span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class LocalMediaData : IMediaEngine.EngineData {

/**
* 获取本地资源路径
* @param original 是否使用原图地址
* @param original 是否使用原图
* @return 本地资源路径
*/
fun getLocalMediaPath(original: Boolean): String? {
Expand Down
Loading

0 comments on commit ac9540b

Please sign in to comment.