Эх сурвалжийг харах

Merge pull request #3454 from nextcloud/bugfix/noid/deleteUserWhenUnregisterForNotificationsFailed

Fix to delete user when unregister for notifications failed
Marcel Hibbe 1 жил өмнө
parent
commit
fc42fe9551

+ 7 - 6
app/src/main/java/com/nextcloud/talk/jobs/AccountRemovalWorker.java

@@ -129,6 +129,7 @@ public class AccountRemovalWorker extends Worker {
                         @Override
                         @Override
                         public void onError(@io.reactivex.annotations.NonNull Throwable e) {
                         public void onError(@io.reactivex.annotations.NonNull Throwable e) {
                             Log.e(TAG, "error while trying to unregister Device For Notifications", e);
                             Log.e(TAG, "error while trying to unregister Device For Notifications", e);
+                            initiateUserDeletion(user);
                         }
                         }
 
 
                         @Override
                         @Override
@@ -137,7 +138,7 @@ public class AccountRemovalWorker extends Worker {
                         }
                         }
                     });
                     });
             } else {
             } else {
-                deleteUser(user);
+                initiateUserDeletion(user);
             }
             }
         }
         }
 
 
@@ -172,15 +173,13 @@ public class AccountRemovalWorker extends Worker {
                             }
                             }
                         }
                         }
 
 
-                        if (user.getId() != null) {
-                            WebSocketConnectionHelper.deleteExternalSignalingInstanceForUserEntity(user.getId());
-                        }
-                        deleteAllEntriesForAccountIdentifier(user);
+                        initiateUserDeletion(user);
                     }
                     }
 
 
                     @Override
                     @Override
                     public void onError(Throwable e) {
                     public void onError(Throwable e) {
                         Log.e(TAG, "error while trying to unregister Device For Notification With Proxy", e);
                         Log.e(TAG, "error while trying to unregister Device For Notification With Proxy", e);
+                        initiateUserDeletion(user);
                     }
                     }
 
 
                     @Override
                     @Override
@@ -190,8 +189,10 @@ public class AccountRemovalWorker extends Worker {
                 });
                 });
     }
     }
 
 
-    private void deleteAllEntriesForAccountIdentifier(User user) {
+    private void initiateUserDeletion(User user) {
         if (user.getId() != null) {
         if (user.getId() != null) {
+            WebSocketConnectionHelper.deleteExternalSignalingInstanceForUserEntity(user.getId());
+
             try {
             try {
                 arbitraryStorageManager.deleteAllEntriesForAccountIdentifier(user.getId());
                 arbitraryStorageManager.deleteAllEntriesForAccountIdentifier(user.getId());
                 deleteUser(user);
                 deleteUser(user);