13 changed files with 1597 additions and 366 deletions
Unified View
Diff Options
-
555android/.kotlin/errors/errors-1767062977075.log
-
198android/.kotlin/errors/errors-1767062977111.log
-
219lib/controller/home/report_controller.dart
-
2lib/controller/message/chat_settings_controller.dart
-
3lib/network/api_urls.dart
-
5lib/network/home_api.dart
-
34lib/network/home_api.g.dart
-
830lib/pages/home/report_page.dart
-
108lib/pages/home/send_timeline.dart
-
3lib/pages/home/timeline_info.dart
-
3lib/pages/home/timeline_item.dart
-
1lib/pages/home/timeline_window.dart
-
2lib/pages/home/user_information_page.dart
@ -0,0 +1,555 @@ |
|||||
|
kotlin version: 2.1.0 |
||||
|
error message: Incremental compilation failed: Failed to close caches |
||||
|
org.jetbrains.kotlin.incremental.CachesManagerCloseException: Failed to close caches |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:126) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:674) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:91) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1659) |
||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) |
||||
|
at java.base/java.lang.reflect.Method.invoke(Unknown Source) |
||||
|
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) |
||||
|
at java.base/java.lang.Thread.run(Unknown Source) |
||||
|
Caused by: java.lang.AssertionError: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:236) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
... 21 more |
||||
|
Caused by: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
... 23 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:151) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:142) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups: id-to-file.tab, file-to-id.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:51) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:48) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 26 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 26 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs: source-to-output.tab |
||||
|
... 26 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\photo_manager-3.8.3\android\src\main\kotlin\com\fluttercandies\photo_manager\core\PhotoManager.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
|
||||
|
|
||||
|
error message: Daemon compilation failed: null |
||||
|
java.lang.Exception |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:69) |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:65) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:240) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76) |
||||
|
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) |
||||
|
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59) |
||||
|
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169) |
||||
|
at org.gradle.internal.Factories$1.create(Factories.java:31) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133) |
||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) |
||||
|
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) |
||||
|
at java.base/java.lang.Thread.run(Unknown Source) |
||||
|
Caused by: java.lang.AssertionError: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:236) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at kotlin.io.CloseableKt.closeFinally(Closeable.kt:56) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:293) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:148) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:674) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:91) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1659) |
||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) |
||||
|
at java.base/java.lang.reflect.Method.invoke(Unknown Source) |
||||
|
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) |
||||
|
... 3 more |
||||
|
Caused by: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
... 22 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\class-fq-name-to-source.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\class-fq-name-to-source.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\source-to-classes.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\source-to-classes.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\internal-name-to-source.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin\internal-name-to-source.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups: id-to-file.tab, file-to-id.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
... 23 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups\id-to-file.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups\id-to-file.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups\file-to-id.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups\file-to-id.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs: source-to-output.tab |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalStateException: Storage for [D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs\source-to-output.tab] is already registered |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Storage[D:\www\dating_touchme_app\build\photo_manager\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs\source-to-output.tab] registration stack trace |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at org.jetbrains.kotlin.incremental.BaseCompilationTransaction.closeCachesManager(CompilationTransaction.kt:123) |
||||
|
at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.close(CompilationTransaction.kt:251) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:747) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) |
||||
|
... 18 more |
||||
|
|
||||
|
|
||||
@ -0,0 +1,198 @@ |
|||||
|
kotlin version: 2.1.0 |
||||
|
error message: Daemon compilation failed: null |
||||
|
java.lang.Exception |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:69) |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:65) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:240) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76) |
||||
|
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) |
||||
|
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59) |
||||
|
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169) |
||||
|
at org.gradle.internal.Factories$1.create(Factories.java:31) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133) |
||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) |
||||
|
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) |
||||
|
at java.base/java.lang.Thread.run(Unknown Source) |
||||
|
Caused by: java.lang.AssertionError: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\video_player_android\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:236) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at kotlin.io.CloseableKt.closeFinally(Closeable.kt:56) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:293) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:129) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:674) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:91) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1659) |
||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) |
||||
|
at java.base/java.lang.reflect.Method.invoke(Unknown Source) |
||||
|
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) |
||||
|
... 3 more |
||||
|
Caused by: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\video_player_android\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
... 22 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:151) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:142) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\video_player_android\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups: id-to-file.tab, file-to-id.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
... 23 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:51) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:48) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\video_player_android\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs: source-to-output.tab |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\video_player_android-2.9.1\android\src\main\kotlin\io\flutter\plugins\videoplayer\Messages.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
|
||||
|
|
||||
@ -0,0 +1,219 @@ |
|||||
|
import 'dart:io'; |
||||
|
|
||||
|
import 'package:dating_touchme_app/network/home_api.dart'; |
||||
|
import 'package:dating_touchme_app/oss/oss_manager.dart'; |
||||
|
import 'package:flustars/flustars.dart'; |
||||
|
import 'package:flutter/material.dart'; |
||||
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; |
||||
|
import 'package:get/get.dart'; |
||||
|
import 'package:image_picker/image_picker.dart'; |
||||
|
import 'package:permission_handler/permission_handler.dart'; |
||||
|
|
||||
|
class ReportController extends GetxController { |
||||
|
final String id; |
||||
|
ReportController({required this.id}); |
||||
|
|
||||
|
|
||||
|
final checked = 1.obs; |
||||
|
|
||||
|
final message = ''.obs; |
||||
|
|
||||
|
final blockUser = false.obs; |
||||
|
|
||||
|
final messageController = TextEditingController().obs; |
||||
|
|
||||
|
final imgList = <String>[].obs; |
||||
|
|
||||
|
late final HomeApi _homeApi; |
||||
|
|
||||
|
@override |
||||
|
void onInit() { |
||||
|
super.onInit(); |
||||
|
_homeApi = Get.find<HomeApi>(); |
||||
|
} |
||||
|
|
||||
|
// 选择头像 - 业务逻辑处理 |
||||
|
Future<void> handleCameraCapture() async { |
||||
|
try { |
||||
|
// 请求相机权限 |
||||
|
final ok = await _ensurePermission( |
||||
|
Permission.camera, |
||||
|
denyToast: '相机权限被拒绝,请在设置中允许访问相机', |
||||
|
); |
||||
|
if (!ok) return; |
||||
|
|
||||
|
// 请求麦克风权限(部分设备拍照/录像会一并请求建议预授权) |
||||
|
await _ensurePermission(Permission.microphone, denyToast: '麦克风权限被拒绝'); |
||||
|
|
||||
|
// 权限通过后拍照 |
||||
|
final ImagePicker picker = ImagePicker(); |
||||
|
final XFile? photo = await picker.pickImage(source: ImageSource.camera); |
||||
|
|
||||
|
if (photo != null) { |
||||
|
await processSelectedImage(File(photo.path)); |
||||
|
} |
||||
|
} catch (e) { |
||||
|
print('拍照失败: $e'); |
||||
|
// 更友好的错误提示 |
||||
|
if (e.toString().contains('permission') || e.toString().contains('权限')) { |
||||
|
SmartDialog.showToast('相机权限被拒绝,请在设置中允许访问相机'); |
||||
|
} else if (e.toString().contains('camera') || |
||||
|
e.toString().contains('相机')) { |
||||
|
SmartDialog.showToast('设备没有可用的相机'); |
||||
|
} else { |
||||
|
SmartDialog.showToast('拍照失败,请重试'); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
Future<void> handleGallerySelection() async { |
||||
|
try { |
||||
|
// 请求相册/照片权限 |
||||
|
// final ok = await _ensurePermission( |
||||
|
// Permission.photos, |
||||
|
// // Android 上 photos 等价于 storage/mediaLibrary,permission_handler 会映射 |
||||
|
// denyToast: '相册权限被拒绝,请在设置中允许访问相册', |
||||
|
|
||||
|
// ); |
||||
|
// if (!ok) return; |
||||
|
|
||||
|
// 从相册选择图片 |
||||
|
final ImagePicker picker = ImagePicker(); |
||||
|
final XFile? image = await picker.pickImage(source: ImageSource.gallery); |
||||
|
|
||||
|
if (image != null) { |
||||
|
await processSelectedImage(File(image.path)); |
||||
|
} |
||||
|
} catch (e) { |
||||
|
print('选择图片失败: $e'); |
||||
|
// 更友好的错误提示 |
||||
|
if (e.toString().contains('permission') || e.toString().contains('权限')) { |
||||
|
SmartDialog.showToast('相册权限被拒绝,请在设置中允许访问相册'); |
||||
|
} else { |
||||
|
SmartDialog.showToast('选择图片失败,请重试'); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
Future<void> handleMultiGallerySelection() async { |
||||
|
try { |
||||
|
// 请求相册/照片权限 |
||||
|
// final ok = await _ensurePermission( |
||||
|
// Permission.photos, |
||||
|
// // Android 上 photos 等价于 storage/mediaLibrary,permission_handler 会映射 |
||||
|
// denyToast: '相册权限被拒绝,请在设置中允许访问相册', |
||||
|
|
||||
|
// ); |
||||
|
// if (!ok) return; |
||||
|
|
||||
|
// 从相册选择图片 |
||||
|
final ImagePicker picker = ImagePicker(); |
||||
|
final List<XFile>? image = await picker.pickMultiImage(limit: 9 - imgList.length); |
||||
|
|
||||
|
if (image != null) { |
||||
|
final futures = image.map((e){ |
||||
|
return processSelectedMoreImage(File(e.path)); |
||||
|
}); |
||||
|
final list = await Future.wait(futures); |
||||
|
imgList.addAll(list); |
||||
|
print(imgList); |
||||
|
SmartDialog.dismiss(); |
||||
|
SmartDialog.showToast('上传相册成功'); |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} catch (e) { |
||||
|
print('选择图片失败: $e'); |
||||
|
// 更友好的错误提示 |
||||
|
if (e.toString().contains('permission') || e.toString().contains('权限')) { |
||||
|
SmartDialog.showToast('相册权限被拒绝,请在设置中允许访问相册'); |
||||
|
} else { |
||||
|
SmartDialog.showToast('选择图片失败,请重试'); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 通用权限申请 |
||||
|
Future<bool> _ensurePermission(Permission permission, {String? denyToast}) async { |
||||
|
var status = await permission.status; |
||||
|
if (status.isGranted) return true; |
||||
|
|
||||
|
if (status.isDenied || status.isRestricted || status.isLimited) { |
||||
|
status = await permission.request(); |
||||
|
if (status.isGranted) return true; |
||||
|
if (denyToast != null) SmartDialog.showToast(denyToast); |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
if (status.isPermanentlyDenied) { |
||||
|
if (denyToast != null) SmartDialog.showToast('$denyToast,前往系统设置开启'); |
||||
|
// 延迟弹设置,避免与弹窗冲突 |
||||
|
Future.delayed(const Duration(milliseconds: 300), openAppSettings); |
||||
|
return false; |
||||
|
} |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
// 处理选中的图片 |
||||
|
Future<void> processSelectedImage(File imageFile) async { |
||||
|
try { |
||||
|
// 显示加载提示 |
||||
|
SmartDialog.showLoading(msg: '上传相册中...'); |
||||
|
String objectName = '${DateUtil.getNowDateMs()}.${imageFile.path.split('.').last}'; |
||||
|
String imageUrl = await OSSManager.instance.uploadFile(imageFile.readAsBytesSync(), objectName); |
||||
|
print('上传成功,图片URL: $imageUrl'); |
||||
|
imgList.add(imageUrl); |
||||
|
SmartDialog.dismiss(); |
||||
|
SmartDialog.showToast('相册上传成功'); |
||||
|
|
||||
|
|
||||
|
} catch (e) { |
||||
|
SmartDialog.dismiss(); |
||||
|
print('处理图片失败: $e'); |
||||
|
SmartDialog.showToast('上传相册失败,请重试'); |
||||
|
} |
||||
|
} |
||||
|
// 处理选中的图片 |
||||
|
Future<String> processSelectedMoreImage(File imageFile) async { |
||||
|
try { |
||||
|
// 显示加载提示 |
||||
|
SmartDialog.showLoading(msg: '上传相册中...'); |
||||
|
String objectName = '${DateUtil.getNowDateMs()}.${imageFile.path.split('.').last}'; |
||||
|
String imageUrl = await OSSManager.instance.uploadFile(imageFile.readAsBytesSync(), objectName); |
||||
|
print('上传成功,图片URL: $imageUrl'); |
||||
|
return imageUrl; |
||||
|
} catch (e) { |
||||
|
SmartDialog.dismiss(); |
||||
|
print('处理图片失败: $e'); |
||||
|
SmartDialog.showToast('上传相册失败,请重试'); |
||||
|
return ""; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
sendReport() async { |
||||
|
try { |
||||
|
final response = await _homeApi.userReportPost({ |
||||
|
"id": id, |
||||
|
"reportPicUrls": imgList.isNotEmpty ? imgList.join(",") : "", |
||||
|
"reportContent": message.value, |
||||
|
"reportReason": checked.value |
||||
|
}); |
||||
|
if (response.data.isSuccess) { |
||||
|
|
||||
|
SmartDialog.showToast('举报已提交成功'); |
||||
|
Get.back(); |
||||
|
} else { |
||||
|
|
||||
|
// 响应失败,抛出异常 |
||||
|
throw Exception(response.data.message ?? '获取数据失败'); |
||||
|
} |
||||
|
} catch(e){ |
||||
|
print('举报提交失败: $e'); |
||||
|
SmartDialog.showToast('举报提交失败'); |
||||
|
rethrow; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -1,394 +1,528 @@ |
|||||
|
import 'package:cached_network_image/cached_network_image.dart'; |
||||
import 'package:dating_touchme_app/components/page_appbar.dart'; |
import 'package:dating_touchme_app/components/page_appbar.dart'; |
||||
|
import 'package:dating_touchme_app/controller/home/report_controller.dart'; |
||||
|
import 'package:dating_touchme_app/extension/ex_widget.dart'; |
||||
import 'package:flutter/material.dart'; |
import 'package:flutter/material.dart'; |
||||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; |
||||
|
import 'package:get/get.dart'; |
||||
import 'package:tdesign_flutter/tdesign_flutter.dart'; |
import 'package:tdesign_flutter/tdesign_flutter.dart'; |
||||
|
|
||||
class ReportPage extends StatefulWidget { |
|
||||
const ReportPage({super.key}); |
|
||||
|
class ReportPage extends StatelessWidget { |
||||
|
final String id; |
||||
|
const ReportPage({super.key, required this.id}); |
||||
|
|
||||
@override |
|
||||
State<ReportPage> createState() => _ReportPageState(); |
|
||||
} |
|
||||
|
|
||||
class _ReportPageState extends State<ReportPage> { |
|
||||
|
|
||||
int checked = 0; |
|
||||
|
void _showAvatarPopup(ReportController controller){ |
||||
|
Navigator.of(Get.context!).push( |
||||
|
TDSlidePopupRoute( |
||||
|
slideTransitionFrom: SlideTransitionFrom.bottom, |
||||
|
builder: (context) { |
||||
|
return Container( |
||||
|
height: 176, |
||||
|
decoration: BoxDecoration( |
||||
|
color: Colors.white, |
||||
|
borderRadius: BorderRadius.only( |
||||
|
topLeft: Radius.circular(12.0), |
||||
|
topRight: Radius.circular(12.0), |
||||
|
), |
||||
|
), |
||||
|
child: Column( |
||||
|
children: [ |
||||
|
ClipRRect( |
||||
|
borderRadius: BorderRadius.only( |
||||
|
topLeft: Radius.circular(12.0), |
||||
|
topRight: Radius.circular(12.0), |
||||
|
), |
||||
|
child: TDCell( |
||||
|
arrow: false, |
||||
|
titleWidget: Center( |
||||
|
child: Text('拍照', style: TextStyle(fontSize: 16.w, color: const Color.fromRGBO(51, 51, 51, 1))), |
||||
|
), |
||||
|
style: TDCellStyle( |
||||
|
padding: EdgeInsets.all(TDTheme.of(context).spacer16), |
||||
|
clickBackgroundColor: TDTheme.of(context).bgColorContainerHover, |
||||
|
cardBorderRadius: BorderRadius.only( |
||||
|
topLeft: Radius.circular(12.0), |
||||
|
topRight: Radius.circular(12.0), |
||||
|
) |
||||
|
), |
||||
|
onClick: (cell) async{ |
||||
|
Navigator.pop(context); |
||||
|
|
||||
String message = ''; |
|
||||
|
if(9 - controller.imgList.length == 1){ |
||||
|
|
||||
bool blockUser = false; |
|
||||
|
await controller.handleCameraCapture(); |
||||
|
} else { |
||||
|
if(controller.imgList.length >= 9){ |
||||
|
|
||||
final TextEditingController _messageController = TextEditingController(); |
|
||||
|
SmartDialog.showToast('超出数量限制,请先删除再尝试上传'); |
||||
|
return; |
||||
|
} |
||||
|
await controller.handleCameraCapture(); |
||||
|
} |
||||
|
}, |
||||
|
), |
||||
|
), |
||||
|
const TDDivider(), |
||||
|
TDCell( |
||||
|
arrow: false, |
||||
|
titleWidget: Center( |
||||
|
child: Text('从相册选择'), |
||||
|
), |
||||
|
onClick: (cell) async{ |
||||
|
Navigator.pop(context); |
||||
|
if(9 - controller.imgList.length == 1){ |
||||
|
await controller.handleGallerySelection(); |
||||
|
} else { |
||||
|
if(controller.imgList.length >= 9){ |
||||
|
|
||||
@override |
|
||||
Widget build(BuildContext context) { |
|
||||
return Scaffold( |
|
||||
appBar: PageAppbar(title: "举报中心"), |
|
||||
body: SingleChildScrollView( |
|
||||
child: Container( |
|
||||
padding: EdgeInsets.only( |
|
||||
top: 6.w, |
|
||||
right: 10.w, |
|
||||
left: 20.w |
|
||||
), |
|
||||
child: Column( |
|
||||
children: [ |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.start, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"请选择举报的原因", |
|
||||
style: TextStyle( |
|
||||
fontSize: 12.w, |
|
||||
color: const Color.fromRGBO(144, 144, 144, 1) |
|
||||
|
SmartDialog.showToast('超出数量限制,请先删除再尝试上传'); |
||||
|
return; |
||||
|
} |
||||
|
await controller.handleMultiGallerySelection(); |
||||
|
} |
||||
|
}, |
||||
|
), |
||||
|
Expanded( |
||||
|
child: Container( |
||||
|
color: Color(0xFFF3F3F3), |
||||
|
), |
||||
|
), |
||||
|
TDCell( |
||||
|
arrow: false, |
||||
|
titleWidget: Center( |
||||
|
child: Text('取消'), |
||||
), |
), |
||||
|
onClick: (cell){ |
||||
|
Navigator.pop(context); |
||||
|
}, |
||||
), |
), |
||||
], |
], |
||||
), |
), |
||||
SizedBox(height: 9.w ,), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"资料作假", |
|
||||
style: TextStyle( |
|
||||
fontSize: 12.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
), |
|
||||
], |
|
||||
), |
|
||||
|
); |
||||
|
}), |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
@override |
||||
|
Widget build(BuildContext context) { |
||||
|
return GetX<ReportController>( |
||||
|
init: ReportController(id: id), |
||||
|
builder: (controller){ |
||||
|
return Scaffold( |
||||
|
appBar: PageAppbar(title: "举报中心"), |
||||
|
body: SingleChildScrollView( |
||||
|
child: Container( |
||||
|
padding: EdgeInsets.only( |
||||
|
top: 6.w, |
||||
|
right: 10.w, |
||||
|
left: 20.w |
||||
), |
), |
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"色情低俗", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
|
child: Column( |
||||
|
crossAxisAlignment: CrossAxisAlignment.start, |
||||
|
children: [ |
||||
|
Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.start, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"请选择举报的原因", |
||||
|
style: TextStyle( |
||||
|
fontSize: 12.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1) |
||||
|
), |
||||
), |
), |
||||
|
], |
||||
|
), |
||||
|
SizedBox(height: 9.w ,), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"资料作假", |
||||
|
style: TextStyle( |
||||
|
fontSize: 12.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 1, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 1; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"色情低俗", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 2, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 2; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"涉政/涉独", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"涉政/涉独", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 3, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 3; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"违法违禁", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 4, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 4; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"违法违禁", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"未成年相关", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 5, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 5; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"欺诈/广告/引导第三方交易", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 6, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 6; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"未成年相关", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"恶意骚扰/侮辱谩骂", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 7, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 7; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
|
), |
||||
|
SizedBox( |
||||
|
height: 32.w, |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"其他", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Checkbox( |
||||
|
value: controller.checked.value == 8, |
||||
|
onChanged: (value) { |
||||
|
controller.checked.value = 8; |
||||
|
|
||||
|
}, |
||||
|
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
side: const BorderSide(color: Colors.grey), |
||||
|
shape: const CircleBorder(), |
||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
||||
|
), |
||||
|
], |
||||
), |
), |
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"欺诈/广告/引导第三方交易", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
|
), |
||||
|
SizedBox(height: 29.w ,), |
||||
|
Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.start, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"图片证据(选填)", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1) |
||||
|
), |
||||
), |
), |
||||
), |
|
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
), |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"恶意骚扰/侮辱谩骂", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
|
], |
||||
|
), |
||||
|
SizedBox(height: 13.w ,), |
||||
|
Wrap( |
||||
|
spacing: 10.w, |
||||
|
runSpacing: 10.w, |
||||
|
children: [ |
||||
|
...controller.imgList.map((e){ |
||||
|
return Stack( |
||||
|
children: [ |
||||
|
CachedNetworkImage( |
||||
|
imageUrl: e, |
||||
|
width: 80.w, |
||||
|
height: 80.w, |
||||
|
fit: BoxFit.cover, |
||||
|
), |
||||
|
Positioned( |
||||
|
left: 5.w, |
||||
|
top: 5.w, |
||||
|
child: Container( |
||||
|
width: 20.w, |
||||
|
height: 20.w, |
||||
|
decoration: BoxDecoration( |
||||
|
borderRadius: BorderRadius.all(Radius.circular(20.w)), |
||||
|
color: const Color.fromRGBO(0, 0, 0, .3) |
||||
|
), |
||||
|
child: Icon( |
||||
|
Icons.close, |
||||
|
size: 20.w, |
||||
|
), |
||||
|
).onTap((){ |
||||
|
controller.imgList.remove(e); |
||||
|
|
||||
|
}), |
||||
|
) |
||||
|
], |
||||
|
); |
||||
|
}), |
||||
|
Container( |
||||
|
width: 80.w, |
||||
|
height: 80.w, |
||||
|
decoration: BoxDecoration( |
||||
|
borderRadius: BorderRadius.all(Radius.circular(8.w)), |
||||
|
border: Border.all(width: 1, color: const Color.fromRGBO(224, 224, 224, 1)) |
||||
|
), |
||||
|
child: Center( |
||||
|
child: Icon( |
||||
|
Icons.add, |
||||
|
size: 13.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1), |
||||
|
), |
||||
|
), |
||||
|
).onTap((){ |
||||
|
_showAvatarPopup(controller); |
||||
|
}) |
||||
|
], |
||||
|
), |
||||
|
SizedBox(height: 15.w ,), |
||||
|
Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.start, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"投诉内容(选填)", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1) |
||||
|
), |
||||
), |
), |
||||
|
], |
||||
|
), |
||||
|
Container( |
||||
|
padding: EdgeInsets.all(17.w), |
||||
|
decoration: BoxDecoration( |
||||
|
borderRadius: BorderRadius.all(Radius.circular(8.w)), |
||||
|
border: Border.all(width: 1, color: const Color.fromRGBO(224, 224, 224, 1)) |
||||
), |
), |
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
}, |
|
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
), |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox( |
|
||||
height: 32.w, |
|
||||
child: Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"其他", |
|
||||
|
child: TextField( |
||||
|
controller: controller.messageController.value, |
||||
|
minLines: 3, // 多行 |
||||
|
maxLines: 3, // 自适应高度 |
||||
style: TextStyle( |
style: TextStyle( |
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
|
fontSize: ScreenUtil().setWidth(12), |
||||
|
height: 1 |
||||
), |
), |
||||
), |
|
||||
Checkbox( |
|
||||
value: checked == 1, |
|
||||
onChanged: (value) { |
|
||||
checked = 1; |
|
||||
|
decoration: InputDecoration( |
||||
|
contentPadding: EdgeInsets.symmetric( |
||||
|
vertical: 0, |
||||
|
horizontal: 0 |
||||
|
), |
||||
|
hintText: "请告诉您举报的具体原因,以便更快处理", |
||||
|
|
||||
|
border: const OutlineInputBorder( |
||||
|
borderSide: BorderSide.none, // 这将移除边框 // 可选:设置圆角 |
||||
|
), |
||||
|
// 如果你希望聚焦时和未聚焦时都没有边框,也可以设置 focusedBorder 和 enabledBorder |
||||
|
focusedBorder: const OutlineInputBorder( |
||||
|
borderSide: BorderSide.none, |
||||
|
borderRadius: BorderRadius.all(Radius.circular(4.0)), |
||||
|
), |
||||
|
enabledBorder: const OutlineInputBorder( |
||||
|
borderSide: BorderSide.none, |
||||
|
borderRadius: BorderRadius.all(Radius.circular(4.0)), |
||||
|
), |
||||
|
), |
||||
|
onChanged: (value){ |
||||
|
controller.message.value = value; |
||||
}, |
}, |
||||
activeColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
side: const BorderSide(color: Colors.grey), |
|
||||
shape: const CircleBorder(), |
|
||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, |
|
||||
), |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
SizedBox(height: 29.w ,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.start, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"图片证据(选填)", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(144, 144, 144, 1) |
|
||||
), |
), |
||||
), |
), |
||||
], |
|
||||
), |
|
||||
SizedBox(height: 13.w ,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.start, |
|
||||
children: [ |
|
||||
|
SizedBox(height: 16.w ,), |
||||
|
Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"同时加入黑名单", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(51, 51, 51, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
TDSwitch( |
||||
|
isOn: controller.blockUser.value, |
||||
|
trackOnColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
onChanged: (bool e){ |
||||
|
print(e); |
||||
|
controller.blockUser.value = e; |
||||
|
return e; |
||||
|
}, |
||||
|
), |
||||
|
], |
||||
|
), |
||||
|
SizedBox(height: 53.w ,), |
||||
Container( |
Container( |
||||
width: 80.w, |
|
||||
height: 80.w, |
|
||||
|
width: 325.w, |
||||
|
height: 45.w, |
||||
decoration: BoxDecoration( |
decoration: BoxDecoration( |
||||
borderRadius: BorderRadius.all(Radius.circular(8.w)), |
|
||||
border: Border.all(width: 1, color: const Color.fromRGBO(224, 224, 224, 1)) |
|
||||
|
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
||||
|
color: Color.fromRGBO(117, 98, 249, controller.checked.value != 0 ? 1 : .6) |
||||
), |
), |
||||
child: Center( |
child: Center( |
||||
child: Icon( |
|
||||
Icons.add, |
|
||||
size: 13.w, |
|
||||
color: const Color.fromRGBO(144, 144, 144, 1), |
|
||||
|
child: Text( |
||||
|
"提交", |
||||
|
style: TextStyle( |
||||
|
fontSize: 18.w, |
||||
|
color: Colors.white, |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
), |
), |
||||
), |
), |
||||
) |
|
||||
], |
|
||||
), |
|
||||
SizedBox(height: 15.w ,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.start, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"投诉内容(选填)", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(144, 144, 144, 1) |
|
||||
), |
|
||||
), |
|
||||
|
).onTap((){ |
||||
|
controller.sendReport(); |
||||
|
}) |
||||
], |
], |
||||
), |
), |
||||
Container( |
|
||||
padding: EdgeInsets.all(17.w), |
|
||||
decoration: BoxDecoration( |
|
||||
borderRadius: BorderRadius.all(Radius.circular(8.w)), |
|
||||
border: Border.all(width: 1, color: const Color.fromRGBO(224, 224, 224, 1)) |
|
||||
), |
|
||||
child: TextField( |
|
||||
controller: _messageController, |
|
||||
minLines: 3, // 多行 |
|
||||
maxLines: 3, // 自适应高度 |
|
||||
style: TextStyle( |
|
||||
fontSize: ScreenUtil().setWidth(12), |
|
||||
height: 1 |
|
||||
), |
|
||||
decoration: InputDecoration( |
|
||||
contentPadding: EdgeInsets.symmetric( |
|
||||
vertical: 0, |
|
||||
horizontal: 0 |
|
||||
), |
|
||||
hintText: "请告诉您举报的具体原因,以便更快处理", |
|
||||
|
|
||||
border: const OutlineInputBorder( |
|
||||
borderSide: BorderSide.none, // 这将移除边框 // 可选:设置圆角 |
|
||||
), |
|
||||
// 如果你希望聚焦时和未聚焦时都没有边框,也可以设置 focusedBorder 和 enabledBorder |
|
||||
focusedBorder: const OutlineInputBorder( |
|
||||
borderSide: BorderSide.none, |
|
||||
borderRadius: BorderRadius.all(Radius.circular(4.0)), |
|
||||
), |
|
||||
enabledBorder: const OutlineInputBorder( |
|
||||
borderSide: BorderSide.none, |
|
||||
borderRadius: BorderRadius.all(Radius.circular(4.0)), |
|
||||
), |
|
||||
), |
|
||||
onChanged: (value){ |
|
||||
message = value; |
|
||||
}, |
|
||||
), |
|
||||
), |
|
||||
SizedBox(height: 16.w ,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"同时加入黑名单", |
|
||||
style: TextStyle( |
|
||||
fontSize: 13.w, |
|
||||
color: const Color.fromRGBO(51, 51, 51, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
TDSwitch( |
|
||||
isOn: blockUser, |
|
||||
trackOnColor: const Color.fromRGBO(117, 98, 249, 1), |
|
||||
onChanged: (bool e){ |
|
||||
print(e); |
|
||||
blockUser = e; |
|
||||
setState(() { |
|
||||
|
|
||||
}); |
|
||||
return e; |
|
||||
}, |
|
||||
), |
|
||||
], |
|
||||
), |
|
||||
SizedBox(height: 53.w ,), |
|
||||
Container( |
|
||||
width: 325.w, |
|
||||
height: 45.w, |
|
||||
decoration: BoxDecoration( |
|
||||
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
|
||||
color: Color.fromRGBO(117, 98, 249, checked != 0 ? 1 : .6) |
|
||||
), |
|
||||
child: Center( |
|
||||
child: Text( |
|
||||
"提交", |
|
||||
style: TextStyle( |
|
||||
fontSize: 18.w, |
|
||||
color: Colors.white, |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
|
), |
||||
), |
), |
||||
), |
|
||||
), |
|
||||
|
); |
||||
|
}, |
||||
); |
); |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save