X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FMyWebView.java;h=028ddbcdd964ec8e4df19bd38d245ce3a3ef766f;hb=6075de7ee940e23133cf187f44a525e19cccf038;hp=4e1dcb3c2e17d954f3e3ba2f5231d58cd4a5db6b;hpb=6cde95e07399a16f811a76a17edc1ed5ee11f09c;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/MyWebView.java b/src/com/hughes/android/dictionary/MyWebView.java index 4e1dcb3..028ddbc 100644 --- a/src/com/hughes/android/dictionary/MyWebView.java +++ b/src/com/hughes/android/dictionary/MyWebView.java @@ -1,3 +1,4 @@ + package com.hughes.android.dictionary; import android.app.Activity; @@ -10,34 +11,48 @@ import android.webkit.WebView; import android.webkit.WebViewClient; import com.hughes.android.dictionary.engine.HtmlEntry; +import com.hughes.util.StringUtil; public class MyWebView extends WebView { - - static final String LOG = "MyWebView"; - + + private static final String LOG = "MyWebView"; + HtmlDisplayActivity activity; + private static void quickdicUrlToIntent(final String url, final Intent intent) { + int firstColon = url.indexOf("?"); + if (firstColon == -1) + return; + int secondColon = url.indexOf("&", firstColon + 1); + if (secondColon == -1) + return; + intent.putExtra(C.SEARCH_TOKEN, StringUtil.decodeFromUrl(url.substring(secondColon + 1))); + } + public MyWebView(Context context) { super(context); } - + public MyWebView(Context context, AttributeSet attrs) { super(context, attrs); getSettings().setSupportZoom(true); getSettings().setBuiltInZoomControls(true); - + // TODO: check why AUTO does not work and consider using it (API 29/Android 10 only) + //getSettings().setForceDark(WebSettings.FORCE_DARK_ON); + final WebViewClient webViewClient = new WebViewClient() { @Override + @SuppressWarnings("deprecation") public boolean shouldOverrideUrlLoading(WebView view, String url) { if (HtmlEntry.isQuickdicUrl(url)) { Log.d(LOG, "Handling Quickdic URL: " + url); final Intent result = new Intent(); - HtmlEntry.quickdicUrlToIntent(url, result); + quickdicUrlToIntent(url, result); + Log.d(LOG, "SEARCH_TOKEN=" + result.getStringExtra(C.SEARCH_TOKEN)); activity.setResult(Activity.RESULT_OK, result); activity.finish(); return true; } - // TODO Auto-generated method stub return super.shouldOverrideUrlLoading(view, url); } };