package io.bxbxbai.zhuanlan.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ProgressBar;
import butterknife.ButterKnife;
import io.bxbxbai.common.Tips;
import io.bxbxbai.common.activity.BaseActivity;
import io.bxbxbai.zhuanlan.ZhuanlanApplication;
import io.bxbxbai.zhuanlan.R;
import io.bxbxbai.zhuanlan.core.ZhuanLanWebChromeClient;
import io.bxbxbai.zhuanlan.core.ZhuanLanWebViewClient;
import io.bxbxbai.zhuanlan.utils.JsHandler;
import io.bxbxbai.zhuanlan.widget.CommonWebView;
import io.bxbxbai.zhuanlan.widget.FloatView;
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);
}
}