Browse Source

[Fix]处理一些问题

litchi98 2 months ago
parent
commit
789d974fb9

+ 8 - 0
app/src/main/AndroidManifest.xml

@@ -13,6 +13,14 @@
         tools:ignore="ScopedStorage" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
 
+    <uses-permission
+        android:name="android.permission.ACCESS_FINE_LOCATION"
+        tools:node="remove" />
+
+    <uses-permission
+        android:name="android.permission.ACCESS_COARSE_LOCATION"
+        tools:node="remove" />
+
     <application
         android:name=".App"
         android:allowBackup="false"

+ 10 - 0
app/src/main/java/com/datarecovery/master/module/audiorecover/AudioRecoverActivity.java

@@ -141,9 +141,11 @@ public class AudioRecoverActivity extends BaseActivity<ActivityAudioRecoverBindi
                         @Override
                         public void onUnlock() {
                             AtmobAdHelper.showVideo(AdFuncId.REWARD_RECOVER, new RewardVideoListenerAdapter() {
+                                boolean isRewarded = false;
                                 @Override
                                 public void onRewarded(@androidx.annotation.NonNull String token) {
                                     super.onRewarded(token);
+                                    isRewarded = true;
                                     audioRecoverViewModel.doExport();
                                 }
 
@@ -152,6 +154,14 @@ public class AudioRecoverActivity extends BaseActivity<ActivityAudioRecoverBindi
                                     super.onFail(s);
                                     ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
                                 }
+
+                                @Override
+                                public void onClose() {
+                                    super.onClose();
+                                    if (!isRewarded) {
+                                        ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
+                                    }
+                                }
                             });
                         }
                     });

+ 10 - 0
app/src/main/java/com/datarecovery/master/module/filerecover/FileRecoverActivity.java

@@ -97,9 +97,11 @@ public class FileRecoverActivity extends BaseActivity<ActivityFileRecoverBinding
         if (unlockFunctionDialog == null) {
             unlockFunctionDialog = new UnlockFunctionDialog(this, FunctionBean.FILE_RECOVERY)
                     .setActionHandler(() -> AtmobAdHelper.showVideo(AdFuncId.REWARD_RECOVER, new RewardVideoListenerAdapter() {
+                        boolean isRewarded = false;
                         @Override
                         public void onRewarded(@androidx.annotation.NonNull String token) {
                             super.onRewarded(token);
+                            isRewarded = true;
                             fileRecoverViewModel.doExport();
                         }
 
@@ -108,6 +110,14 @@ public class FileRecoverActivity extends BaseActivity<ActivityFileRecoverBinding
                             super.onFail(s);
                             ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
                         }
+
+                        @Override
+                        public void onClose() {
+                            super.onClose();
+                            if (!isRewarded) {
+                                ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
+                            }
+                        }
                     }));
         }
         unlockFunctionDialog.show();

+ 22 - 0
app/src/main/java/com/datarecovery/master/module/imgrecover/ImageRecoverActivity.java

@@ -354,9 +354,12 @@ public class ImageRecoverActivity extends BaseActivity<ActivityImageRecoverBindi
                         if (Objects.equals(imageRecoverViewModel.getType(), MemberType.APP_IMAGE_CLEAN)) {
                             EventHelper.report(EventId.EVENT_3000901);
                             AtmobAdHelper.showVideo(AdFuncId.REWARD_CLEAN, new RewardVideoListenerAdapter() {
+                                boolean isRewarded = false;
+
                                 @Override
                                 public void onRewarded(@androidx.annotation.NonNull String token) {
                                     super.onRewarded(token);
+                                    isRewarded = true;
                                     showClearDialog();
                                 }
 
@@ -365,12 +368,23 @@ public class ImageRecoverActivity extends BaseActivity<ActivityImageRecoverBindi
                                     super.onFail(s);
                                     ToastUtil.show(R.string.clean_failed, ToastUtil.LENGTH_SHORT);
                                 }
+
+                                @Override
+                                public void onClose() {
+                                    super.onClose();
+                                    if (!isRewarded) {
+                                        ToastUtil.show(R.string.clean_failed, ToastUtil.LENGTH_SHORT);
+                                    }
+                                }
                             });
                         } else {
                             AtmobAdHelper.showVideo(AdFuncId.REWARD_RECOVER, new RewardVideoListenerAdapter() {
+                                boolean isRewarded = false;
+
                                 @Override
                                 public void onRewarded(@androidx.annotation.NonNull String token) {
                                     super.onRewarded(token);
+                                    isRewarded = true;
                                     imageRecoverViewModel.exportImage();
                                 }
 
@@ -379,6 +393,14 @@ public class ImageRecoverActivity extends BaseActivity<ActivityImageRecoverBindi
                                     super.onFail(s);
                                     ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
                                 }
+
+                                @Override
+                                public void onClose() {
+                                    super.onClose();
+                                    if (!isRewarded) {
+                                        ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
+                                    }
+                                }
                             });
                         }
                     });

