// Path: app/src/main/java/io/bxbxbai/zhuanlan/ui/WebActivity.java
// public class WebActivity extends BaseActivity {
//     private static final String TAG = "AboutActivity";
// 
//     private static final String KEY_URL = "key_url";
//     private static final String KEY_TITLE = "key_title";
// 
//     public static final String URL_BXBXBAI = "http://bxbxbai.gitcafe.io/about/";
// 
//     private String url, title;
// 
//     private CommonWebView mWebView;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.activity_web);
//         parseIntent(getIntent());
// 
//         ProgressBar bar = ButterKnife.findById(this, R.id.progress_bar);
//         bar.setVisibility(View.GONE);
//         View v = ButterKnife.findById(this, R.id.v_loading);
// 
//         mWebView = ButterKnife.findById(this, R.id.web_view);
//         initWebSetting();
// 
//         mWebView.setWebChromeClient(new ZhuanLanWebChromeClient(bar, v,
//                 TextUtils.isEmpty(title) ? getSupportActionBar() : null));
//         mWebView.setWebViewClient(new ZhuanLanWebViewClient(this));
//         mWebView.loadUrl(url);
//     }
// 
// 
//     @Override
//     protected void onNewIntent(Intent intent) {
//         super.onNewIntent(intent);
//         parseIntent(intent);
//     }
// 
//     private void parseIntent(Intent intent) {
//         url = intent.getStringExtra(KEY_URL);
//         title = intent.getStringExtra(KEY_TITLE);
// 
//         if (TextUtils.isEmpty(url)) {
//             Tips.showToast("木有URL...");
//             finish();
//         }
//         setTitle(TextUtils.isEmpty(title) ? getString(R.string.app_name) : title);
//     }
// 
//     private void initWebSetting() {
//         JsHandler jsHandler = new JsHandler(this, mWebView);
//         mWebView.addJavascriptInterface(jsHandler, "JsHandler");
//     }
// 
//     private void createView() {
//         FloatView view = new FloatView(getApplicationContext());
// 
//         WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
// 
//         WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
//         wmParams.type = WindowManager.LayoutParams.TYPE_PHONE;
//         wmParams.format = PixelFormat.RGBA_8888;
//         wmParams.flags |= 8;
//         wmParams.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
//         wmParams.x = 0;
//         wmParams.y = 80;
//         wmParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
//         wmParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
// 
//         view.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 ZhuanlanApplication.getInstance().startActivity(new Intent("com.bxbxbai.zhuanlan.ui.activity.AboutActivity"));
//                 Log.i(TAG, "onclick");
//             }
//         });
// 
//         wm.addView(view, wmParams);
//     }
// 
//     public static boolean start(Activity activity, String url, String title) {
//         Intent intent = new Intent();
//         intent.setClass(activity, WebActivity.class);
//         intent.putExtra(KEY_URL, url);
//         intent.putExtra(KEY_TITLE, title);
//         activity.startActivity(intent);
// 
//         return true;
//     }
// 
//     public static boolean start(Activity activity, String url) {
//         return start(activity, url, null);
//     }
// }


import android.app.Activity;
import android.graphics.Bitmap;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import io.bxbxbai.common.StopWatch;
import io.bxbxbai.zhuanlan.ui.WebActivity;
package io.bxbxbai.zhuanlan.core;


/**
 *
 * @author bxbxbai
 */
public class ZhuanLanWebViewClient extends WebViewClient {


    private Activity mActivity;

    public ZhuanLanWebViewClient(Activity activity) {
        mActivity = activity;
    }

