Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 52b7765d authored by Tobias Kaminsky's avatar Tobias Kaminsky Committed by GitHub
Browse files

Merge pull request #213 from nextcloud/fixDirectEditing

Fix wrong check for direct editing
parents d472d374 7e65ebe8
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation {
    private static final String NODE_RICHDOCUMENTS = "richdocuments";
    private static final String NODE_MIMETYPES = "mimetypes";
    private static final String NODE_RICHDOCUMENTS_DIRECT_EDITING = "direct_editing";
    private static final String NODE_RICHDOCUMENTS_TEMPLATES = "templates";

    // activity
    private static final String NODE_ACTIVITY = "activity";
@@ -403,10 +404,10 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation {
                        }
                        
                        if (respCapabilities.has(NODE_RICHDOCUMENTS)) {
                            JSONObject richDocumentsCapability = respCapabilities.getJSONObject(NODE_RICHDOCUMENTS);
                            capability.setRichDocuments(CapabilityBooleanType.TRUE);

                            JSONArray mimeTypesArray = respCapabilities.getJSONObject(NODE_RICHDOCUMENTS)
                                    .getJSONArray(NODE_MIMETYPES);
                            JSONArray mimeTypesArray = richDocumentsCapability.getJSONArray(NODE_MIMETYPES);
                            
                            ArrayList<String> mimeTypes = new ArrayList<>();

@@ -416,11 +417,25 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation {
                            
                            capability.setRichDocumentsMimeTypeList(mimeTypes);

                            if (respCapabilities.has(NODE_RICHDOCUMENTS_DIRECT_EDITING)) {
                            if (richDocumentsCapability.has(NODE_RICHDOCUMENTS_DIRECT_EDITING)) {
                                if (richDocumentsCapability.getBoolean(NODE_RICHDOCUMENTS_DIRECT_EDITING)) {
                                    capability.setRichDocumentsDirectEditing(CapabilityBooleanType.TRUE);
                                } else {
                                    capability.setRichDocumentsDirectEditing(CapabilityBooleanType.FALSE);
                                }
                            } else {
                                capability.setRichDocumentsDirectEditing(CapabilityBooleanType.FALSE);
                            }

                            if (richDocumentsCapability.has(NODE_RICHDOCUMENTS_TEMPLATES)) {
                                if (richDocumentsCapability.getBoolean(NODE_RICHDOCUMENTS_TEMPLATES)) {
                                    capability.setRichdocumentsTemplatesAvailable(CapabilityBooleanType.TRUE);
                                } else {
                                    capability.setRichdocumentsTemplatesAvailable(CapabilityBooleanType.FALSE);
                                }
                            } else {
                                capability.setRichdocumentsTemplatesAvailable(CapabilityBooleanType.FALSE);
                            }
                        } else {
                            capability.setRichDocuments(CapabilityBooleanType.FALSE);
                        }
+10 −0
Original line number Diff line number Diff line
@@ -91,6 +91,7 @@ public class OCCapability {
    // Richdocuments
    private CapabilityBooleanType richdocuments;
    private CapabilityBooleanType richdocumentsDirectEditing;
    private CapabilityBooleanType richdocumentsTemplatesAvailable;
    private List<String> richdocumentsMimeTypeList;

    private CapabilityBooleanType activity;
@@ -145,6 +146,7 @@ public class OCCapability {
        richdocuments = CapabilityBooleanType.UNKNOWN;
        richdocumentsMimeTypeList = new ArrayList<>();
        richdocumentsDirectEditing = CapabilityBooleanType.FALSE;
        richdocumentsTemplatesAvailable = CapabilityBooleanType.FALSE;
    }


@@ -496,4 +498,12 @@ public class OCCapability {
    public CapabilityBooleanType getRichDocumentsDirectEditing() {
        return richdocumentsDirectEditing;
    }

    public CapabilityBooleanType getRichdocumentsTemplatesAvailable() {
        return richdocumentsTemplatesAvailable;
    }

    public void setRichdocumentsTemplatesAvailable(CapabilityBooleanType richdocumentsTemplatesAvailable) {
        this.richdocumentsTemplatesAvailable = richdocumentsTemplatesAvailable;
    }
}