Giter VIP home page Giter VIP logo

greyovo / picquery Goto Github PK

View Code? Open in Web Editor NEW
197.0 2.0 19.0 50.17 MB

🔍 Search local images with natural language on Android, powered by OpenAI's CLIP model. / 在 Android 上用自然语言搜索本地图片 (基于 OpenAI 的 CLIP 模型)

Home Page: https://greyovo.github.io/PicQuery/

License: MIT License

Kotlin 89.50% Python 9.65% PureBasic 0.10% TypeScript 0.68% CSS 0.06%
android clip image-text-retrieval material-design-3 openai image-text-search jetpack-compose

picquery's Issues

表情或图标

请问能否在用表情或者图标进行搜索的时候,也能得到相应的图片

Improve photo view screen functionality

Currently, users can only simply view the photo without other features.

It's expected to add some practical features, like:

  • Sharing images to other app
  • Opening with system gallery
  • Adding images to favourite collection in the app

您好,图片识别不准,能手动纠正吗?

您好:
我的图搜APP存在以下几个问题:
1、搜出来的图片不全(我已经完整扫描了);
2、搜索精度有待提升,如下图,我搜索猫头鹰,出现的图片各种各样都有

⚠️ 含有不适宜工作时浏览的内容

增加smb文件夹

大佬能否支持局域网smb文件夹或者webdav啥的,因为图片都是放到群晖里面的

Crashed while indexing albums

Exception java.io.FileNotFoundException:
  at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel (DatabaseUtils.java:149)
  at android.content.ContentProviderProxy.openTypedAssetFile (ContentProviderNative.java:705)
  at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java:1689)
  at android.content.ContentResolver.openTypedAssetFile (ContentResolver.java:1594)
  at android.content.ContentResolver.lambda$loadThumbnail$0 (ContentResolver.java:3593)
  at android.content.-$$Lambda$ContentResolver$7ILY1SWNxC2xhk-fQUG6tAXW9Ik.call
  at android.graphics.ImageDecoder$CallableSource.createImageDecoder (ImageDecoder.java:550)
  at android.graphics.ImageDecoder.decodeBitmapImpl (ImageDecoder.java:1847)
  at android.graphics.ImageDecoder.decodeBitmap (ImageDecoder.java:1840)
  at android.content.ContentResolver.loadThumbnail (ContentResolver.java:3592)
  at android.content.ContentResolver.loadThumbnail (ContentResolver.java:3576)
  at me.grey.picquery.domain.ImageSearcher.encodePhotoList (ImageSearcher.kt:116)
  at me.grey.picquery.domain.ImageSearcher$encodePhotoList$1.invokeSuspend
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:106)
  at kotlinx.coroutines.EventLoopImplBase.processNextEvent (EventLoop.common.kt:280)
  at kotlinx.coroutines.BlockingCoroutine.joinBlocking (Builders.kt:85)
  at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking (Builders.kt:59)
  at kotlinx.coroutines.BuildersKt.runBlocking
  at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default (Builders.kt:38)
  at kotlinx.coroutines.BuildersKt.runBlocking$default
  at me.grey.picquery.domain.AlbumManager$encodeAlbums$2.invokeSuspend (AlbumManager.kt:103)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:106)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt:584)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt:793)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt:697)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:684)

Instance creation error : could not create instance for '[Singleton:'me.grey.picquery.domain.encoder.ImageEncoder']': ai.onnxruntime.OrtException: Error code - ORT_INVALID_ARGUMENT - message: Invalid fd was supplied: -1

first build source code ,crash。

