|
@@ -57,7 +57,6 @@ import com.cooleshow.base.constanst.UploadConstants;
|
|
|
import com.cooleshow.base.data.net.RetrofitClientNoToken;
|
|
|
import com.cooleshow.base.router.RouterPath;
|
|
|
import com.cooleshow.base.ui.activity.BaseActivity;
|
|
|
-import com.cooleshow.base.utils.AndroidBug5497Workaround;
|
|
|
import com.cooleshow.base.utils.AppUtils;
|
|
|
import com.cooleshow.base.utils.ClipboardUtils;
|
|
|
import com.cooleshow.base.utils.EncryptUtils;
|
|
@@ -67,14 +66,12 @@ import com.cooleshow.base.utils.LOG;
|
|
|
import com.cooleshow.base.utils.LogUtils;
|
|
|
import com.cooleshow.base.utils.MyFileUtils;
|
|
|
import com.cooleshow.base.utils.NetworkUtil;
|
|
|
-import com.cooleshow.base.utils.PermissionUtils;
|
|
|
import com.cooleshow.base.utils.ScreenUtils;
|
|
|
import com.cooleshow.base.utils.ToastUtil;
|
|
|
import com.cooleshow.base.utils.UiUtils;
|
|
|
import com.cooleshow.base.utils.UriUtils;
|
|
|
import com.cooleshow.base.utils.WebParamsUtils;
|
|
|
import com.cooleshow.base.utils.helper.CommonShareHelper;
|
|
|
-import com.cooleshow.base.utils.helper.DialogHelper;
|
|
|
import com.cooleshow.base.utils.helper.DownloadHelper;
|
|
|
import com.cooleshow.base.utils.helper.GlideEngine;
|
|
|
import com.cooleshow.base.utils.helper.PermissionTipHelper;
|
|
@@ -171,6 +168,7 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
private String mImageBase64;
|
|
|
private boolean isNeedResetScreenOrientation = true;
|
|
|
private boolean isResetOrientation = false;
|
|
|
+ private boolean isLoadError = false;
|
|
|
private DownloadHelper.OnEventListener saveFileListener;
|
|
|
|
|
|
private DownloadHelper.OnEventListener mEventListener;
|
|
@@ -179,7 +177,7 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
//限制截屏和录屏
|
|
|
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
|
- StyleConfig.setTheme(this);
|
|
|
+ StyleConfig.setTheme(this);//errorView是公共的,里面有引用不同样式,故在老师端设置这个
|
|
|
super.onCreate(savedInstanceState);
|
|
|
KeyboardUtils.fixAndroidBug5497(this);
|
|
|
EventBus.getDefault().register(this);
|
|
@@ -1153,12 +1151,16 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
@Override
|
|
|
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
|
|
super.onPageStarted(view, url, favicon);
|
|
|
+ isLoadError = false;
|
|
|
}
|
|
|
|
|
|
//页面载入结束时调用
|
|
|
@Override
|
|
|
public void onPageFinished(WebView view, String url) {
|
|
|
super.onPageFinished(view, url);
|
|
|
+ if (!isLoadError) {
|
|
|
+ showWebView();
|
|
|
+ }
|
|
|
if (!TextUtils.isEmpty(authorization)) {
|
|
|
String js = "window.localStorage.setItem('Authorization','" + authorization + "');";
|
|
|
String jsUrl = "javascript:(function({var localStorage = window.localStorage; localStorage.setItem('Authorization','" + authorization + "') })()";
|
|
@@ -1216,10 +1218,41 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
@Override
|
|
|
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
|
|
|
super.onReceivedError(view, request, error);
|
|
|
+ showLoadErrorView();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void showWebView() {
|
|
|
+ viewParent.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void hideErrorView() {
|
|
|
+ viewBinding.flError.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void showLoadErrorView() {
|
|
|
+ isLoadError = true;
|
|
|
+ viewParent.setVisibility(View.GONE);
|
|
|
+ viewBinding.flError.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.errorView.setIcon(StyleConfig.isStudentStyle ? com.cooleshow.base.R.drawable.icon_error_tip : R.drawable.icon_error_tip2);
|
|
|
+ viewBinding.errorView.setOnRefreshClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if (webView != null) {
|
|
|
+ webView.reload();
|
|
|
+ hideErrorView();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ viewBinding.errorView.setOnBackClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public void onBackPressed() {
|
|
@@ -1644,8 +1677,8 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
|
|
|
@Override
|
|
|
public void checkCoursewareCache(JSONObject jsonObject) {
|
|
|
- String [] permissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
|
|
|
- PermissionTipHelper.getInstance().showTipDialog(this,permissions);
|
|
|
+ String[] permissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
|
|
|
+ PermissionTipHelper.getInstance().showTipDialog(this, permissions);
|
|
|
new RxPermissions(this)
|
|
|
.request(permissions)
|
|
|
.subscribe(permission -> {
|
|
@@ -1676,8 +1709,8 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
if (!checkActivityExist()) {
|
|
|
return;
|
|
|
}
|
|
|
- String [] permissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
|
|
|
- PermissionTipHelper.getInstance().showTipDialog(this,permissions);
|
|
|
+ String[] permissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
|
|
|
+ PermissionTipHelper.getInstance().showTipDialog(this, permissions);
|
|
|
new RxPermissions(this)
|
|
|
.request(permissions)
|
|
|
.subscribe(permission -> {
|
|
@@ -1700,7 +1733,7 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
commonDialog2.show();
|
|
|
commonDialog2.setTitle("提示");
|
|
|
Drawable mainBtBackground = StyleConfig.getMainBtBackground(this);
|
|
|
- commonDialog2.setConfirmBackground(mainBtBackground,R.color.white);
|
|
|
+ commonDialog2.setConfirmBackground(mainBtBackground, R.color.white);
|
|
|
commonDialog2.setContent("当前非Wi-Fi环境,是否开始下载?");
|
|
|
commonDialog2.setOnConfirmClickListener(new View.OnClickListener() {
|
|
|
@Override
|