    @Override
    public void onLoadResource(WebView view, String url) {
        super.onLoadResource(view, url);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        StopWatch.log("url " + url);
        if (url != null && url.startsWith("orpheus")) {
            return true;
        }
        if (url != null && url.startsWith("http")) {
// Path: app/src/main/java/io/bxbxbai/zhuanlan/ui/WebActivity.java
// public class WebActivity extends BaseActivity {
//     private static final String TAG = "AboutActivity";
// 
//     private static final String KEY_URL = "key_url";
//     private static final String KEY_TITLE = "key_title";
// 
//     public static final String URL_BXBXBAI = "http://bxbxbai.gitcafe.io/about/";
// 
//     private String url, title;
// 
//     private CommonWebView mWebView;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.activity_web);
//         parseIntent(getIntent());
// 
//         ProgressBar bar = ButterKnife.findById(this, R.id.progress_bar);
//         bar.setVisibility(View.GONE);
//         View v = ButterKnife.findById(this, R.id.v_loading);
// 
//         mWebView = ButterKnife.findById(this, R.id.web_view);
//         initWebSetting();
// 
//         mWebView.setWebChromeClient(new ZhuanLanWebChromeClient(bar, v,
//                 TextUtils.isEmpty(title) ? getSupportActionBar() : null));
//         mWebView.setWebViewClient(new ZhuanLanWebViewClient(this));
//         mWebView.loadUrl(url);
//     }
// 
// 
//     @Override
//     protected void onNewIntent(Intent intent) {
//         super.onNewIntent(intent);
//         parseIntent(intent);
//     }
// 
//     private void parseIntent(Intent intent) {
//         url = intent.getStringExtra(KEY_URL);
//         title = intent.getStringExtra(KEY_TITLE);
// 
//         if (TextUtils.isEmpty(url)) {
//             Tips.showToast("木有URL...");
//             finish();
//         }
//         setTitle(TextUtils.isEmpty(title) ? getString(R.string.app_name) : title);
//     }
// 
//     private void initWebSetting() {
//         JsHandler jsHandler = new JsHandler(this, mWebView);
//         mWebView.addJavascriptInterface(jsHandler, "JsHandler");
//     }
// 
//     private void createView() {
//         FloatView view = new FloatView(getApplicationContext());
// 
//         WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
// 
//         WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
//         wmParams.type = WindowManager.LayoutParams.TYPE_PHONE;
//         wmParams.format = PixelFormat.RGBA_8888;
//         wmParams.flags |= 8;
//         wmParams.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
//         wmParams.x = 0;
//         wmParams.y = 80;
//         wmParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
//         wmParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
// 
//         view.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 ZhuanlanApplication.getInstance().startActivity(new Intent("com.bxbxbai.zhuanlan.ui.activity.AboutActivity"));
//                 Log.i(TAG, "onclick");
//             }
//         });
// 
//         wm.addView(view, wmParams);
//     }
// 
//     public static boolean start(Activity activity, String url, String title) {
//         Intent intent = new Intent();
//         intent.setClass(activity, WebActivity.class);
//         intent.putExtra(KEY_URL, url);
//         intent.putExtra(KEY_TITLE, title);
//         activity.startActivity(intent);
// 
//         return true;
//     }
// 
//     public static boolean start(Activity activity, String url) {
//         return start(activity, url, null);
//     }
// }


// Path: app/src/main/java/io/bxbxbai/zhuanlan/core/ZhuanLanWebViewClient.java
import android.app.Activity;
import android.graphics.Bitmap;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import io.bxbxbai.common.StopWatch;
import io.bxbxbai.zhuanlan.ui.WebActivity;

package io.bxbxbai.zhuanlan.core;


/**
 *
 * @author bxbxbai
 */
public class ZhuanLanWebViewClient extends WebViewClient {


    private Activity mActivity;

    public ZhuanLanWebViewClient(Activity activity) {
        mActivity = activity;
    }

    @Override
    public void onLoadResource(WebView view, String url) {
        super.onLoadResource(view, url);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        StopWatch.log("url " + url);
        if (url != null && url.startsWith("orpheus")) {
            return true;
        }
        if (url != null && url.startsWith("http")) {
            WebActivity.start(mActivity, url);