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.floatingactionbutton.FloatingActionButton;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.nextcloud.android.lib.resources.files.ToggleFileLockRemoteOperation;
|
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.account.User;
|
||||||
import com.nextcloud.client.device.DeviceInfo;
|
import com.nextcloud.client.device.DeviceInfo;
|
||||||
import com.nextcloud.client.di.Injectable;
|
import com.nextcloud.client.di.Injectable;
|
||||||
@ -602,19 +601,17 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createRichWorkspace() {
|
public void createRichWorkspace() {
|
||||||
new Thread(() -> {
|
if (!(getActivity() instanceof FileActivity fileActivity)) {
|
||||||
RemoteOperationResult result = new RichWorkspaceDirectEditingRemoteOperation(mFile.getRemotePath())
|
return;
|
||||||
.execute(accountManager.getUser(), requireContext());
|
|
||||||
|
|
||||||
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
|
@Override
|
||||||
|
@ -21,4 +21,6 @@ interface FilesRepository {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
fun fetchRecommendedFiles(onCompleted: (ArrayList<Recommendation>) -> Unit)
|
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 androidx.lifecycle.lifecycleScope
|
||||||
import com.nextcloud.android.lib.resources.recommendations.GetRecommendationsRemoteOperation
|
import com.nextcloud.android.lib.resources.recommendations.GetRecommendationsRemoteOperation
|
||||||
import com.nextcloud.android.lib.resources.recommendations.Recommendation
|
import com.nextcloud.android.lib.resources.recommendations.Recommendation
|
||||||
|
import com.nextcloud.android.lib.richWorkspace.RichWorkspaceDirectEditingRemoteOperation
|
||||||
import com.nextcloud.repository.ClientRepository
|
import com.nextcloud.repository.ClientRepository
|
||||||
import com.owncloud.android.lib.common.utils.Log_OC
|
import com.owncloud.android.lib.common.utils.Log_OC
|
||||||
import kotlinx.coroutines.Dispatchers
|
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