Skip to content

Commit df24592

Browse files
committed
Merge pull request #3804 from wordpress-mobile/issue/enable-editor-debug-mode
Enable editor debug mode when BuildConfig.DEBUG is true
2 parents 878f7cd + ff707a2 commit df24592

File tree

6 files changed

+17
-36
lines changed

6 files changed

+17
-36
lines changed

WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import android.webkit.URLUtil;
4242
import android.widget.Toast;
4343

44+
import org.wordpress.android.BuildConfig;
4445
import org.wordpress.android.Constants;
4546
import org.wordpress.android.JavaScriptException;
4647
import org.wordpress.android.R;
@@ -2034,6 +2035,7 @@ public void onEditorFragmentInitialized() {
20342035
fillContentEditorFields();
20352036
// Set the error listener
20362037
if (mEditorFragment instanceof EditorFragment) {
2038+
mEditorFragment.setDebugModeEnabled(BuildConfig.DEBUG);
20372039
((EditorFragment) mEditorFragment).setWebViewErrorListener(new ErrorListener() {
20382040
@Override
20392041
public void onJavaScriptError(String sourceFile, int lineNumber, String message) {

libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorFragment.java

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
import android.text.Spanned;
2020
import android.text.TextUtils;
2121
import android.view.LayoutInflater;
22-
import android.view.Menu;
23-
import android.view.MenuInflater;
24-
import android.view.MenuItem;
2522
import android.view.MotionEvent;
2623
import android.view.View;
2724
import android.view.ViewGroup;
@@ -74,8 +71,6 @@ public class EditorFragment extends EditorFragmentAbstract implements View.OnCli
7471
private static final float TOOLBAR_ALPHA_ENABLED = 1;
7572
private static final float TOOLBAR_ALPHA_DISABLED = 0.5f;
7673

77-
protected static final int BUTTON_ID_LOG_HTML = 555;
78-
7974
private String mTitle = "";
8075
private String mContentHtml = "";
8176

@@ -409,8 +404,6 @@ protected void initJsEditor() {
409404

410405
if (mDebugModeEnabled) {
411406
enableWebDebugging(true);
412-
// Enable the HTML logging button
413-
setHasOptionsMenu(true);
414407
}
415408
}
416409

@@ -640,38 +633,11 @@ public void run() {
640633

641634
@SuppressLint("NewApi")
642635
private void enableWebDebugging(boolean enable) {
643-
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
636+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
644637
AppLog.i(T.EDITOR, "Enabling web debugging");
645638
WebView.setWebContentsDebuggingEnabled(enable);
646639
}
647-
}
648-
649-
@Override
650-
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
651-
menu.add(0, BUTTON_ID_LOG_HTML, 0, "Log HTML")
652-
.setIcon(R.drawable.ic_log_html)
653-
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
654-
super.onCreateOptionsMenu(menu, inflater);
655-
}
656-
657-
@Override
658-
public boolean onOptionsItemSelected(MenuItem item) {
659-
if (item.getItemId() == BUTTON_ID_LOG_HTML) {
660-
if (mDebugModeEnabled) {
661-
// Log the raw html
662-
mWebView.post(new Runnable() {
663-
@Override
664-
public void run() {
665-
mWebView.execJavaScriptFromString("console.log(document.body.innerHTML);");
666-
}
667-
});
668-
} else {
669-
AppLog.d(T.EDITOR, "Could not execute JavaScript - debug mode not enabled");
670-
}
671-
return true;
672-
} else {
673-
return super.onOptionsItemSelected(item);
674-
}
640+
mWebView.setDebugModeEnabled(mDebugModeEnabled);
675641
}
676642

677643
@Override

libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorWebViewAbstract.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.wordpress.android.util.AppLog.T;
2424
import org.wordpress.android.util.HTTPUtils;
2525
import org.wordpress.android.util.StringUtils;
26+
import org.wordpress.android.util.ToastUtils;
2627
import org.wordpress.android.util.UrlUtils;
2728

2829
import java.io.IOException;
@@ -40,6 +41,7 @@ public abstract class EditorWebViewAbstract extends WebView {
4041
private AuthHeaderRequestListener mAuthHeaderRequestListener;
4142
private ErrorListener mErrorListener;
4243
private JsCallbackReceiver mJsCallbackReceiver;
44+
private boolean mDebugModeEnabled;
4345

4446
private Map<String, String> mHeaderMap = new HashMap<>();
4547

@@ -175,6 +177,10 @@ public void setVisibility(int visibility) {
175177
super.setVisibility(visibility);
176178
}
177179

180+
public void setDebugModeEnabled(boolean enabled) {
181+
mDebugModeEnabled = enabled;
182+
}
183+
178184
/**
179185
* Handles events that should be triggered when the WebView is hidden or is shown to the user
180186
*
@@ -214,6 +220,13 @@ public boolean onKeyPreIme(int keyCode, KeyEvent event) {
214220
mOnImeBackListener.onImeBack();
215221
}
216222
}
223+
if (mDebugModeEnabled && event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP
224+
&& event.getAction() == KeyEvent.ACTION_DOWN) {
225+
// Log the raw html
226+
execJavaScriptFromString("console.log(document.body.innerHTML);");
227+
ToastUtils.showToast(getContext(), "Debug: Raw HTML has been logged");
228+
return true;
229+
}
217230
return super.onKeyPreIme(keyCode, event);
218231
}
219232

Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)