diff --git a/app/build.gradle b/app/build.gradle
index f967d46..3543007 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,17 +94,17 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
- //MVVM+LiveData
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
+ def vm_version = '2.5.1'
//Kotlin协程
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:${vm_version}"
+ //MVVM+LiveData
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.9.0'
//图片选择框架
- implementation 'io.github.lucksiege:pictureselector:v3.0.4'
+ implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
@@ -115,7 +115,7 @@
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
//官方Json解析库
- implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.code.gson:gson:2.10.1'
//上拉加载下拉刷新
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
//高德导航、定位、地图三合一
diff --git a/app/build.gradle b/app/build.gradle
index f967d46..3543007 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,17 +94,17 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
- //MVVM+LiveData
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
+ def vm_version = '2.5.1'
//Kotlin协程
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:${vm_version}"
+ //MVVM+LiveData
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.9.0'
//图片选择框架
- implementation 'io.github.lucksiege:pictureselector:v3.0.4'
+ implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
@@ -115,7 +115,7 @@
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
//官方Json解析库
- implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.code.gson:gson:2.10.1'
//上拉加载下拉刷新
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
//高德导航、定位、地图三合一
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a86bc9a..e081719 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
@@ -28,15 +29,21 @@
-
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index f967d46..3543007 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,17 +94,17 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
- //MVVM+LiveData
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
+ def vm_version = '2.5.1'
//Kotlin协程
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:${vm_version}"
+ //MVVM+LiveData
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.9.0'
//图片选择框架
- implementation 'io.github.lucksiege:pictureselector:v3.0.4'
+ implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
@@ -115,7 +115,7 @@
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
//官方Json解析库
- implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.code.gson:gson:2.10.1'
//上拉加载下拉刷新
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
//高德导航、定位、地图三合一
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a86bc9a..e081719 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
@@ -28,15 +29,21 @@
-
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt b/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
index 17c2fd4..933ede2 100644
--- a/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
+++ b/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
@@ -1,19 +1,13 @@
package com.casic.app.smartwell.utils
import android.content.Context
-import android.graphics.Bitmap
-import android.graphics.drawable.Drawable
import android.widget.ImageView
-import androidx.annotation.Nullable
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
-import com.bumptech.glide.request.target.CustomTarget
-import com.bumptech.glide.request.transition.Transition
import com.casic.app.smartwell.R
import com.luck.picture.lib.engine.ImageEngine
-import com.luck.picture.lib.interfaces.OnCallbackListener
import com.luck.picture.lib.utils.ActivityCompatHelper
class GlideLoadEngine private constructor() : ImageEngine {
@@ -27,36 +21,23 @@
if (!ActivityCompatHelper.assertValidRequest(context)) {
return
}
- Glide.with(context).load(url).into(imageView);
+ Glide.with(context).load(url).into(imageView)
}
- override fun loadImageBitmap(
+ override fun loadImage(
context: Context,
+ imageView: ImageView,
url: String,
maxWidth: Int,
- maxHeight: Int,
- call: OnCallbackListener?
+ maxHeight: Int
) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return
}
Glide.with(context)
- .asBitmap()
- .override(maxWidth, maxHeight)
.load(url)
- .into(object : CustomTarget() {
- override fun onResourceReady(
- resource: Bitmap, @Nullable transition: Transition?
- ) {
- call?.onCall(resource)
- }
-
- override fun onLoadFailed(@Nullable errorDrawable: Drawable?) {
- call?.onCall(null)
- }
-
- override fun onLoadCleared(@Nullable placeholder: Drawable?) {}
- })
+ .override(maxWidth, maxHeight)
+ .into(imageView)
}
override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) {
diff --git a/app/build.gradle b/app/build.gradle
index f967d46..3543007 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,17 +94,17 @@
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
//fragment快速实现
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
- //MVVM+LiveData
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
+ def vm_version = '2.5.1'
//Kotlin协程
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:${vm_version}"
+ //MVVM+LiveData
+ implementation "androidx.lifecycle:lifecycle-livedata-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${vm_version}"
+ implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.9.0'
//图片选择框架
- implementation 'io.github.lucksiege:pictureselector:v3.0.4'
+ implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
@@ -115,7 +115,7 @@
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
//官方Json解析库
- implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.code.gson:gson:2.10.1'
//上拉加载下拉刷新
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
//高德导航、定位、地图三合一
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a86bc9a..e081719 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
@@ -28,15 +29,21 @@
-
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt b/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
index 17c2fd4..933ede2 100644
--- a/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
+++ b/app/src/main/java/com/casic/app/smartwell/utils/GlideLoadEngine.kt
@@ -1,19 +1,13 @@
package com.casic.app.smartwell.utils
import android.content.Context
-import android.graphics.Bitmap
-import android.graphics.drawable.Drawable
import android.widget.ImageView
-import androidx.annotation.Nullable
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
-import com.bumptech.glide.request.target.CustomTarget
-import com.bumptech.glide.request.transition.Transition
import com.casic.app.smartwell.R
import com.luck.picture.lib.engine.ImageEngine
-import com.luck.picture.lib.interfaces.OnCallbackListener
import com.luck.picture.lib.utils.ActivityCompatHelper
class GlideLoadEngine private constructor() : ImageEngine {
@@ -27,36 +21,23 @@
if (!ActivityCompatHelper.assertValidRequest(context)) {
return
}
- Glide.with(context).load(url).into(imageView);
+ Glide.with(context).load(url).into(imageView)
}
- override fun loadImageBitmap(
+ override fun loadImage(
context: Context,
+ imageView: ImageView,
url: String,
maxWidth: Int,
- maxHeight: Int,
- call: OnCallbackListener?
+ maxHeight: Int
) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return
}
Glide.with(context)
- .asBitmap()
- .override(maxWidth, maxHeight)
.load(url)
- .into(object : CustomTarget() {
- override fun onResourceReady(
- resource: Bitmap, @Nullable transition: Transition?
- ) {
- call?.onCall(resource)
- }
-
- override fun onLoadFailed(@Nullable errorDrawable: Drawable?) {
- call?.onCall(null)
- }
-
- override fun onLoadCleared(@Nullable placeholder: Drawable?) {}
- })
+ .override(maxWidth, maxHeight)
+ .into(imageView)
}
override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) {
diff --git a/app/src/main/java/com/casic/app/smartwell/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/smartwell/utils/LocaleConstant.kt
index 1c98651..6341fd4 100644
--- a/app/src/main/java/com/casic/app/smartwell/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/app/smartwell/utils/LocaleConstant.kt
@@ -9,10 +9,11 @@
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.CAMERA,
+ Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
- Manifest.permission.CAMERA
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE
)
const val FIVE_YEARS = 5L * 365 * 60 * 60 * 24 * 1000L