Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a0e011f authored by John Reck's avatar John Reck
Browse files

Support email and phone types

Change-Id: I16571048954495aaaa11f25bf658dc128430460e
parent 4d0a8cf0
Loading
Loading
Loading
Loading
+33 −24
Original line number Diff line number Diff line
@@ -9239,7 +9239,8 @@ public class WebView extends AbsoluteLayout
    private void setHitTestResult(WebKitHitTest hit) {
        if (hit == null) {
            mInitialHitTestResult = null;
        } else {
            return;
        }
        mInitialHitTestResult = new HitTestResult();
        if (hit.mLinkUrl != null) {
            mInitialHitTestResult.mType = HitTestResult.SRC_ANCHOR_TYPE;
@@ -9254,19 +9255,27 @@ public class WebView extends AbsoluteLayout
        } else if (hit.mEditable) {
            mInitialHitTestResult.mType = HitTestResult.EDIT_TEXT_TYPE;
        } else if (hit.mIntentUrl != null) {
            String substr = null;
            if (hit.mIntentUrl.startsWith(SCHEME_GEO)) {
                mInitialHitTestResult.mType = HitTestResult.GEO_TYPE;
                    String substr = hit.mIntentUrl.substring(SCHEME_GEO.length());
                substr = hit.mIntentUrl.substring(SCHEME_GEO.length());
            } else if (hit.mIntentUrl.startsWith(SCHEME_TEL)) {
                mInitialHitTestResult.mType = HitTestResult.PHONE_TYPE;
                substr = hit.mIntentUrl.substring(SCHEME_TEL.length());
            } else if (hit.mIntentUrl.startsWith(SCHEME_MAILTO)) {
                mInitialHitTestResult.mType = HitTestResult.EMAIL_TYPE;
                substr = hit.mIntentUrl.substring(SCHEME_MAILTO.length());
            } else {
                return;
            }
            try {
                mInitialHitTestResult.mExtra = URLDecoder.decode(substr, "UTF-8");
                    } catch (UnsupportedEncodingException e) {
            } catch (Throwable e) {
                Log.w(LOGTAG, "Failed to decode GEO URL!", e);
                mInitialHitTestResult.mType = HitTestResult.UNKNOWN_TYPE;
            }
        }
    }
        }
    }

    private boolean shouldDrawHighlightRect() {
        if (mFocusedNode == null || mInitialHitTestResult == null) {