Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
40496116
提交
40496116
authored
3月 09, 2020
作者:
JarvanMo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug when sharing image on Android
上级
928c4d5b
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
5 行增加
和
16 行删除
+5
-16
FluwxShareHandler.kt
...ain/kotlin/com/jarvan/fluwx/handlers/FluwxShareHandler.kt
+3
-2
WeChatImages.kt
android/src/main/kotlin/com/jarvan/fluwx/io/WeChatImages.kt
+2
-14
没有找到文件。
android/src/main/kotlin/com/jarvan/fluwx/handlers/FluwxShareHandler
Embedding
.kt
→
android/src/main/kotlin/com/jarvan/fluwx/handlers/FluwxShareHandler.kt
浏览文件 @
40496116
...
@@ -123,7 +123,7 @@ internal interface FluwxShareHandler : CoroutineScope {
...
@@ -123,7 +123,7 @@ internal interface FluwxShareHandler : CoroutineScope {
private
fun
shareImage
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
private
fun
shareImage
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
launch
{
launch
{
val
map
:
Map
<
String
,
Any
>
=
call
.
argument
(
"source"
)
?:
mapOf
()
val
map
:
Map
<
String
,
Any
>
=
call
.
argument
(
"source"
)
?:
mapOf
()
val
sourceImage
=
WeChatImage
.
createWeChatImage
(
map
,
assetFileDescriptor
((
map
[
"source"
]
as
?
String
).
orEmpty
()),
context
)
val
sourceImage
=
WeChatImage
.
createWeChatImage
(
map
,
assetFileDescriptor
)
val
thumbData
=
readThumbnailByteArray
(
call
)
val
thumbData
=
readThumbnailByteArray
(
call
)
val
sourceByteArray
=
sourceImage
.
readByteArray
()
val
sourceByteArray
=
sourceImage
.
readByteArray
()
...
@@ -249,13 +249,14 @@ internal interface FluwxShareHandler : CoroutineScope {
...
@@ -249,13 +249,14 @@ internal interface FluwxShareHandler : CoroutineScope {
private
suspend
fun
readThumbnailByteArray
(
call
:
MethodCall
):
ByteArray
?
{
private
suspend
fun
readThumbnailByteArray
(
call
:
MethodCall
):
ByteArray
?
{
val
thumbnailMap
:
Map
<
String
,
Any
>?
=
call
.
argument
(
keyThumbnail
)
val
thumbnailMap
:
Map
<
String
,
Any
>?
=
call
.
argument
(
keyThumbnail
)
return
thumbnailMap
?.
run
{
return
thumbnailMap
?.
run
{
val
thumbnailImage
=
WeChatImage
.
createWeChatImage
(
thumbnailMap
,
assetFileDescriptor
((
thumbnailMap
[
"source"
]
as
?
String
).
orEmpty
()),
context
)
val
thumbnailImage
=
WeChatImage
.
createWeChatImage
(
thumbnailMap
,
assetFileDescriptor
)
val
thumbnailImageIO
=
ImagesIOIml
(
thumbnailImage
)
val
thumbnailImageIO
=
ImagesIOIml
(
thumbnailImage
)
compressThumbnail
(
thumbnailImageIO
)
compressThumbnail
(
thumbnailImageIO
)
}
}
}
}
private
suspend
fun
compressThumbnail
(
ioIml
:
ImagesIO
)
=
ioIml
.
compressedByteArray
(
context
,
SHARE_IMAGE_THUMB_LENGTH
)
private
suspend
fun
compressThumbnail
(
ioIml
:
ImagesIO
)
=
ioIml
.
compressedByteArray
(
context
,
SHARE_IMAGE_THUMB_LENGTH
)
// SESSION, TIMELINE, FAVORITE
// SESSION, TIMELINE, FAVORITE
private
fun
setCommonArguments
(
call
:
MethodCall
,
req
:
SendMessageToWX
.
Req
,
msg
:
WXMediaMessage
)
{
private
fun
setCommonArguments
(
call
:
MethodCall
,
req
:
SendMessageToWX
.
Req
,
msg
:
WXMediaMessage
)
{
msg
.
messageAction
=
call
.
argument
<
String
?>(
"messageAction"
)
msg
.
messageAction
=
call
.
argument
<
String
?>(
"messageAction"
)
...
...
android/src/main/kotlin/com/jarvan/fluwx/io/WeChatImages.kt
浏览文件 @
40496116
package
com.jarvan.fluwx.io
package
com.jarvan.fluwx.io
import
android.content.Context
import
android.content.res.AssetFileDescriptor
import
android.content.res.AssetFileDescriptor
import
android.util.Log
import
android.util.Log
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
@@ -125,23 +124,12 @@ interface WeChatImage {
...
@@ -125,23 +124,12 @@ interface WeChatImage {
// ASSET,
// ASSET,
// FILE,
// FILE,
// BINARY,
// BINARY,
fun
createWeChatImage
(
params
:
Map
<
String
,
Any
>,
assetFileDescriptor
:
AssetFileDescriptor
,
context
:
Context
):
WeChatImage
{
fun
createWeChatImage
(
params
:
Map
<
String
,
Any
>,
assetFileDescriptor
:
(
String
)
->
AssetFileDescriptor
):
WeChatImage
{
// Map toMap() => {"source": source, "schema": schema.index, "suffix": suffix};
// Map toMap() => {"source": source, "schema": schema.index, "suffix": suffix};
val
suffix
=
(
params
[
"suffix"
]
as
String
?)
?:
".jpeg"
val
suffix
=
(
params
[
"suffix"
]
as
String
?)
?:
".jpeg"
return
when
((
params
[
"schema"
]
as
?
Int
)
?:
0
)
{
return
when
((
params
[
"schema"
]
as
?
Int
)
?:
0
)
{
0
->
WeChatNetworkImage
(
source
=
(
params
[
"source"
]
as
?
String
).
orEmpty
(),
suffix
=
suffix
)
0
->
WeChatNetworkImage
(
source
=
(
params
[
"source"
]
as
?
String
).
orEmpty
(),
suffix
=
suffix
)
1
->
{
1
->
WeChatAssetImage
(
source
=
assetFileDescriptor
(((
params
[
"source"
]
as
?
String
).
orEmpty
())),
suffix
=
suffix
)
// val source = (params["source"] as? String).orEmpty()
// val uri = Uri.parse(source)
// val packageName = uri.getQueryParameter("package")
// val subPath = if (packageName.isNullOrBlank()) {
// flutterAssets.getAssetFilePathBySubpath(uri.path.orEmpty())
// } else {
// flutterAssets.getAssetFilePathBySubpath(uri.path.orEmpty(), packageName)
// }
WeChatAssetImage
(
source
=
assetFileDescriptor
,
suffix
=
suffix
)
}
2
->
WeChatFileImage
(
source
=
(
params
[
"source"
]
as
?
String
).
orEmpty
(),
suffix
=
suffix
)
2
->
WeChatFileImage
(
source
=
(
params
[
"source"
]
as
?
String
).
orEmpty
(),
suffix
=
suffix
)
3
->
WeChatMemoryImage
(
source
=
(
params
[
"source"
]
as
?
ByteArray
)
3
->
WeChatMemoryImage
(
source
=
(
params
[
"source"
]
as
?
ByteArray
)
?:
byteArrayOf
(),
suffix
=
suffix
)
?:
byteArrayOf
(),
suffix
=
suffix
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论