add createRichWorkspace
Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
parent
507e694405
commit
506f675955
@ -42,7 +42,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import com.nextcloud.android.lib.resources.files.ToggleFileLockRemoteOperation;
|
||||
import com.nextcloud.android.lib.richWorkspace.RichWorkspaceDirectEditingRemoteOperation;
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.device.DeviceInfo;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
@ -602,19 +601,17 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
||||
|
||||
@Override
|
||||
public void createRichWorkspace() {
|
||||
new Thread(() -> {
|
||||
RemoteOperationResult result = new RichWorkspaceDirectEditingRemoteOperation(mFile.getRemotePath())
|
||||
.execute(accountManager.getUser(), requireContext());
|
||||
if (!(getActivity() instanceof FileActivity fileActivity)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (result.isSuccess()) {
|
||||
String url = (String) result.getSingleData();
|
||||
mContainerActivity.getFileOperationsHelper().openRichWorkspaceWithTextEditor(mFile,
|
||||
url,
|
||||
requireContext());
|
||||
} else {
|
||||
DisplayUtils.showSnackMessage(getView(), R.string.failed_to_start_editor);
|
||||
}
|
||||
}).start();
|
||||
fileActivity.getFilesRepository().createRichWorkspace(mFile.getRemotePath(), url -> {
|
||||
mContainerActivity.getFileOperationsHelper().openRichWorkspaceWithTextEditor(mFile, url, requireContext());
|
||||
return Unit.INSTANCE;
|
||||
}, () -> {
|
||||
DisplayUtils.showSnackMessage(getView(), R.string.failed_to_start_editor);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -21,4 +21,6 @@ interface FilesRepository {
|
||||
*
|
||||
*/
|
||||
fun fetchRecommendedFiles(onCompleted: (ArrayList<Recommendation>) -> Unit)
|
||||
|
||||
fun createRichWorkspace(remotePath: String, onCompleted: (String) -> Unit, onError: () -> Unit)
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.nextcloud.android.lib.resources.recommendations.GetRecommendationsRemoteOperation
|
||||
import com.nextcloud.android.lib.resources.recommendations.Recommendation
|
||||
import com.nextcloud.android.lib.richWorkspace.RichWorkspaceDirectEditingRemoteOperation
|
||||
import com.nextcloud.repository.ClientRepository
|
||||
import com.owncloud.android.lib.common.utils.Log_OC
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@ -45,4 +46,16 @@ class RemoteFilesRepository(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun createRichWorkspace(remotePath: String, onCompleted: (String) -> Unit, onError: () -> Unit) {
|
||||
scope.launch(Dispatchers.IO) {
|
||||
val client = clientRepository.getNextcloudClient() ?: return@launch
|
||||
val url = RichWorkspaceDirectEditingRemoteOperation(remotePath)
|
||||
.execute(client)
|
||||
.takeIf { it.isSuccess }
|
||||
?.singleData as? String
|
||||
|
||||
url?.let(onCompleted) ?: onError()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user