package com.hdl.photovoltaic.ui.me;
|
|
|
import android.content.Intent;
|
import android.graphics.Bitmap;
|
import android.graphics.Color;
|
import android.graphics.drawable.Drawable;
|
import android.os.Bundle;
|
import android.view.View;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import com.hdl.linkpm.sdk.core.exception.HDLException;
|
import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
|
import com.hdl.photovoltaic.R;
|
import com.hdl.photovoltaic.base.CustomBaseActivity;
|
import com.hdl.photovoltaic.config.AppConfigManage;
|
import com.hdl.photovoltaic.config.UserConfigManage;
|
import com.hdl.photovoltaic.databinding.ActivityAsRegardsBinding;
|
import com.hdl.photovoltaic.enums.ShowErrorMode;
|
import com.hdl.photovoltaic.listener.CloudCallBeak;
|
import com.hdl.photovoltaic.other.HdlAppUpdateLogic;
|
import com.hdl.photovoltaic.other.HdlCommonLogic;
|
import com.hdl.photovoltaic.other.HdlThreadLogic;
|
import com.hdl.photovoltaic.widget.FlashingBoxDialog;
|
import com.hdl.photovoltaic.widget.FlashingIconBoxDialog;
|
import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService;
|
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
|
import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog;
|
|
/**
|
* 关于界面(app更新)
|
*/
|
public class AsRegardsActivity extends CustomBaseActivity {
|
|
/**
|
* 版本更新对象
|
*/
|
private NewVersionBean mNewVersionBean = null;
|
|
public ActivityAsRegardsBinding viewBinding;
|
|
@Override
|
public Object getContentView() {
|
viewBinding = ActivityAsRegardsBinding.inflate(getLayoutInflater());
|
return viewBinding.getRoot();
|
}
|
|
@Override
|
public void onBindView(Bundle savedInstanceState) {
|
setStatusBarTranslucent();
|
//初始化
|
initView();
|
//初始化界面监听器
|
initEvent();
|
//读取数据
|
readData();
|
}
|
|
private void readData() {
|
HdlAppUpdateLogic.getInstance().checkAppVersion(AppConfigManage.getVersionName(), new CloudCallBeak<NewVersionBean>() {
|
@Override
|
public void onSuccess(NewVersionBean newVersionBean) {
|
//初始化对象
|
mNewVersionBean = newVersionBean;
|
if (newVersionBean != null) {
|
//todo 发现新版本,改变UI样式
|
viewBinding.asRegardsRlRightContentTv.setText(R.string.app_discover_new_version);
|
viewBinding.asRegardsRlRightContentTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
|
}
|
}
|
|
@Override
|
public void onFailure(HDLException e) {
|
|
}
|
});
|
//正式环境
|
String content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDownload.html";
|
if (!AppConfigManage.getOnlineServer()) {
|
//测试环境
|
content = "https://developer.hdlcontrol.com/AppDownload/HDLDebugerDownload.html";
|
}
|
Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "0", Color.BLACK, Color.WHITE);
|
viewBinding.asRegardsQrCodeIv.setImageBitmap(bitmap);
|
|
}
|
|
|
private void initEvent() {
|
viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
finish();
|
}
|
});
|
|
viewBinding.asRegardsVersionUpdatingRl.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
updateTipDialog();
|
}
|
});
|
|
viewBinding.serviceAgreementRl.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent();
|
intent.putExtra("type", WebActivity.ServiceAgreement);
|
intent.setClass(_mActivity, WebActivity.class);
|
startActivity(intent);
|
}
|
|
});
|
viewBinding.privacyPolicyRl.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent();
|
intent.putExtra("type", WebActivity.PrivacyAgreement);
|
intent.setClass(_mActivity, WebActivity.class);
|
startActivity(intent);
|
|
}
|
});
|
viewBinding.contactUsRl.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent();
|
intent.setClass(_mActivity, ContactUsActivity.class);
|
startActivity(intent);
|
|
}
|
});
|
|
}
|
|
private void initView() {
|
viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000));
|
viewBinding.toolbarTopRl.topTitleTv.setText(R.string.me_regard);
|
viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
|
String versionsStr = _mActivity.getResources().getString(R.string.app_version_number) + " " + AppConfigManage.getVersionName();
|
viewBinding.asRegardsIconVersionsTv.setText(versionsStr);
|
|
}
|
|
/**
|
* App新版本提示框
|
*/
|
private void updateTipDialog() {
|
HdlThreadLogic.runMainThread(new Runnable() {
|
@Override
|
public void run() {
|
if (mNewVersionBean == null) {
|
FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity, 1500);
|
flashingBoxDialog.setContent(getString(R.string.app_new_version));
|
flashingBoxDialog.show();
|
return;
|
}
|
String app_version = getString(R.string.app_version) + ":" + mNewVersionBean.getVersion();
|
int kb = (int) (mNewVersionBean.getSize() / 1024);
|
String mb = (kb / 1024) + "." + ((kb % 1024) + "").charAt(0) + "MB";//mb保留一位
|
String app_package_size = getString(R.string.app_package_size) + ":" + mb;
|
String content1 = app_version + "\n" + app_package_size;
|
String content2 = mNewVersionBean.getRemark();
|
UpdateConfirmationCancelDialog updateConfirmationCancelDialog = new UpdateConfirmationCancelDialog(_mActivity);
|
updateConfirmationCancelDialog.setContent1(content1);
|
updateConfirmationCancelDialog.setContent2(content2);
|
updateConfirmationCancelDialog.show();
|
updateConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
|
@Override
|
public void Confirm() {
|
Intent intent = new Intent(_mActivity, ApkDownLoadService.class);
|
intent.putExtra("updateUrl", mNewVersionBean.getPackageUrl());
|
intent.putExtra("downLoadName", HdlAppUpdateLogic.getInstance().getApkFileName());
|
intent.putExtra("downLoadType", "0");
|
_mActivity.startService(intent);
|
updateConfirmationCancelDialog.dismiss();
|
|
}
|
});
|
|
updateConfirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
|
@Override
|
public void Cancel() {
|
updateConfirmationCancelDialog.dismiss();
|
}
|
});
|
}
|
}, this, ShowErrorMode.YES);
|
}
|
}
|