Reload rich document edition on reload event from webview (triggered on session expiration)

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
This commit is contained in:
nicofrand 2024-03-29 13:52:08 +01:00 committed by tobiasKaminsky
parent 28d3891f65
commit 34f168280e
No known key found for this signature in database
GPG key ID: 0E00D4D47D0C5AF7

View file

@ -31,6 +31,7 @@ import com.owncloud.android.databinding.RichdocumentsWebviewBinding;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.datamodel.SyncedFolderProvider;
import com.owncloud.android.datamodel.ThumbnailsCacheManager;
import com.owncloud.android.ui.asynctasks.TextEditorLoadUrlTask;
import com.owncloud.android.utils.DisplayUtils;
import com.owncloud.android.utils.MimeTypeUtil;
import com.owncloud.android.utils.WebViewUtil;
@ -99,6 +100,23 @@ public abstract class EditorWebView extends ExternalSiteWebView {
finish();
}
public void reload() {
if (getWebView().getVisibility() != View.VISIBLE) {
return;
}
Optional<User> user = getUser();
if (!user.isPresent()) {
return;
}
OCFile file = getFile();
if (file != null) {
TextEditorLoadUrlTask task = new TextEditorLoadUrlTask(this, user.get(), file, editorUtils);
task.execute();
}
}
@Override
protected void bindView() {
binding = RichdocumentsWebviewBinding.inflate(getLayoutInflater());
@ -281,6 +299,11 @@ public abstract class EditorWebView extends ExternalSiteWebView {
public void loaded() {
runOnUiThread(EditorWebView.this::hideLoading);
}
@JavascriptInterface
public void reload() {
EditorWebView.this.reload();
}
}
}