package com.yuyh.sprintnba.base;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import com.yuyh.library.utils.log.LogUtils;
import com.yuyh.library.utils.toast.ToastUtils;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.widget.BrowserLayout;
import butterknife.ButterKnife;
public class BaseWebActivity extends BaseSwipeBackCompatActivity {
public static final String BUNDLE_KEY_URL = "BUNDLE_KEY_URL";
public static final String BUNDLE_KEY_TITLE = "BUNDLE_KEY_TITLE";
public static final String BUNDLE_KEY_SHOW_BOTTOM_BAR = "BUNDLE_KEY_SHOW_BOTTOM_BAR";
public static final String BUNDLE_OVERRIDE = "BUNDLE_OVERRIDE";
private String mWebUrl = null;
private String mWebTitle = null;
private boolean isShowBottomBar = true;
private boolean isOverrideUrlLoading = true;
private BrowserLayout mBrowserLayout = null;
public static void start(Context context, String url, String title,
boolean isShowBottomBar, boolean isOverrideUrlLoading) {
Intent intent = new Intent(context, BaseWebActivity.class)
.putExtra(BUNDLE_KEY_URL, url)
.putExtra(BUNDLE_KEY_TITLE, title)
.putExtra(BUNDLE_KEY_SHOW_BOTTOM_BAR, isShowBottomBar)
.putExtra(BUNDLE_OVERRIDE, isOverrideUrlLoading);
LogUtils.i("url = " + url);
LogUtils.i("title = " + title);
context.startActivity(intent);
}
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_common_web;
}
@Override
protected void initViewsAndEvents() {
showLoadingDialog();
Intent intent = getIntent();
mWebTitle = intent.getStringExtra(BUNDLE_KEY_TITLE);
mWebUrl = intent.getStringExtra(BUNDLE_KEY_URL);
isShowBottomBar = intent.getBooleanExtra(BUNDLE_KEY_SHOW_BOTTOM_BAR, true);
isOverrideUrlLoading = intent.getBooleanExtra(BUNDLE_OVERRIDE, true);
if (!TextUtils.isEmpty(mWebTitle)) {
setTitle(mWebTitle);
} else {
setTitle("详细内容");
}
mBrowserLayout = ButterKnife.findById(this, R.id.common_web_browser_layout);
if (!isShowBottomBar) {
mBrowserLayout.hideBrowserController();
} else {
mBrowserLayout.showBrowserController();
}
mBrowserLayout.setOverrideUrlLoading(isOverrideUrlLoading);
mBrowserLayout.setOnReceiveTitleListener(new BrowserLayout.OnReceiveTitleListener() {
@Override
public void onReceive(String title) {
if (TextUtils.isEmpty(mWebTitle)) {
setTitle(title);
}
}
@Override
public void onPageFinished() {
hideLoadingDialog();
}
});
if (!TextUtils.isEmpty(mWebUrl)) {
mBrowserLayout.loadUrl(mWebUrl);
} else {
ToastUtils.showToast("获取URL地址失败");
}
}
@Override
protected void onPause() {
if (mBrowserLayout.getWebView() != null) {
mBrowserLayout.getWebView().onPause();
mBrowserLayout.getWebView().reload();
}
super.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mBrowserLayout.getWebView() != null) {
mBrowserLayout.getWebView().removeAllViews();
mBrowserLayout.getWebView().destroy();
}
}
}