Android Open Source - AndroidWifiServer Custom Web View






From Project

Back to project page AndroidWifiServer.

License

The source code is released under:

Apache License

If you think the Android project AndroidWifiServer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package jp.maju.wifiserver;
// w  w w . j a  v  a  2 s .  c o  m
import jp.maju.wifiserver.util.Logger;
import jp.maju.wifiserver.util.PreferenceUtil;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Message;
import android.util.AttributeSet;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;

/*
 * Copyright {2014} {Matsuda Jumpei}
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
public class CustomWebView extends WebView {
    private static final String TAG = CustomWebView.class.getSimpleName();
    public static final String URL_GO_REGISTER = "app://create_user";
    public static final String URL_GO_LOGIN = "app://log_in";
    public static final String URL_RESULT_REGISTER = "app://finish_register?";
    public static final String URL_RESULT_LOGIN = "app://finish_login?";
    public static final String URL_TWEET = "app://tweet?";
    public static final String TWEET_PREFIX = "tweet://";

    public interface OnClickLinkListener {
        void onClickLink(String url);
    }

    private OnClickLinkListener mOnClickLinkListener;

    public void setOnClickLinkListener(OnClickLinkListener mOnClickLinkListener) {
        this.mOnClickLinkListener = mOnClickLinkListener;
    }

    public CustomWebView(Context context) {
        super(context);
        init();
    }

    public CustomWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public CustomWebView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    @SuppressLint("NewApi")
    @SuppressWarnings("deprecation")
    public CustomWebView(Context context, AttributeSet attrs, int defStyle,
            boolean privateBrowsing) {
        super(context, attrs, defStyle, privateBrowsing);
        init();
    }

    @SuppressLint("SetJavaScriptEnabled")
    private void init() {
        getSettings().setJavaScriptEnabled(true);
        setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Logger.d(TAG, url);

                if (!url.startsWith("app://")) {
                    return true;
                }

                if (url.startsWith(URL_GO_REGISTER)
                        || url.startsWith(URL_GO_LOGIN)
                        || url.startsWith(URL_RESULT_REGISTER)
                        || url.startsWith(URL_RESULT_LOGIN)
                        || url.startsWith(URL_TWEET)) {
                    if (mOnClickLinkListener != null) {
                        mOnClickLinkListener.onClickLink(url);
                    }
                }

                return true;
            }
        });
    }

    public static String[] splitUserInfoParams(String url) {
        String param = url
                .substring(CustomWebView.URL_RESULT_REGISTER.length());
        String params[] = param.split("&");
        String username = params[0].split("=")[1];
        String password = params[1].split("=")[1];
        String uuid = params[2].split("=")[1];
        String[] results = new String[3];
        results[0] = username;
        results[1] = password;
        results[2] = uuid;
        return results;
    }
}




Java Source Code List

jp.maju.wifiserver.AsyncExecutionTask.java
jp.maju.wifiserver.CustomWebView.java
jp.maju.wifiserver.DBAdapter.java
jp.maju.wifiserver.GateActivity.java
jp.maju.wifiserver.HTMLBuilder.java
jp.maju.wifiserver.SocketInfo.java
jp.maju.wifiserver.camera.CameraSurfaceView.java
jp.maju.wifiserver.camera.QRReaderActivity.java
jp.maju.wifiserver.client.ClientActivity.java
jp.maju.wifiserver.client.ClientService.java
jp.maju.wifiserver.server.InitServerActivity.java
jp.maju.wifiserver.server.ServerActivity.java
jp.maju.wifiserver.server.ServerService.java
jp.maju.wifiserver.twitter.ProxyDialogFragment.java
jp.maju.wifiserver.twitter.ProxyWrapper.java
jp.maju.wifiserver.twitter.TweetTask.java
jp.maju.wifiserver.twitter.TwitterOAuthActivity.java
jp.maju.wifiserver.twitter.TwitterUtils.java
jp.maju.wifiserver.util.CommonUtil.java
jp.maju.wifiserver.util.Logger.java
jp.maju.wifiserver.util.PreferenceUtil.java