Search in sources :

Example 1 with IgnoredFolder

use of com.nutomic.syncthingandroid.model.IgnoredFolder in project syncthing-android by syncthing.

the class RestApi method ignoreFolder.

/**
 * Permanently ignore a folder share request.
 * Ignored folders will not trigger the "FolderRejected" event
 * in {@link EventProcessor#onEvent}.
 */
public void ignoreFolder(String deviceId, String folderId, String folderLabel) {
    synchronized (mConfigLock) {
        for (Device device : mConfig.devices) {
            if (deviceId.equals(device.deviceID)) {
                /**
                 * Check if the folder has already been ignored.
                 */
                for (IgnoredFolder ignoredFolder : device.ignoredFolders) {
                    if (folderId.equals(ignoredFolder.id)) {
                        // Folder already ignored.
                        Log.d(TAG, "Folder [" + folderId + "] already ignored on device [" + deviceId + "]");
                        return;
                    }
                }
                /**
                 * Ignore folder by moving its corresponding "pendingFolder" entry to
                 * a newly created "ignoredFolder" entry.
                 */
                IgnoredFolder ignoredFolder = new IgnoredFolder();
                ignoredFolder.id = folderId;
                ignoredFolder.label = folderLabel;
                ignoredFolder.time = dateString(new Date());
                device.ignoredFolders.add(ignoredFolder);
                if (BuildConfig.DEBUG) {
                    Log.v(TAG, "device.ignoredFolders = " + new Gson().toJson(device.ignoredFolders));
                }
                sendConfig();
                Log.d(TAG, "Ignored folder [" + folderId + "] announced by device [" + deviceId + "]");
                // Given deviceId handled.
                break;
            }
        }
    }
}
Also used : IgnoredFolder(com.nutomic.syncthingandroid.model.IgnoredFolder) RemoteIgnoredDevice(com.nutomic.syncthingandroid.model.RemoteIgnoredDevice) Device(com.nutomic.syncthingandroid.model.Device) Gson(com.google.gson.Gson) Date(java.util.Date)

Aggregations

Gson (com.google.gson.Gson)1 Device (com.nutomic.syncthingandroid.model.Device)1 IgnoredFolder (com.nutomic.syncthingandroid.model.IgnoredFolder)1 RemoteIgnoredDevice (com.nutomic.syncthingandroid.model.RemoteIgnoredDevice)1 Date (java.util.Date)1