Browse Source

修复文件扫描途中触发弹窗导致后续弹窗无法弹出的问题

zk 1 year ago
parent
commit
c65ce4f0d5

+ 3 - 0
app/src/main/java/com/datarecovery/master/module/audiorecover/AudioRecoverViewModel.java

@@ -438,6 +438,9 @@ public class AudioRecoverViewModel extends BaseViewModel {
     }
 
     public void scrollPosition(int firstCompletePosition, int lastCompletelyItemPosition, int itemCount) {
+        if (scanDisposable != null && !scanDisposable.isDisposed()) {
+            return;
+        }
         if (lastCompletelyItemPosition == itemCount - 1 && firstCompletePosition > 0 && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
             showTrialFinishDialog.call();
             EventHelper.report(EventId.hf1001119, Maps.asMap(EventId.EVENT_ID, ReportUtil.getReportId(MemberType.APP_AUDIO_RECOVER)));

+ 4 - 1
app/src/main/java/com/datarecovery/master/module/filerecover/FileRecoverViewModel.java

@@ -370,7 +370,10 @@ public class FileRecoverViewModel extends BaseViewModel {
     }
 
     public void scrollPosition(int lastCompletelyItemPosition, int itemCount) {
-        if (lastCompletelyItemPosition == itemCount - 1 && scanDisposable != null && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
+        if (scanDisposable != null && !scanDisposable.isDisposed()) {
+            return;
+        }
+        if (lastCompletelyItemPosition == itemCount - 1 && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
             showTrialFinishDialog.call();
             EventHelper.report(EventId.hf1001119, Maps.asMap(EventId.EVENT_ID, ReportUtil.getReportId(MemberType.APP_FILE_RECOVER)));
         }

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

@@ -657,7 +657,10 @@ public class ImageRecoverViewModel extends BaseViewModel {
     }
 
     public void scrollPosition(int lastCompletelyItemPosition, int itemCount) {
-        if (lastCompletelyItemPosition == itemCount - 1 && scanDisposable != null && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
+        if (scanDisposable != null && !scanDisposable.isDisposed()) {
+            return;
+        }
+        if (lastCompletelyItemPosition == itemCount - 1 && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
             showTrialFinishDialog.call();
             EventHelper.report(EventId.hf1001119, Maps.asMap(EventId.EVENT_ID, ReportUtil.getReportId(type)));
         }

+ 3 - 0
app/src/main/java/com/datarecovery/master/module/videorecover/VideoRecoverViewModel.java

@@ -304,6 +304,9 @@ public class VideoRecoverViewModel extends BaseViewModel {
     }
 
     public void scrollPosition(int firstCompletePosition, int lastCompletelyItemPosition, int itemCount) {
+        if (scanDisposable != null && !scanDisposable.isDisposed()) {
+            return;
+        }
         if (lastCompletelyItemPosition == itemCount - 1 && firstCompletePosition > 0 && !BoxingUtil.boxing(showScanDialogEvent.getValue())) {
             showTrialFinishDialog.call();
             EventHelper.report(EventId.hf1001119, Maps.asMap(EventId.EVENT_ID, ReportUtil.getReportId(MemberType.APP_VIDEO_RECOVER)));