[Koin] me.grey.picquery E * Instance creation error : could not create instance for '[Singleton:'me.grey.picquery.domain.encoder.ImageEncoder']': ai.onnxruntime.OrtException: Error code - ORT_INVALID_ARGUMENT - message: Invalid fd was supplied: -1 ai.onnxruntime.OrtSession.createSession(Native Method) ai.onnxruntime.OrtSession.<init>(OrtSession.java:74) ai.onnxruntime.OrtEnvironment.createSession(OrtEnvironment.java:234) ai.onnxruntime.OrtEnvironment.createSession(OrtEnvironment.java:219) me.grey.picquery.domain.encoder.ImageEncoder.<init>(ImageEncoder.kt:36) me.grey.picquery.common.AppModulesKt$domainModules$1$3.invoke(AppModules.kt:68) me.grey.picquery.common.AppModulesKt$domainModules$1$3.invoke(AppModules.kt:68) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$domainModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$domainModules$1$1.invoke(AppModules.kt:51) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:91) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:60) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:22) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) org.koin.androidx.viewmodel.factory.KoinViewModelFactory.create(KoinViewModelFactory.kt:25) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153) org.koin.androidx.viewmodel.GetViewModelKt.resolveViewModel 2023-10-13 20:29:18.983 30179-30179 [Koin] me.grey.picquery E * Instance creation error : could not create instance for '[Singleton:'me.grey.picquery.domain.ImageSearcher']': org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'me.grey.picquery.domain.encoder.ImageEncoder']' org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:57) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$domainModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$domainModules$1$1.invoke(AppModules.kt:51) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:91) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:60) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:22) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) org.koin.androidx.viewmodel.factory.KoinViewModelFactory.create(KoinViewModelFactory.kt:25) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153) org.koin.androidx.viewmodel.GetViewModelKt.resolveViewModel(GetViewModel.kt:44) me.grey.picquery.ui.home.HomeScreenKt.HomeScreen(HomeScreen.kt:264) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:34) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:33) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.navigation.compose.NavHos 2023-10-13 20:29:18.985 30179-30179 [Koin] me.grey.picquery E * Instance creation error : could not create instance for '[Singleton:'me.grey.picquery.domain.AlbumManager']': org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'me.grey.picquery.domain.ImageSearcher']' org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:57) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:91) me.grey.picquery.common.AppModulesKt$domainModules$1$2.invoke(AppModules.kt:60) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:22) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) org.koin.androidx.viewmodel.factory.KoinViewModelFactory.create(KoinViewModelFactory.kt:25) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153) org.koin.androidx.viewmodel.GetViewModelKt.resolveViewModel(GetViewModel.kt:44) me.grey.picquery.ui.home.HomeScreenKt.HomeScreen(HomeScreen.kt:264) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:34) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:33) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:320) androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:318) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248) androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84) androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65) androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1) androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52) androidx.navigation.compose.NavBackStackEnt 2023-10-13 20:29:18.987 30179-30179 [Koin] me.grey.picquery E * Instance creation error : could not create instance for '[Factory:'me.grey.picquery.ui.home.HomeViewModel']': org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'me.grey.picquery.domain.AlbumManager']' org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:57) org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55) org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53) org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36) org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:81) me.grey.picquery.common.AppModulesKt$viewModelModules$1$1.invoke(AppModules.kt:22) org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50) org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38) org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116) org.koin.core.scope.Scope.resolveValue(Scope.kt:247) org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) org.koin.core.scope.Scope.get(Scope.kt:212) org.koin.androidx.viewmodel.factory.KoinViewModelFactory.create(KoinViewModelFactory.kt:25) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153) org.koin.androidx.viewmodel.GetViewModelKt.resolveViewModel(GetViewModel.kt:44) me.grey.picquery.ui.home.HomeScreenKt.HomeScreen(HomeScreen.kt:264) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:34) me.grey.picquery.ui.AppNavHostKt$AppNavHost$3$1.invoke(AppNavHost.kt:33) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:320) androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:318) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248) androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84) androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65) androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1) androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52) androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:51) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228) androidx.navigation.compose.NavBackStackEntryProviderKt.LocalOwnersProvider(NavBackStackEntryProvider.kt:47) androidx.navigation.compose.NavHostKt$NavHost$14.invoke(NavHost.kt:318) androidx.navigation.compose.NavHostKt$NavHost$14.invoke(NavHost.kt:302) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138) androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) androidx.compose.animation.AnimatedContentKt$PopulateContentFor$5.invoke(AnimatedContent.kt:94

Crashed while showing albums for indexing selection

来自 @huangysh55 的反馈:

首次启动在选择相册环节闪退,无法继续。
手机型号是红米note11pro,操作系统版本为MIUI14.0.6,为安卓13;是到达索引相册的环节就自动闪退,无法做任何选择。

以下为log:

java.lang.NullPointerException: albumLabel must not be null
     at me.grey.picquery.data.CursorUtil$Companion.getPhoto(CursorUtil.kt:31)
     at me.grey.picquery.data.data_source.AlbumRepository.getAllAlbums(AlbumRepository.kt:58)
     at me.grey.picquery.domain.AlbumManager$initAllAlbumList$2.invokeSuspend(AlbumManager.kt:48)
     at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
     at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
     at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
     at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)
     at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
     at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
     Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@b79a7c6, androidx.compose.runtime.BroadcastFrameClock@d0ef387, StandaloneCoroutine{Cancelling}@efb02b4, AndroidUiDispatcher@6eb2edd]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.