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

Unverified Commit b71874ba authored by alperozturk's avatar alperozturk
Browse files

fix git conflicts

parent a715566b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.core:core-splashscreen:1.0.1'
    implementation 'androidx.fragment:fragment:1.8.5'
    implementation 'androidx.fragment:fragment:1.8.6'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
    implementation 'androidx.preference:preference:1.2.1'
    implementation 'androidx.recyclerview:recyclerview-selection:1.1.0'
@@ -139,7 +139,7 @@ dependencies {
    implementation 'com.squareup.retrofit2:retrofit:2.11.0'

    // Gson
    implementation 'com.google.code.gson:gson:2.11.0'
    implementation 'com.google.code.gson:gson:2.12.1'

    // ReactiveX
    implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
+5 −5
Original line number Diff line number Diff line
@@ -2,15 +2,15 @@ package it.niedermann.owncloud.notes.persistence.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import it.niedermann.owncloud.notes.persistence.entity.ShareEntity

@Dao
interface ShareDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun addShareEntities(entities: List<ShareEntity>)

    @Insert
    fun addShareEntity(entity: ShareEntity)

    @Query("SELECT * FROM share_table WHERE noteRemoteId = :noteRemoteId AND userName = :userName")
    fun getShareEntities(noteRemoteId: Long, userName: String): List<ShareEntity>
    @Query("SELECT * FROM share_table WHERE path = :path")
    fun getShareEntities(path: String): List<ShareEntity>
}
+0 −84
Original line number Diff line number Diff line
/*
 * Nextcloud - Android Client
 *
 * SPDX-FileCopyrightText: 2019 Chris Narkiewicz <hello@ezaquarii.com>
 * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
 */

package it.niedermann.owncloud.notes.share.operations;

import android.accounts.Account;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;

import com.nextcloud.common.NextcloudClient;
import com.nextcloud.common.PlainClient;
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.OwnCloudClientFactory;
import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
import com.owncloud.android.lib.common.accounts.AccountUtils;

import java.io.IOException;

import it.niedermann.owncloud.notes.shared.user.User;

public class ClientFactoryImpl implements ClientFactory {

    private Context context;

    public ClientFactoryImpl(Context context) {
        this.context = context;
    }

    @Override
    public OwnCloudClient create(User user) throws CreationException {
        try {
            return OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(user.toOwnCloudAccount(), context);
        } catch (OperationCanceledException |
            AuthenticatorException |
            IOException e) {
            throw new CreationException(e);
        }
    }

    @Override
    public NextcloudClient createNextcloudClient(User user) throws CreationException {
        try {
            return OwnCloudClientFactory.createNextcloudClient(user, context);
        } catch (AccountUtils.AccountNotFoundException e) {
            throw new CreationException(e);
        }
    }

    @Override
    public OwnCloudClient create(Account account)
        throws OperationCanceledException, AuthenticatorException, IOException,
        AccountUtils.AccountNotFoundException {
        return OwnCloudClientFactory.createOwnCloudClient(account, context);
    }

    @Override
    public OwnCloudClient create(Account account, Activity currentActivity)
        throws OperationCanceledException, AuthenticatorException, IOException,
        AccountUtils.AccountNotFoundException {
        return OwnCloudClientFactory.createOwnCloudClient(account, context, currentActivity);
    }

    @Override
    public OwnCloudClient create(Uri uri, boolean followRedirects, boolean useNextcloudUserAgent) {
        return OwnCloudClientFactory.createOwnCloudClient(uri, context, followRedirects);
    }

    @Override
    public OwnCloudClient create(Uri uri, boolean followRedirects) {
        return OwnCloudClientFactory.createOwnCloudClient(uri, context, followRedirects);
    }

    @Override
    public PlainClient createPlainClient() {
        return new PlainClient(context);
    }
}
+0 −91
Original line number Diff line number Diff line
package it.niedermann.owncloud.notes.share;

import java.util.ArrayList;

import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.files.FileUtils;
import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation;
import com.owncloud.android.lib.resources.shares.OCShare;
import com.owncloud.android.lib.resources.shares.ShareType;


import it.niedermann.owncloud.notes.shared.user.User;

/**
 * Creates a new public share for a given file
 */
public class CreateShareViaLinkOperation extends SyncOperation {

    private final String path;
    private final String password;
    private int permissions = OCShare.NO_PERMISSION;

    public CreateShareViaLinkOperation(String path, String password, User user) {
        super(user);

        this.path = path;
        this.password = password;
    }

    @Override
    protected RemoteOperationResult run(OwnCloudClient client) {
        CreateShareRemoteOperation createOp = new CreateShareRemoteOperation(path,
                ShareType.PUBLIC_LINK,
                "",
                false,
                password,
                permissions);
        createOp.setGetShareDetails(true);
        RemoteOperationResult result = createOp.execute(client);

        if (result.isSuccess()) {
            if (result.getData().size() > 0) {
                Object item = result.getData().get(0);
                if (item instanceof OCShare) {
                    updateData((OCShare) item);
                } else {
                    ArrayList<Object> data = result.getData();
                    result = new RemoteOperationResult(RemoteOperationResult.ResultCode.SHARE_NOT_FOUND);
                    result.setData(data);
                }
            } else {
                result = new RemoteOperationResult(RemoteOperationResult.ResultCode.SHARE_NOT_FOUND);
            }
        }

        return result;
    }

    private void updateData(OCShare share) {
        // Update DB with the response
        share.setPath(path);
        if (path.endsWith(FileUtils.PATH_SEPARATOR)) {
            share.setFolder(true);
        } else {
            share.setFolder(false);
        }

        // TODO: Save share

        /*
        getStorageManager().saveShare(share);

        // Update OCFile with data from share: ShareByLink  and publicLink
        OCFile file = getStorageManager().getFileByEncryptedRemotePath(path);
        if (file != null) {
            file.setSharedViaLink(true);
            getStorageManager().saveFile(file);
        }
         */

    }

    public String getPath() {
        return this.path;
    }

    public String getPassword() {
        return this.password;
    }
}
+0 −692

File deleted.

Preview size limit exceeded, changes collapsed.

Loading