From d828a5dc0595089be2e81c77660bdc87d6dbea59 Mon Sep 17 00:00:00 2001 From: litingting Date: Thu, 8 Jan 2026 14:03:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B5=E6=B0=B4=E5=B9=B3?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 2 + app/src/main/AndroidManifest.xml | 1 + .../filerecovery/result/ScanningActivity.kt | 12 +++++- .../video/file/filerecovery/utils/Common.kt | 2 +- .../file/filerecovery/utils/ScanManager.kt | 8 ++-- .../filerecovery/welcome/SplashActivity.kt | 39 ++++++++++++++--- .../res/drawable/progressbar_drawable.xml | 19 +++++++++ app/src/main/res/layout/activity_recovery.xml | 2 +- app/src/main/res/layout/activity_splash.xml | 42 ++++++++++++++----- app/src/main/res/layout/tab_layout_item.xml | 3 +- app/src/main/res/raw/welcome_anime.json | 1 + app/src/main/res/values/colors.xml | 2 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/themes.xml | 4 ++ 14 files changed, 115 insertions(+), 23 deletions(-) create mode 100644 app/src/main/res/drawable/progressbar_drawable.xml create mode 100644 app/src/main/res/raw/welcome_anime.json diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 78f70e2..9c9b138 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -69,6 +69,8 @@ dependencies { // implementation("androidx.core:core-splashscreen:1.0.1") implementation("androidx.browser:browser:1.8.0") + implementation("com.airbnb.android:lottie:6.7.1") + implementation(platform("com.google.firebase:firebase-bom:34.6.0")) implementation("com.google.firebase:firebase-crashlytics") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5a9c269..e8fa009 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,6 +31,7 @@ diff --git a/app/src/main/java/com/ux/video/file/filerecovery/result/ScanningActivity.kt b/app/src/main/java/com/ux/video/file/filerecovery/result/ScanningActivity.kt index d439bb4..76d2d22 100644 --- a/app/src/main/java/com/ux/video/file/filerecovery/result/ScanningActivity.kt +++ b/app/src/main/java/com/ux/video/file/filerecovery/result/ScanningActivity.kt @@ -19,7 +19,9 @@ import com.ux.video.file.filerecovery.utils.ScanState import com.ux.video.file.filerecovery.utils.ScanType import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.launch +import kotlin.coroutines.cancellation.CancellationException class ScanningActivity : BaseActivity() { @@ -94,7 +96,13 @@ class ScanningActivity : BaseActivity() { repeatOnLifecycle(Lifecycle.State.STARTED) { val root = Environment.getExternalStorageDirectory() ScanManager.scanAllDocuments(this@ScanningActivity, root, fileType = scanType.mediaType) - .flowOn(Dispatchers.IO).collect { + .flowOn(Dispatchers.IO) + .onCompletion { cause -> + if (cause is CancellationException) { + Common.showLog( "扫描文件 Flow 被取消") + } + } + .collect { when (it) { is ScanState.Progress -> { updateProgress(it) @@ -175,7 +183,7 @@ class ScanningActivity : BaseActivity() { putExtra(Common.KEY_SCAN_TYPE, scanType.value) }) } - ScanManager.showLog("HiddenScan", "完成: ${it.result.size}") + Common.showLog("完成: ${it.result.size}") } } } diff --git a/app/src/main/java/com/ux/video/file/filerecovery/utils/Common.kt b/app/src/main/java/com/ux/video/file/filerecovery/utils/Common.kt index c613e2b..dc43664 100644 --- a/app/src/main/java/com/ux/video/file/filerecovery/utils/Common.kt +++ b/app/src/main/java/com/ux/video/file/filerecovery/utils/Common.kt @@ -406,7 +406,7 @@ object Common { } fun showLog(msg: String) { - Log.d("============", msg) + Log.d("==File Recovery Tool==========", msg) } diff --git a/app/src/main/java/com/ux/video/file/filerecovery/utils/ScanManager.kt b/app/src/main/java/com/ux/video/file/filerecovery/utils/ScanManager.kt index fb8c70a..2dc4600 100644 --- a/app/src/main/java/com/ux/video/file/filerecovery/utils/ScanManager.kt +++ b/app/src/main/java/com/ux/video/file/filerecovery/utils/ScanManager.kt @@ -55,7 +55,7 @@ object ScanManager { maxFiles: Int = 5000, fileType: FileType ): Flow = flow { - + val appContext = context.applicationContext val result = mutableMapOf>() var fileCount = 0 suspend fun scanDocuments(dir: File, depth: Int) { @@ -65,6 +65,7 @@ object ScanManager { if (depth > maxDepth || fileCount >= maxFiles) return dir.listFiles()?.forEach { file -> context.ensureActive() + Common.showLog("扫描所有文件中....") if (file.isDirectory) { scanDocuments(file, depth + 1) } else { @@ -90,7 +91,7 @@ object ScanManager { path = file.absolutePath, size = file.length(), sizeString = Formatter.formatFileSize( - context, + appContext, file.length() ), lastModified = file.lastModified(), @@ -99,6 +100,7 @@ object ScanManager { } ResultData(dir, ArrayList(resultDataFilesList)) } + Common.showLog("扫描所有文件结束") emit(ScanState.Complete(ArrayList(map))) } @@ -361,7 +363,7 @@ object ScanManager { } success = destFile.exists() && destFile.length() > 0 - Common.showLog("------------success------${success}") + Common.showLog("---------批量恢复---success------${success}") success = true recoveryCount++ withContext(Dispatchers.Main) { diff --git a/app/src/main/java/com/ux/video/file/filerecovery/welcome/SplashActivity.kt b/app/src/main/java/com/ux/video/file/filerecovery/welcome/SplashActivity.kt index 5c2c06a..03a3ae4 100644 --- a/app/src/main/java/com/ux/video/file/filerecovery/welcome/SplashActivity.kt +++ b/app/src/main/java/com/ux/video/file/filerecovery/welcome/SplashActivity.kt @@ -1,28 +1,57 @@ package com.ux.video.file.filerecovery.welcome import android.content.Intent +import android.os.CountDownTimer import android.view.LayoutInflater import com.ux.video.file.filerecovery.base.BaseActivity import com.ux.video.file.filerecovery.databinding.ActivitySplashBinding import com.ux.video.file.filerecovery.main.MainActivity -import com.ux.video.file.filerecovery.recovery.RecoveryActivity class SplashActivity : BaseActivity() { + val time = 1500L + + private var countDownTimer: CountDownTimer? = null override fun inflateBinding(inflater: LayoutInflater): ActivitySplashBinding = ActivitySplashBinding.inflate(inflater) override fun initView() { super.initView() - binding.textEnter.setOnClickListener { - startActivity(Intent(this@SplashActivity, MainActivity::class.java)) - finish() - } + binding.lottieView.playAnimation() + binding.lottieView.speed = 8f + countDownTimer = object : CountDownTimer(time, 100) { + override fun onFinish() { + enterMain() + } + + override fun onTick(millisUntilFinished: Long) { + val progress = + 100f - (millisUntilFinished.toFloat() / time.toFloat() * 100f) + binding.progressBar.progress = progress.toInt() + } + + }.also { it.start() } } + + + private fun enterMain() { + binding.progressBar.progress = 100 + startActivity(Intent(this@SplashActivity, MainActivity::class.java)) + binding.lottieView.cancelAnimation() + finish() + } + override fun initData() { super.initData() } + override fun onDestroy() { + super.onDestroy() + countDownTimer?.cancel() + countDownTimer == null + binding.lottieView.cancelAnimation() + } + } \ No newline at end of file diff --git a/app/src/main/res/drawable/progressbar_drawable.xml b/app/src/main/res/drawable/progressbar_drawable.xml new file mode 100644 index 0000000..0e09b94 --- /dev/null +++ b/app/src/main/res/drawable/progressbar_drawable.xml @@ -0,0 +1,19 @@ + + + + + + + + + + > + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_recovery.xml b/app/src/main/res/layout/activity_recovery.xml index 9a3b404..7102f34 100644 --- a/app/src/main/res/layout/activity_recovery.xml +++ b/app/src/main/res/layout/activity_recovery.xml @@ -49,7 +49,7 @@ app:tabGravity="fill" app:tabIndicator="@drawable/tab_indicator" app:tabIndicatorGravity="bottom" - app:tabMode="fixed" /> + app:tabMode="scrollable" /> - + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/tab_layout_item.xml b/app/src/main/res/layout/tab_layout_item.xml index 1b585bc..503ab16 100644 --- a/app/src/main/res/layout/tab_layout_item.xml +++ b/app/src/main/res/layout/tab_layout_item.xml @@ -4,6 +4,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" + android:paddingHorizontal="16dp" android:orientation="vertical"> diff --git a/app/src/main/res/raw/welcome_anime.json b/app/src/main/res/raw/welcome_anime.json new file mode 100644 index 0000000..610c58a --- /dev/null +++ b/app/src/main/res/raw/welcome_anime.json @@ -0,0 +1 @@ +{"nm":"Frame 1912059595","ddd":0,"h":30,"w":76,"meta":{"g":"LottieFiles Figma v106"},"layers":[{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[3.58,5.6]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,20.7],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,16.6],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,18.6],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[3.58,19.6],"t":661},{"s":[3.58,19.6],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.64,0],[2.64,9.04],[7.17,9.04],[7.17,11.2],[0,11.2],[0,0],[2.64,0]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":1},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.54,4.53]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,21.98],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,19.53],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,16.53],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,18.53],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,19.53],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[12.42,20.53],"t":661},{"s":[12.42,20.53],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.69,0.37],[0.37,0.68],[0,0.94],[-0.81,0.77],[-1.41,0],[-0.81,-0.77],[0,-1.44],[0.37,-0.69],[0.68,-0.37],[0.91,0]],"o":[[-0.91,0],[-0.68,-0.37],[-0.37,-0.69],[0,-1.44],[0.81,-0.77],[1.4,0],[0.81,0.77],[0,0.94],[-0.37,0.68],[-0.68,0.37],[0,0]],"v":[[4.54,9.06],[2.14,8.5],[0.56,6.91],[0,4.46],[1.22,1.15],[4.54,0],[7.86,1.15],[9.07,4.46],[8.51,6.91],[6.93,8.5],[4.54,9.06]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-0.37,-0.5],[-0.6,0],[-0.36,0.5],[0,0.82],[0.36,0.44],[0.62,0],[0.36,-0.45],[0,-0.85]],"o":[[0,0.82],[0.37,0.5],[0.6,0],[0.37,-0.5],[0,-0.85],[-0.35,-0.45],[-0.62,0],[-0.36,0.44],[0,0]],"v":[[2.53,4.46],[3.09,6.45],[4.54,7.2],[5.98,6.45],[6.54,4.46],[6,2.53],[4.54,1.86],[3.07,2.53],[2.53,4.46]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":2},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.47,4.53]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,21.98],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,21.98],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,19.53],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,16.53],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,16.53],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[22.38,20.53],"t":661},{"s":[22.38,20.53],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.61,0.38],[0.33,0.67],[0,0.9],[-0.32,0.68],[-0.59,0.38],[-0.79,0],[-0.36,-0.14],[-0.32,-0.23],[0,0],[0,0],[0,0],[-0.21,-0.48],[0,0],[0.05,0.23],[0.91,0]],"o":[[-0.81,0],[-0.6,-0.38],[-0.32,-0.67],[0,-0.89],[0.33,-0.69],[0.6,-0.38],[0.36,0],[0.37,0.13],[0,0],[0,0],[0,0],[0,0.86],[0,0],[-0.07,-0.15],[-0.66,0.52],[0,0]],"v":[[4,9.06],[1.87,8.48],[0.48,6.9],[0,4.54],[0.48,2.19],[1.86,0.58],[3.94,0],[5.02,0.21],[6.06,0.75],[6.06,0.21],[8.62,0.21],[8.62,6.83],[8.94,8.85],[6.54,8.85],[6.35,8.27],[4,9.06]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-0.19,-0.41],[-0.32,-0.25],[-0.36,0],[-0.32,0.11],[-0.23,0.37],[0,0],[0.32,0.11],[0.27,0],[0.33,-0.23],[0.2,-0.42],[0,-0.5]],"o":[[0,0.49],[0.2,0.41],[0.33,0.23],[0.26,0],[0.32,-0.12],[0,0],[-0.23,-0.37],[-0.31,-0.11],[-0.36,0],[-0.32,0.23],[-0.19,0.41],[0,0]],"v":[[2.45,4.54],[2.74,5.89],[3.52,6.86],[4.56,7.22],[5.42,7.06],[6.26,6.32],[6.26,2.74],[5.42,2.02],[4.56,1.86],[3.52,2.21],[2.74,3.18],[2.45,4.54]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":3},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.47,6.26]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,20.26],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,20.26],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,20.26],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,17.26],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,14.26],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,16.26],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[32.29,19.26],"t":661},{"s":[32.29,19.26],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.6,0.37],[0.32,0.68],[0,0.87],[-0.32,0.68],[-0.59,0.38],[-0.79,0],[-0.36,-0.13],[-0.32,-0.25],[0,0],[0,0],[0,0],[-0.21,-0.48],[0,0],[0.05,0.23],[0.94,0]],"o":[[-0.79,0],[-0.6,-0.38],[-0.32,-0.68],[0,-0.89],[0.33,-0.69],[0.6,-0.38],[0.36,0],[0.37,0.13],[0,0],[0,0],[0,0],[0,0.85],[0,0],[-0.07,-0.15],[-0.67,0.52],[0,0]],"v":[[3.94,12.51],[1.86,11.95],[0.48,10.35],[0,8.02],[0.48,5.66],[1.86,4.05],[3.94,3.47],[5.02,3.66],[6.06,4.22],[6.06,0],[8.62,0],[8.62,10.3],[8.94,12.3],[6.54,12.3],[6.35,11.73],[3.94,12.51]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-0.19,-0.41],[-0.32,-0.25],[-0.36,0],[-0.34,0.14],[-0.22,0.44],[0,0],[0.35,0.14],[0.29,0],[0.33,-0.23],[0.2,-0.42],[0,-0.5]],"o":[[0,0.49],[0.2,0.41],[0.33,0.23],[0.29,0],[0.35,-0.14],[0,0],[-0.22,-0.45],[-0.34,-0.14],[-0.36,0],[-0.32,0.23],[-0.19,0.42],[0,0]],"v":[[2.45,8.02],[2.74,9.36],[3.52,10.34],[4.56,10.69],[5.5,10.48],[6.37,9.62],[6.37,6.4],[5.5,5.52],[4.56,5.31],[3.52,5.66],[2.74,6.64],[2.45,8.02]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":4},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[1.28,6.15]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,20.15],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,20.15],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,20.15],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,20.15],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,17.15],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,14.15],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,16.15],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[39.53,19.15],"t":661},{"s":[39.53,19.15],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.56,3.66],[2.56,12.3],[0,12.3],[0,3.66],[2.56,3.66]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0,0],[2.56,0],[2.56,2.56],[0,2.56],[0,0]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":5},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.06,4.34]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.93],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.93],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.93],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.93],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.93],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,18.34],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,14.34],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,18.34],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.34],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.34],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.34],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.34],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[46.68,21.34],"t":661},{"s":[46.68,21.34],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[-0.5,0.19],[-0.5,0],[-0.48,-0.48],[0,-0.77],[0,0],[0,0],[0,0],[0.26,0.19],[0.35,0],[0.34,-0.15],[0.23,-0.21],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0.39,-0.34],[0.51,-0.19],[0.82,0],[0.49,0.48],[0,0],[0,0],[0,0],[0,-0.31],[-0.26,-0.2],[-0.22,0],[-0.33,0.15],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.56,0.05],[2.56,1.09],[3.9,0.29],[5.42,0],[7.38,0.72],[8.11,2.59],[8.11,8.69],[5.55,8.69],[5.55,3.02],[5.17,2.27],[4.26,1.97],[3.41,2.19],[2.56,2.74],[2.56,8.69],[0,8.69],[0,0.05],[2.56,0.05]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":6},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.26,6.25]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.7],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,19.25],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,14.25],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,18.25],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,18.25],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.25],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.25],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[56.28,23.25],"t":661},{"s":[56.28,23.25],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.66,0.09],[0.52,0.16],[0,0],[-1.14,0],[-0.37,0.32],[0,0.57],[0.81,0],[0.6,0.38],[0.32,0.67],[0,0.89],[-0.32,0.68],[-0.59,0.38],[-0.79,0],[-0.66,-0.49],[0,0],[0,0],[0,0],[2.93,0]],"o":[[-0.65,0],[-0.65,-0.09],[0,0],[1.14,0.26],[0.73,0],[0.37,-0.32],[-0.59,0.38],[-0.79,0],[-0.6,-0.38],[-0.32,-0.68],[0,-0.89],[0.33,-0.69],[0.6,-0.38],[0.74,0],[0,0],[0,0],[0,0],[0,2.45],[0,0]],"v":[[4.13,12.5],[2.16,12.37],[0.4,12],[0.4,9.9],[3.82,10.29],[5.47,9.81],[6.03,8.48],[3.94,9.06],[1.86,8.48],[0.48,6.9],[0,4.54],[0.48,2.19],[1.86,0.58],[3.94,0],[6.03,0.74],[6.03,0.21],[8.53,0.21],[8.53,8.82],[4.13,12.5]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-0.19,-0.41],[-0.32,-0.25],[-0.36,0],[-0.33,0.12],[-0.23,0.39],[0,0],[0,0],[0.35,0.14],[0.29,0],[0.33,-0.23],[0.2,-0.42],[0,-0.5]],"o":[[0,0.49],[0.2,0.41],[0.33,0.23],[0.27,0],[0.33,-0.13],[0,0],[0,0],[-0.22,-0.46],[-0.35,-0.15],[-0.36,0],[-0.32,0.23],[-0.19,0.41],[0,0]],"v":[[2.45,4.54],[2.74,5.89],[3.52,6.86],[4.56,7.22],[5.46,7.04],[6.3,6.26],[6.38,5.94],[6.38,2.98],[5.52,2.08],[4.56,1.86],[3.52,2.21],[2.74,3.18],[2.45,4.54]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":7},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[1.31,1.31]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.99],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,21.31],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,16.31],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,16.31],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,20.31],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.31],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[63.98,24.31],"t":661},{"s":[63.98,24.31],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.62,0],[2.62,2.62],[0,2.62],[0,0],[2.62,0]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":8},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[1.31,1.31]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.99],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,20.31],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,20.31],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,16.31],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,21.31],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[69.24,24.31],"t":661},{"s":[69.24,24.31],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.62,0],[2.62,2.62],[0,2.62],[0,0],[2.62,0]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":9},{"ty":4,"nm":"Vector","sr":1,"st":0,"op":721.72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[1.31,1.31]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":0},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":60},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":120},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":180},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":240},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":300},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":360},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":420},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":480},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,24.99],"t":481},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,20.31],"t":541},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,18.31],"t":601},{"o":{"x":0.33,"y":1},"i":{"x":0.68,"y":1},"s":[74.51,22.31],"t":661},{"s":[74.51,24.31],"t":721}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.62,0],[2.62,2.62],[0,2.62],[0,0],[2.62,0]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.5882,0.5882,0.6338]},"r":1,"o":{"a":0,"k":100}}],"ind":10}],"v":"5.7.0","fr":60,"op":720.72,"ip":0,"assets":[]} \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 88f3c14..24835a5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -30,4 +30,6 @@ #70ABFF #326EFF + #D5EBFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0787f1f..afa0a43 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,6 +8,7 @@ ENTER File\nRecovery Important files shouldn\'t just disappear. + Loading... %.2f KB diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 5681bbc..8da8cc3 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -6,4 +6,8 @@ \ No newline at end of file