Browse Source

优化图片相关搜索

zk 1 year ago
parent
commit
f222603aa9

+ 5 - 6
app/src/main/java/com/datarecovery/master/dialog/ScanProgressDialog.java

@@ -4,11 +4,10 @@ import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator;
 import android.content.Context;
 import android.content.Context;
-import android.view.animation.AccelerateDecelerateInterpolator;
+import android.view.animation.DecelerateInterpolator;
 
 
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
 
 
 import com.atmob.app.lib.base.BaseDialog;
 import com.atmob.app.lib.base.BaseDialog;
 import com.datarecovery.master.R;
 import com.datarecovery.master.R;
@@ -45,23 +44,23 @@ public class ScanProgressDialog extends BaseDialog<DialogScanProgressBinding> {
 
 
     private void startProgress() {
     private void startProgress() {
         ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 99);
         ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 99);
-        valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
+        valueAnimator.setInterpolator(new DecelerateInterpolator());
         valueAnimator.addUpdateListener(animation -> {
         valueAnimator.addUpdateListener(animation -> {
             float value = (float) valueAnimator.getAnimatedValue();
             float value = (float) valueAnimator.getAnimatedValue();
             binding.setPercentageValue(value);
             binding.setPercentageValue(value);
         });
         });
-        valueAnimator.setDuration(1000 * 60 * 3);
+        valueAnimator.setDuration(1000 * 60 * 5);
         valueAnimator.start();
         valueAnimator.start();
     }
     }
 
 
     public void detectedFinish() {
     public void detectedFinish() {
+        float limit = 100 - binding.getPercentageValue();
         ValueAnimator valueAnimator = ValueAnimator.ofFloat(binding.getPercentageValue(), 100);
         ValueAnimator valueAnimator = ValueAnimator.ofFloat(binding.getPercentageValue(), 100);
-        valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
         valueAnimator.addUpdateListener(animation -> {
         valueAnimator.addUpdateListener(animation -> {
             float value = (float) valueAnimator.getAnimatedValue();
             float value = (float) valueAnimator.getAnimatedValue();
             binding.setPercentageValue(value);
             binding.setPercentageValue(value);
         });
         });
-        valueAnimator.setDuration(2000);
+        valueAnimator.setDuration((int) limit * 100L);
         valueAnimator.start();
         valueAnimator.start();
         valueAnimator.addListener(new AnimatorListenerAdapter() {
         valueAnimator.addListener(new AnimatorListenerAdapter() {
             @Override
             @Override

+ 1 - 1
app/src/main/java/com/datarecovery/master/module/imgrecover/ImageRecoverViewModel.java

@@ -204,7 +204,7 @@ public class ImageRecoverViewModel extends BaseViewModel {
     private void startImageScanning() {
     private void startImageScanning() {
         ImageDeepDetector.detect(ContextUtil.getContext())
         ImageDeepDetector.detect(ContextUtil.getContext())
                 .take(SCANNING_COUNTDOWN, TimeUnit.MILLISECONDS)
                 .take(SCANNING_COUNTDOWN, TimeUnit.MILLISECONDS)
-                .subscribeOn(AndroidSchedulers.mainThread())
+                .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new FlowableSubscriber<List<ImageDeepDetector.ImageFile>>() {
                 .subscribe(new FlowableSubscriber<List<ImageDeepDetector.ImageFile>>() {
                     @Override
                     @Override
                     public void onSubscribe(@NonNull Subscription s) {
                     public void onSubscribe(@NonNull Subscription s) {

+ 3 - 3
app/src/main/res/layout/activity_image_recover.xml

@@ -14,11 +14,11 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
         android:layout_height="match_parent">
 
 
-        <Toolbar
+        <androidx.appcompat.widget.Toolbar
             android:id="@+id/tool_bar"
             android:id="@+id/tool_bar"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:navigationIcon="@drawable/icon_back"
+            app:navigationIcon="@drawable/icon_back"
             app:layout_constraintTop_toTopOf="parent">
             app:layout_constraintTop_toTopOf="parent">
 
 
             <TextView
             <TextView
@@ -36,7 +36,7 @@
                 android:background="?android:attr/selectableItemBackgroundBorderless"
                 android:background="?android:attr/selectableItemBackgroundBorderless"
                 android:onClick="@{()->imageRecoverViewModel.onCheckAllClick(!imageRecoverViewModel.checkAll)}"
                 android:onClick="@{()->imageRecoverViewModel.onCheckAllClick(!imageRecoverViewModel.checkAll)}"
                 tools:src="@drawable/icon_image_recover_uncheck" />
                 tools:src="@drawable/icon_image_recover_uncheck" />
-        </Toolbar>
+        </androidx.appcompat.widget.Toolbar>
 
 
         <com.google.android.material.tabs.TabLayout
         <com.google.android.material.tabs.TabLayout
             android:id="@+id/tab_layout"
             android:id="@+id/tab_layout"

+ 2 - 2
app/src/main/res/layout/dialog_scan_progress.xml

@@ -22,6 +22,7 @@
 
 
     <androidx.constraintlayout.widget.ConstraintLayout
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
+        android:keepScreenOn="true"
         android:layout_height="match_parent"
         android:layout_height="match_parent"
         tools:background="@color/black70">
         tools:background="@color/black70">
 
 
@@ -111,7 +112,7 @@
             app:layout_constraintWidth_percent="0.1055555555555556" />
             app:layout_constraintWidth_percent="0.1055555555555556" />
 
 
         <TextView
         <TextView
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="center"
             android:gravity="center"
             android:text="@{@string/percentage(TextUtil.formatFloatWithout0End(percentageValue,1))}"
             android:text="@{@string/percentage(TextUtil.formatFloatWithout0End(percentageValue,1))}"
@@ -119,7 +120,6 @@
             android:textSize="12dp"
             android:textSize="12dp"
             app:layout_constraintBottom_toBottomOf="@+id/iv_scan_progress_bg"
             app:layout_constraintBottom_toBottomOf="@+id/iv_scan_progress_bg"
             app:layout_constraintEnd_toEndOf="@+id/iv_scan_progress_bg"
             app:layout_constraintEnd_toEndOf="@+id/iv_scan_progress_bg"
-            app:layout_constraintHorizontal_bias="0.5384615384615385"
             app:layout_constraintStart_toStartOf="@+id/iv_scan_progress_bg"
             app:layout_constraintStart_toStartOf="@+id/iv_scan_progress_bg"
             app:layout_constraintTop_toTopOf="@+id/iv_scan_progress_bg"
             app:layout_constraintTop_toTopOf="@+id/iv_scan_progress_bg"
             app:layout_constraintVertical_bias="0.1818181818181818"
             app:layout_constraintVertical_bias="0.1818181818181818"