+ 10 - 0
app/src/main/java/com/datarecovery/master/module/preview/PreviewActivity.java

@@ -144,12 +144,14 @@ public class PreviewActivity extends BaseActivity<ActivityPreviewBinding> {
         if (unlockFunctionDialog == null) {
             unlockFunctionDialog = new UnlockFunctionDialog(this, getFunctionByType(previewViewModel.getType()))
                     .setActionHandler(new UnlockFunctionDialog.ActionHandler() {
+                        boolean isRewarded = false;
                         @Override
                         public void onUnlock() {
                             AtmobAdHelper.showVideo(AdFuncId.REWARD_RECOVER, new RewardVideoListenerAdapter() {
                                 @Override
                                 public void onRewarded(@NonNull String token) {
                                     super.onRewarded(token);
+                                    isRewarded = true;
                                     previewViewModel.doExport();
                                 }
 
@@ -158,6 +160,14 @@ public class PreviewActivity extends BaseActivity<ActivityPreviewBinding> {
                                     super.onFail(s);
                                     ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
                                 }
+
+                                @Override
+                                public void onClose() {
+                                    super.onClose();
+                                    if (!isRewarded) {
+                                        ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
+                                    }
+                                }
                             });
                         }
                     });

+ 0 - 1
app/src/main/java/com/datarecovery/master/module/preview/PreviewViewModel.java

@@ -228,7 +228,6 @@ public class PreviewViewModel extends BaseViewModel {
                 EventHelper.report(EventId.EVENT_3000504);
                 break;
             case PreviewActivity.TYPE_VIDEO:
-                EventHelper.report(EventId.EVENT_3000700);
                 break;
             case PreviewActivity.TYPE_AUDIO:
                 EventHelper.report(EventId.EVENT_3000803);

+ 12 - 0
app/src/main/java/com/datarecovery/master/module/videorecover/VideoRecoverActivity.java

@@ -109,9 +109,12 @@ public class VideoRecoverActivity extends BaseActivity<ActivityVideoRecoverBindi
         if (unlockFunctionDialog == null) {
             unlockFunctionDialog = new UnlockFunctionDialog(this, FunctionBean.VIDEO_RECOVERY)
                     .setActionHandler(() -> AtmobAdHelper.showVideo(AdFuncId.REWARD_RECOVER, new RewardVideoListenerAdapter() {
+                        boolean isRewarded = false;
+
                         @Override
                         public void onRewarded(@NonNull String token) {
                             super.onRewarded(token);
+                            isRewarded = true;
                             videoRecoverViewModel.doExport();
                         }
 
@@ -120,6 +123,14 @@ public class VideoRecoverActivity extends BaseActivity<ActivityVideoRecoverBindi
                             super.onFail(s);
                             ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
                         }
+
+                        @Override
+                        public void onClose() {
+                            super.onClose();
+                            if (!isRewarded) {
+                                ToastUtil.show(R.string.recover_failed, ToastUtil.LENGTH_SHORT);
+                            }
+                        }
                     }));
         }
         unlockFunctionDialog.show();
@@ -168,6 +179,7 @@ public class VideoRecoverActivity extends BaseActivity<ActivityVideoRecoverBindi
             @Override
             public void onItemClick(FilesSearch.DocumentFile file) {
                 PreviewActivity.startDocumentPreView(VideoRecoverActivity.this, PreviewActivity.TYPE_VIDEO, file);
+                EventHelper.report(EventId.EVENT_3000700);
             }
         });
     }

File diff suppressed because it is too large
+ 4 - 3
app/src/main/res/values/strings.xml