diff --git a/WordPress/src/main/java/org/wordpress/android/ui/WPWebViewActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/WPWebViewActivity.java index 29cee99eaa47..0ca82a689706 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/WPWebViewActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/WPWebViewActivity.java @@ -1,5 +1,10 @@ package org.wordpress.android.ui; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; @@ -8,6 +13,7 @@ import android.os.Bundle; import android.os.Handler; import android.text.TextUtils; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -66,6 +72,7 @@ import org.wordpress.android.viewmodel.wpwebview.WPWebViewViewModel.WebPreviewUiState.WebPreviewFullscreenUiState; import org.wordpress.android.widgets.WPSnackbar; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; @@ -227,6 +234,8 @@ public final void configureView() { final Bundle extras = getIntent().getExtras(); + fetchHtmlAndLoad(extras.getString(URL_TO_LOAD)); + if (extras != null) { mPreviewModeChangeAllowed = extras.getBoolean(SHOW_PREVIEW_MODE_TOGGLE, false); if (!mPreviewModeChangeAllowed) { @@ -242,6 +251,42 @@ public final void configureView() { mViewModel.track(Stat.WEBVIEW_DISPLAYED, getSource()); } + private void fetchHtmlAndLoad(final String url) { + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url(url) + .build(); + + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + Log.e("WPWebViewActivity", "Failed to fetch HTML", e); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + if (response.isSuccessful()) { + String html = response.body() != null ? response.body().string() : ""; + + final String str = html.replaceAll( + "(https://youtu\\.be/([\\w\\-]+))", + "" + ); + + + runOnUiThread(new Runnable() { + @Override + public void run() { + mWebView.loadDataWithBaseURL(url, str, "text/html", "utf-8", null); + } + }); + } else { + Log.e("WPWebViewActivity", "Response was not successful: " + response.code()); + } + } + }); + } + private void setupToolbar() { Toolbar toolbar = findViewById(R.id.toolbar); if (toolbar != null) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostUtils.java b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostUtils.java index 6b6e085097be..5a1b41f9dd0f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostUtils.java @@ -310,8 +310,8 @@ public static String removeWPVideoPress(String str) { public static String getFormattedDate(PostModel post) { if (PostStatus.fromPost(post) == PostStatus.SCHEDULED) { return DateUtils.formatDateTime(WordPress.getContext(), - DateTimeUtils.timestampFromIso8601Millis(post.getDateCreated()), - DateUtils.FORMAT_ABBREV_ALL); + DateTimeUtils.timestampFromIso8601Millis(post.getDateCreated()), + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_SHOW_TIME); } else { return DateTimeUtils.javaDateToTimeSpan(DateTimeUtils.dateUTCFromIso8601(post.getDateCreated()), WordPress.getContext()); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000000..7f3d0c851b00 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "WordPress-Android", + "lockfileVersion": 3, + "requires": true, + "packages": {} +}