fix(build): 修复ObjectBox库的release依赖配置

- 取消注释并激活app模块中ObjectBox的releaseImplementation依赖
- 取消注释并激活lib_face模块中ObjectBox的releaseImplementation依赖

fix(ui): 修复异常时Toast显示的线程调度问题

- 在CollectFragment中使用lifecycleScope切换到主线程显示Toast

refactor(main): 优化图像处理流程中的协程使用

- MainActivity中将uri2File调用放入IO线程的lifecycleScope中
- 使用withContext切换至IO线程异步获取Bitmap后再进行处理

chore(objbox): 移除未使用的ObjectBoxLiveData导入声明
This commit is contained in:
mazengfei
2026-07-17 09:53:43 +08:00
parent 28a475ca43
commit 76f60f8ee7
5 changed files with 14 additions and 9 deletions
+1 -1
View File
@@ -117,7 +117,7 @@ dependencies {
val objectboxVersion = "5.0.1"
debugImplementation(libs.objectbox.android.objectbrowser)
// releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
// implementation("io.objectbox:objectbox-fulltext:5.0.1")
implementation(libs.androidx.recyclerview)
@@ -1091,9 +1091,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
if (lastPhotoUri == null) {
return
}
uri2File(lastPhotoUri!!) { imageFile, imageVector ->
runBlocking {
uploadCollectFoodPics(foodInfo, imageFile, imageVector)
lifecycleScope.launch(Dispatchers.IO) {
uri2File(lastPhotoUri!!) { imageFile, imageVector ->
runBlocking {
uploadCollectFoodPics(foodInfo, imageFile, imageVector)
}
}
}
} catch (e: Exception) {
@@ -1282,9 +1284,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
startTime = System.currentTimeMillis()
log("registerDataChange photoUri = ${photoUri.path}")
// viewModel.getIdentifiedFoodList()
ImageUtil.uriToBitmap(this@MainActivity, photoUri)?.let { bitmap ->
queryFoodData(bitmap)
val bitmap = withContext(Dispatchers.IO) {
ImageUtil.uriToBitmap(this@MainActivity, photoUri)
}
bitmap?.let { queryFoodData(it) }
}
private suspend fun queryFoodData(bitmap: Bitmap) {
@@ -145,7 +145,9 @@ class CollectFragment : BaseFragment<FragmentCollectBinding>() {
FoodModule.bitmap2FloatArray(bitmap, false)
} catch (e: Exception) {
e.printStackTrace()
ToastUtils.showToast("操作失败")
activity?.lifecycleScope?.launch(Dispatchers.Main) {
ToastUtils.showToast("操作失败")
}
settingActivity?.log("操作失败:${e.message}")
settingActivity?.hideWaitingDialog()
return
@@ -25,7 +25,7 @@ import io.objectbox.Box
import io.objectbox.BoxStore
import io.objectbox.BoxStoreBuilder
import io.objectbox.android.Admin
import io.objectbox.android.ObjectBoxLiveData
import io.objectbox.config.DebugFlags
import io.objectbox.exception.DbException
import io.objectbox.exception.FileCorruptException
+1 -1
View File
@@ -68,5 +68,5 @@ dependencies {
val objectboxVersion = "5.0.1"
debugImplementation("io.objectbox:objectbox-android-objectbrowser:$objectboxVersion")
// releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
}