Browse Source

Merge pull request #2158 from nextcloud/deletePublicKey

Delete public key if storage of private key did not worked
Tobias Kaminsky 7 years ago
parent
commit
1e39e967f2

+ 1 - 1
build.gradle

@@ -182,7 +182,7 @@ dependencies {
     // dependencies for app building
     implementation 'com.android.support:multidex:1.0.2'
 //    implementation project('nextcloud-android-library')
-    implementation 'com.github.nextcloud:android-library:1.0.37'
+    implementation 'com.github.nextcloud:android-library:1.0.38'
     versionDevImplementation 'com.github.nextcloud:android-library:master-SNAPSHOT' // use always latest master
     implementation "com.android.support:support-v4:${supportLibraryVersion}"
     implementation "com.android.support:design:${supportLibraryVersion}"

+ 5 - 3
src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java

@@ -41,6 +41,7 @@ import com.owncloud.android.datamodel.ArbitraryDataProvider;
 import com.owncloud.android.lib.common.UserInfo;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.lib.resources.users.DeletePublicKeyOperation;
 import com.owncloud.android.lib.resources.users.GetPrivateKeyOperation;
 import com.owncloud.android.lib.resources.users.GetPublicKeyOperation;
 import com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation;
@@ -346,8 +347,7 @@ public class SetupEncryptionDialogFragment extends DialogFragment {
 
                 // get user id
                 String userID;
-                GetRemoteUserInfoOperation remoteUserNameOperation =
-                        new GetRemoteUserInfoOperation();
+                GetRemoteUserInfoOperation remoteUserNameOperation = new GetRemoteUserInfoOperation();
                 RemoteOperationResult remoteUserNameOperationResult = remoteUserNameOperation
                         .execute(account, getContext(), true);
 
@@ -398,8 +398,10 @@ public class SetupEncryptionDialogFragment extends DialogFragment {
 
                     keyResult = KEY_CREATED;
                     return (String) storePrivateKeyResult.getData().get(0);
+                } else {
+                    DeletePublicKeyOperation deletePublicKeyOperation = new DeletePublicKeyOperation();
+                    deletePublicKeyOperation.execute(account, getContext(), true);
                 }
-
             } catch (Exception e) {
                 Log_OC.e(TAG, e.getMessage());
             }