فهرست منبع

Refresh data only when needed

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 7 سال پیش
والد
کامیت
dc0064ee13

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/CallsListController.java

@@ -385,7 +385,7 @@ public class CallsListController extends BaseController implements SearchView.On
             if (!bottomSheetLockEvent.isCancel()) {
                 bottomSheet.setCancelable(bottomSheetLockEvent.isCancel());
             } else {
-                if (bottomSheetLockEvent.getDelay() != 0) {
+                if (bottomSheetLockEvent.getDelay() != 0 && bottomSheetLockEvent.isShouldRefreshData()) {
                     fetchData(true);
                 } else {
                     bottomSheet.setCancelable(true);

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java

@@ -143,7 +143,7 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
         if (menuItem != null) {
             int tag = menuItem.getTag();
             if (tag > 0 && tag < 9) {
-                eventBus.post(new BottomSheetLockEvent(false, 0));
+                eventBus.post(new BottomSheetLockEvent(false, 0, false));
                 bundle.putInt(BundleKeys.KEY_OPERATION_CODE, tag);
                 if (tag != 6 && tag != 2) {
                     getRouter().pushController(RouterTransaction.with(new OperationsMenuController(bundle)));

+ 3 - 2
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java

@@ -182,11 +182,12 @@ public class OperationsMenuController extends BaseController {
             resultsTextView.setText(R.string.nc_failed_to_perform_operation);
         }
 
+        boolean shouldRefreshData = operationCode != 4 && operationCode != 5;
         resultsTextView.setVisibility(View.VISIBLE);
         if (everythingOK) {
-            eventBus.post(new BottomSheetLockEvent(true, 2500));
+            eventBus.post(new BottomSheetLockEvent(true, 2500, shouldRefreshData));
         } else {
-            okButton.setOnClickListener(v -> eventBus.post(new BottomSheetLockEvent(true, 0)));
+            okButton.setOnClickListener(v -> eventBus.post(new BottomSheetLockEvent(true, 0, shouldRefreshData)));
             okButton.setVisibility(View.VISIBLE);
         }
     }

+ 3 - 1
app/src/main/java/com/nextcloud/talk/events/BottomSheetLockEvent.java

@@ -26,9 +26,11 @@ import lombok.Data;
 public class BottomSheetLockEvent {
     private final boolean cancel;
     private final int delay;
+    private final boolean shouldRefreshData;
 
-    public BottomSheetLockEvent(boolean cancel, int delay) {
+    public BottomSheetLockEvent(boolean cancel, int delay, boolean shouldRefreshData) {
         this.cancel = cancel;
         this.delay = delay;
+        this.shouldRefreshData = shouldRefreshData;
     }
 }