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

Unverified Commit c9184924 authored by Mario Danic's avatar Mario Danic Committed by AndyScherzinger
Browse files

Attempt at making gallery work



Signed-off-by: default avatarMario Danic <mario@lovelyhq.com>
parent 5999ed94
Loading
Loading
Loading
Loading
+68 −32
Original line number Diff line number Diff line
@@ -61,7 +61,8 @@ public class SearchOperation extends RemoteOperation {
        CONTENT_TYPE_SEARCH,
        RECENTLY_MODIFIED_SEARCH,
        RECENTLY_ADDED_SEARCH,
        SHARED_SEARCH
        SHARED_SEARCH,
        GALLERY_SEARCH
    }

    private String searchQuery;
@@ -219,11 +220,21 @@ public class SearchOperation extends RemoteOperation {
        } else if (searchType == SearchType.RECENTLY_MODIFIED_SEARCH ||
                searchType == SearchType.RECENTLY_ADDED_SEARCH) {
            equalsElement = query.createElementNS(DAV_NAMESPACE, "d:gt");
        } else if (searchType == SearchType.GALLERY_SEARCH) {
            equalsElement = query.createElementNS(DAV_NAMESPACE, "d:or");
        } else {
            equalsElement = query.createElementNS(DAV_NAMESPACE, "d:like");
        }
        Element propElement = query.createElementNS(DAV_NAMESPACE, "d:prop");

        Element propElement = null;
        Element queryElement = null;
        Element literalElement = null;
        Text literalTextElement = null;
        Element imageLikeElement = null;
        Element videoLikeElement = null;
        if (searchType != SearchType.GALLERY_SEARCH) {
            propElement = query.createElementNS(DAV_NAMESPACE, "d:prop");
            queryElement = null;
            if (searchType == SearchType.CONTENT_TYPE_SEARCH) {
                queryElement = query.createElementNS(DAV_NAMESPACE, "d:getcontenttype");
            } else if (searchType == SearchType.FILE_SEARCH) {
@@ -235,8 +246,7 @@ public class SearchOperation extends RemoteOperation {
            } else if (searchType == SearchType.RECENTLY_ADDED_SEARCH) {
                queryElement = query.createElementNS(DAV_NAMESPACE, "d:creationdate");
            }
        Element literalElement = query.createElementNS(DAV_NAMESPACE, "d:literal");
        Text literalTextElement;
            literalElement = query.createElementNS(DAV_NAMESPACE, "d:literal");
            if (searchType != SearchType.RECENTLY_MODIFIED_SEARCH && searchType != SearchType.RECENTLY_ADDED_SEARCH) {
                if (searchType == SearchType.FILE_SEARCH) {
                    internalSearchString = "%" + internalSearchString + "%";
@@ -255,6 +265,26 @@ public class SearchOperation extends RemoteOperation {
                String formattedDateString = dateFormat.format(date);
                literalTextElement = query.createTextNode(formattedDateString);
            }
        } else {
            imageLikeElement = query.createElementNS(DAV_NAMESPACE, "d:like");
            Element imagePropElement = query.createElementNS(DAV_NAMESPACE, "d:prop");
            Element imageQueryElement = query.createElementNS(DAV_NAMESPACE, "d:getcontenttype");
            Text imageLiteralTextElement = query.createTextNode("image/%");
            videoLikeElement = query.createElementNS(DAV_NAMESPACE, "d:like");
            Element videoPropElement = query.createElementNS(DAV_NAMESPACE, "d:prop");
            Element videoQueryElement = query.createElementNS(DAV_NAMESPACE, "d:getcontenttype");
            Text videoLiteralTextElement = query.createTextNode("video/%");

            videoPropElement.appendChild(videoQueryElement);
            videoLikeElement.appendChild(videoPropElement);
            videoLikeElement.appendChild(videoLiteralTextElement);


            imagePropElement.appendChild(imageQueryElement);
            imageLikeElement.appendChild(imagePropElement);
            imageLikeElement.appendChild(imageLiteralTextElement);

        }

        Element orderByElement = query.createElementNS(DAV_NAMESPACE, "d:orderby");

@@ -292,10 +322,16 @@ public class SearchOperation extends RemoteOperation {
        } else {
            whereElement.appendChild(equalsElement);
        }

        if (searchType != SearchType.GALLERY_SEARCH) {
            equalsElement.appendChild(propElement);
            equalsElement.appendChild(literalElement);
            propElement.appendChild(queryElement);
            literalElement.appendChild(literalTextElement);
        } else {
            equalsElement.appendChild(imageLikeElement);
            equalsElement.appendChild(videoLikeElement);
        }
        basicSearchElement.appendChild(orderByElement);

        return query;