package com.uas.equipment.fragment; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Handler; import android.os.Message; import android.support.v4.content.FileProvider; import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.android.volley.Request; import com.android.volley.toolbox.StringRequest; import com.uas.equipment.R; import com.uas.equipment.global.GloableParams; import com.uas.equipment.util.AndroidUtil; import com.uas.equipment.util.CommonUtil; import com.uas.equipment.util.Constants; import com.uas.equipment.util.FastjsonUtil; import com.uas.equipment.util.FileUtils; import com.uas.equipment.util.HttpCallback; import com.uas.equipment.util.HttpParams; import com.uas.equipment.util.VollyRequest; import com.uas.equipment.util.down.CommonProgressPop; import com.uas.equipment.util.down.ProgressDownloader; import com.uas.equipment.util.down.ProgressResponseBody; import java.io.File; import java.io.IOException; import static com.uas.equipment.util.Constants.CONSTANT.APK_FILE_NAME; import static com.uas.equipment.util.Constants.CONSTANT.APK_FILE_PATH; /** * Created by RaoMeng on 2020/4/9 * Desc: 版本升级页面 */ public class VersionUpgradeFragment extends BaseFragment implements ProgressResponseBody.ProgressListener { private TextView mOldVersionTv, mNewVersionTv, mMsgTextView; private Button mUpgradeButton; private CommonProgressPop mProgressPop; private ProgressDownloader mDownloader; private long breakPoints, contentLength, totalBytes; private File file; private String mAttachId; private StringRequest mStringRequest; @Override protected int getLayout() { return R.layout.fragment_version_upgrade; } @Override protected void initViews() { setTitle("版本升级"); mOldVersionTv = root.findViewById(R.id.version_upgrade_oldVersion_tv); mNewVersionTv = root.findViewById(R.id.version_upgrade_newVersion_tv); mMsgTextView = root.findViewById(R.id.version_upgrade_msg_tv); mUpgradeButton = root.findViewById(R.id.version_upgrade_upgrade_btn); } @Override protected void initEvents() { mUpgradeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mProgressPop == null) { mProgressPop = new CommonProgressPop(mActivity, "正在下载新版本"); } mProgressPop.showPopupWindow(); breakPoints = 0L; File directory = new File(APK_FILE_PATH); if (!directory.exists() && !directory.isDirectory()) { boolean mkdirs = directory.mkdirs(); } else { FileUtils.delAllFile(APK_FILE_PATH); } file = new File(APK_FILE_PATH, APK_FILE_NAME); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } String downloadUrl = GloableParams.ADDRESS_COMMON_DOWNLOADBYID + "?id=" + mAttachId; mDownloader = new ProgressDownloader(downloadUrl, file, VersionUpgradeFragment.this); mDownloader.download(0L); } }); } @Override protected void initDatas() { mOldVersionTv.setText(AndroidUtil.getVersionName(mActivity)); getNewVersionMsg(); } private void getNewVersionMsg() { progressDialog.show(); // VolleyRequest.getInstance().stringRequest(new HttpParams.Builder() // .url(GloableParams.ADDRESS_OUTMATERIAL_GETPDAVERSION) // .method(Request.Method.GET) // .addParam("code", "UAS_SMART") // .build(), new HttpCallback() { // @Override // public void onSuccess(int flag, Object o) throws Exception { // progressDialog.dismiss(); // String result = o.toString(); // JSONObject resultObject = JSON.parseObject(result); // JSONObject dataObject = resultObject.getJSONObject("data"); // if (dataObject != null) { // mNewVersionTv.setText(FastjsonUtil.getText(dataObject, "pp_versionname")); // mMsgTextView.setText(FastjsonUtil.getText(dataObject, "pp_remark")); // // mAttachId = FastjsonUtil.getText(dataObject, "pp_attach"); // if (!TextUtils.isEmpty(mAttachId)) { // mUpgradeButton.setVisibility(View.VISIBLE); // } else { // mUpgradeButton.setVisibility(View.VISIBLE); // } // } // } // // @Override // public void onFail(int flag, String failStr) throws Exception { // progressDialog.dismiss(); // CommonUtil.toastNoRepeat(mActivity, failStr); // } // }); VollyRequest.getInstance().stringRequest(mStringRequest, new HttpParams.Builder() .url(GloableParams.ADDRESS_OUTMATERIAL_GETPDAVERSION) // .url("http://usoft.f3322.net:11769/ERP/api/pda/outMaterial/getPdaVersion.action") .method(Request.Method.GET) .addParam("code", "UAS设备管理") .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); // String result = o.toString(); // JSONObject resultObject = JSON.parseObject(result); // JSONArray dataArray = resultObject.getJSONArray("data"); // List list=new ArrayList<>(); // list.clear(); // if (dataArray != null && dataArray.size() > 0) { // for (int i = 0; i < dataArray.size(); i++) { // JSONObject dataObject = dataArray.getJSONObject(i); // if (dataObject != null) { // VersionUpgradeBean jltStorageInBean = new VersionUpgradeBean(); // if (FastjsonUtil.getText(dataObject, "PP_PDACODE").equals("UAS设备管理")){ // jltStorageInBean.setPP_PDACODE(FastjsonUtil.getText(dataObject, "PP_PDACODE")); // jltStorageInBean.setPP_VERSIONNUM(FastjsonUtil.getText(dataObject, "PP_VERSIONNUM")); // jltStorageInBean.setPP_ATTACH(FastjsonUtil.getText(dataObject, "PP_ATTACH")); // jltStorageInBean.setPP_REMARK(FastjsonUtil.getText(dataObject, "PP_REMARK")); // jltStorageInBean.setPP_VERSIONNAME(FastjsonUtil.getText(dataObject, "PP_VERSIONNAME")); // list.add(jltStorageInBean); // mUpgradeButton.setVisibility(View.VISIBLE); // }else { // mUpgradeButton.setVisibility(View.GONE); // } // // } // } // } // if (list == null || list.size() == 0){ // mUpgradeButton.setVisibility(View.GONE); // }else { // for (int i=0;i= 24) { Uri apkUri = FileProvider.getUriForFile(mActivity, "com.uas.pda_smart_sa.fileprovider", apk); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); } else { intent.setDataAndType(Uri.fromFile(apk), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } mActivity.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } break; case Constants.CONSTANT.DOWNLOAD_FAILED: mProgressPop.dismiss(); CommonUtil.makeNotice(); CommonUtil.toastNoRepeat(mActivity, "下载失败"); break; default: break; } } }; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return false; } @Override public boolean onFragmentBackPressed() { return false; } }