Fix back press issue

This commit is contained in:
ydinath 2018-05-05 17:35:43 -04:00
parent bb5f459744
commit ce1f0620fe

View File

@ -36,7 +36,6 @@ public class AboutActivity extends AppCompatActivity {
private WebView webView; private WebView webView;
private LinearLayout webViewContainer; private LinearLayout webViewContainer;
private Subscription subscription; private Subscription subscription;
private int depth = 0;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -57,7 +56,6 @@ public class AboutActivity extends AppCompatActivity {
@Override @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) { public boolean shouldOverrideUrlLoading(WebView view, String url) {
depth++;
if (!url.startsWith("http")) { if (!url.startsWith("http")) {
url = url.replace("file:///android_asset/", ""); url = url.replace("file:///android_asset/", "");
loadAsset(url); loadAsset(url);
@ -101,8 +99,6 @@ public class AboutActivity extends AppCompatActivity {
" </style>" + " </style>" +
"</head><body><p>" + webViewData + "</p></body></html>"; "</head><body><p>" + webViewData + "</p></body></html>";
webViewData = webViewData.replace("\n", "<br/>"); webViewData = webViewData.replace("\n", "<br/>");
} else {
depth = 0;
} }
webViewData = String.format(webViewData, colorString); webViewData = String.format(webViewData, colorString);
subscriber.onSuccess(webViewData); subscriber.onSuccess(webViewData);
@ -117,16 +113,15 @@ public class AboutActivity extends AppCompatActivity {
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe( .subscribe(
webViewData -> webViewData ->
webView.loadDataWithBaseURL("file:///android_asset/", webViewData.toString(), "text/html", "utf-8", "about:blank"), webView.loadDataWithBaseURL("file:///android_asset/", webViewData.toString(), "text/html", "utf-8", "file:///android_asset/" + webViewData.toString()),
error -> Log.e(TAG, Log.getStackTraceString(error)) error -> Log.e(TAG, Log.getStackTraceString(error))
); );
} }
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (depth != 0) { if (webView.canGoBack()) {
webView.goBack(); webView.goBack();
depth--;
} else { } else {
super.onBackPressed(); super.onBackPressed();
} }