导航菜单

页面标题

页面副标题

WeatherSense v1.8.9 - DataDownloadActivity.java 源代码

正在查看: WeatherSense v1.8.9 应用的 DataDownloadActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.emax.weather.ui.activity;

import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.core.content.FileProvider;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.emax.weahter.R;
import com.emax.weather.base.BaseActivity;
import com.emax.weather.bean.DeviceWeather;
import com.emax.weather.bean.SensorDatas;
import com.emax.weather.bean.db.DaoHadle;
import com.emax.weather.utils.DateUtils;
import com.emax.weather.utils.HomeUtil;
import com.emax.weather.utils.PressureUtils;
import com.emax.weather.utils.TemperatureUtils;
import com.emax.weather.widget.DownloadDialog;
import com.emax.weather.widget.wheel.extendDialog.WheelDatePickerDialog;
import com.ezon.health.utils_lib.SharedPre;
import com.ezon.health.utils_lib.SharedPreUtils;
import com.ezon.health.utils_lib.TimeUtils;
import com.ezon.health.utils_lib.ToastUtil;
import com.shidian.excel.ExcelUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;

public class DataDownloadActivity extends BaseActivity implements ExcelUtils.SaveListener {
    private DownloadDialog.Builder builder;
    private boolean canWrite;

    @BindView(R.id.setting)
    TextView mSetting;

    @BindView(R.id.title_sub)
    TextView mTitle;

    @BindView(R.id.tv_download)
    TextView mTvDownload;

    @BindView(R.id.end_time_tv)
    TextView mTvEndTime;

    @BindView(R.id.start_time_tv)
    TextView mTvStartTime;
    private Disposable perDisposable;
    private long preTime;
    private String pressureUnit;
    private String rainUnit;
    private boolean tempIsC;
    private boolean windIsKmH;
    final String[] reportTitle = {"Time", "Indoor Tem(°F)", "Indoor Tem.Max(°F)", "Indoor Tem.Min(°F)", "Indoor Hum(%)", "Indoor Hum.Max(%)", "Indoor Hum.Min(%)", "CH1 Tem(°F)", "CH1 Tem.Max(°F)", "CH1 Tem.Min(°F)", "CH1 Hum(%)", "CH1 Hum.Max(%)", "CH1 Hum.Min(%)", "CH2 Tem(°F)", "CH2 Tem.Max", "CH2 Tem.Min(°F)", "CH2 Hum(%)", "CH2 Hum.Max(%)", "CH2 Hum.Min(%)", "CH3 Tem(°F)", "CH3 Tem.Max(°F)", "CH3 Tem.Min(°F)", "CH3 Hum(%)", "CH3 Hum.Max(%)", "CH3 Hum.Min(%)", "Outdoor Tem(°F)", "Outdoor Tem.Max(°F)", "Outdoor Tem.Min(°F)", "Outdoor Hum(%)", "Outdoor Hum.Max(%)", "Outdoor Hum.Min(%)", "Rainfull(Hour)(inch)", "Rainfull(Day)(inch)", "Wind speed(Hour)(km/h)", "Wind speed(Day)(km/h)", "Wind direction", "Light intensity", "UV rating", "Pressure(hpa)"};
    private boolean isDownloading = false;
    private int beforeYear = 130;
    private int futureYear = 0;

    @Override
    protected int getActivityRId() {
        return R.layout.activity_data_download;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ButterKnife.bind(this);
        initView();
    }

    private void initView() {
        this.mTitle.setText(getString(R.string.Data_download));
        int i = 0;
        this.mSetting.setVisibility(0);
        this.mSetting.setText(getString(R.string.history));
        RxPermissions rxPermissions = new RxPermissions(this);
        if (Build.VERSION.SDK_INT >= 31) {
            this.canWrite = true;
        } else if (rxPermissions.isGranted("android.permission.WRITE_EXTERNAL_STORAGE") && rxPermissions.isGranted("android.permission.READ_EXTERNAL_STORAGE")) {
            this.canWrite = true;
            if (!SharedPreUtils.getBoolean(getApplicationContext(), SharedPre.History.LOAD_ALL, false)) {
                ToastUtil.show(getString(R.string.download_all_data), getApplicationContext());
            }
        } else {
            this.perDisposable = rxPermissions.request(new String[]{"android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE"}).subscribe(new Consumer() {
                public final void accept(Object obj) {
                    DataDownloadActivity.this.lambda$initView$0$DataDownloadActivity((Boolean) obj);
                }
            });
        }
        this.mTvStartTime.setText(TimeUtils.millis2String(System.currentTimeMillis(), TimeUtils.DAY));
        this.mTvEndTime.setText(TimeUtils.millis2String(System.currentTimeMillis(), TimeUtils.DAY));
        this.tempIsC = SharedPreUtils.getBoolean(getApplicationContext(), SharedPre.User.TEMPERATURE_VALUE, true);
        this.pressureUnit = SharedPreUtils.getString(getApplicationContext(), SharedPre.User.PRESSURE_UNIT);
        this.windIsKmH = SharedPreUtils.getBoolean(getApplicationContext(), SharedPre.User.WIND_SPEED, true);
        this.rainUnit = SharedPreUtils.getString(getApplicationContext(), SharedPre.User.RAIN_VOLUME);
        while (true) {
            String[] strArr = this.reportTitle;
            if (i >= strArr.length) {
                return;
            }
            if (this.tempIsC && strArr[i].contains("°F")) {
                String[] strArr2 = this.reportTitle;
                strArr2[i] = strArr2[i].replace("°F", "°C");
            }
            if (this.pressureUnit.equals("inHg") && this.reportTitle[i].contains("hpa")) {
                String[] strArr3 = this.reportTitle;
                strArr3[i] = strArr3[i].replace("hpa", "inHg");
            } else if (this.pressureUnit.equals("mmHg") && this.reportTitle[i].contains("hpa")) {
                String[] strArr4 = this.reportTitle;
                strArr4[i] = strArr4[i].replace("hpa", "mmHg");
            }
            if (!this.windIsKmH && this.reportTitle[i].contains("km/h")) {
                String[] strArr5 = this.reportTitle;
                strArr5[i] = strArr5[i].replace("km/h", "mph");
            }
            if (TimeUtils.SECOND.equals(this.rainUnit) && this.reportTitle[i].contains("inch")) {
                String[] strArr6 = this.reportTitle;
                strArr6[i] = strArr6[i].replace("inch", TimeUtils.SECOND);
            }
            i++;
        }
    }

    public void lambda$initView$0$DataDownloadActivity(Boolean bool) throws Exception {
        if (!bool.booleanValue()) {
            ToastUtil.show(getString(R.string.Please_check_your_save_permissions), getApplicationContext());
        } else if (!SharedPreUtils.getBoolean(getApplicationContext(), SharedPre.History.LOAD_ALL, false)) {
            ToastUtil.show(getString(R.string.download_all_data), getApplicationContext());
        }
        this.canWrite = bool.booleanValue();
    }

    @OnClick({R.id.tv_download, R.id.start_time_rl, R.id.end_time_rl, R.id.setting})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.end_time_rl:
                if (!TextUtils.isEmpty(this.mTvEndTime.getText().toString())) {
                    String charSequence = this.mTvEndTime.getText().toString();
                    WheelDatePickerDialog wheelDatePickerDialog = new WheelDatePickerDialog(this, this.beforeYear, this.futureYear);
                    wheelDatePickerDialog.setScrollSubmit(true);
                    wheelDatePickerDialog.setListener(new WheelDatePickerDialog.WheelDatePickerDialogListener() {
                        @Override
                        public void OnCancel() {
                        }

                        @Override
                        public void OnSelected(int year, int month, int day) {
                            Object valueOf;
                            Object valueOf2;
                            StringBuilder sb = new StringBuilder();
                            sb.append(year);
                            sb.append("");
                            if (month < 10) {
                                valueOf = "0" + month;
                            } else {
                                valueOf = Integer.valueOf(month);
                            }
                            sb.append(valueOf);
                            sb.append("");
                            if (day < 10) {
                                valueOf2 = "0" + day;
                            } else {
                                valueOf2 = Integer.valueOf(day);
                            }
                            sb.append(valueOf2);
                            DataDownloadActivity.this.mTvEndTime.setText(sb.toString());
                        }
                    });
                    Calendar calendar = Calendar.getInstance();
                    if (!TextUtils.isEmpty(charSequence)) {
                        try {
                            calendar.setTime(new SimpleDateFormat(TimeUtils.DAY, Locale.US).parse(charSequence));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        wheelDatePickerDialog.setValue(calendar.get(1), calendar.get(2) + 1, calendar.get(5));
                    } else {
                        wheelDatePickerDialog.setValue(calendar.get(1), calendar.get(2) + 1, calendar.get(5));
                    }
                    wheelDatePickerDialog.show();
                    break;
                }
                break;
            case R.id.setting:
                startActivity(new Intent(this, (Class<?>) DownloadHistoryActivity.class));
                break;
            case R.id.start_time_rl:
                WheelDatePickerDialog wheelDatePickerDialog2 = new WheelDatePickerDialog(this, this.beforeYear, this.futureYear);
                wheelDatePickerDialog2.setScrollSubmit(true);
                wheelDatePickerDialog2.setListener(new WheelDatePickerDialog.WheelDatePickerDialogListener() {
                    @Override
                    public void OnCancel() {
                    }

                    @Override
                    public void OnSelected(int year, int month, int day) {
                        Object valueOf;
                        Object valueOf2;
                        StringBuilder sb = new StringBuilder();
                        sb.append(year);
                        sb.append("");
                        if (month < 10) {
                            valueOf = "0" + month;
                        } else {
                            valueOf = Integer.valueOf(month);
                        }
                        sb.append(valueOf);
                        sb.append("");
                        if (day < 10) {
                            valueOf2 = "0" + day;
                        } else {
                            valueOf2 = Integer.valueOf(day);
                        }
                        sb.append(valueOf2);
                        String sb2 = sb.toString();
                        DataDownloadActivity.this.mTvStartTime.setText(sb2);
                        Calendar calendar2 = Calendar.getInstance();
                        try {
                            calendar2.setTime(new SimpleDateFormat(TimeUtils.DAY, Locale.US).parse(sb2));
                            calendar2.add(2, 3);
                            if (calendar2.getTime().getTime() - System.currentTimeMillis() < 0) {
                                DataDownloadActivity.this.mTvEndTime.setText(TimeUtils.millis2String(calendar2.getTime().getTime(), TimeUtils.DAY));
                            } else {
                                DataDownloadActivity.this.mTvEndTime.setText(TimeUtils.millis2String(System.currentTimeMillis(), TimeUtils.DAY));
                            }
                        } catch (Exception e2) {
                            e2.printStackTrace();
                        }
                    }
                });
                String charSequence2 = this.mTvStartTime.getText().toString();
                Calendar calendar2 = Calendar.getInstance();
                if (!TextUtils.isEmpty(charSequence2)) {
                    try {
                        calendar2.setTime(new SimpleDateFormat(TimeUtils.DAY, Locale.US).parse(charSequence2));
                    } catch (Exception e2) {
                        e2.printStackTrace();
                    }
                    wheelDatePickerDialog2.setValue(calendar2.get(1), calendar2.get(2) + 1, calendar2.get(5));
                } else {
                    wheelDatePickerDialog2.setValue(calendar2.get(1), calendar2.get(2) + 1, calendar2.get(5));
                }
                wheelDatePickerDialog2.show();
                break;
            case R.id.tv_download:
                final String charSequence3 = this.mTvStartTime.getText().toString();
                final String charSequence4 = this.mTvEndTime.getText().toString();
                if (checkCanDownload(charSequence3, charSequence4)) {
                    if (this.isDownloading) {
                        Toast.makeText(this, getString(R.string.data_downloading), 0).show();
                        break;
                    } else {
                        this.isDownloading = true;
                        final String str = charSequence3 + "_" + charSequence4 + ".xls";
                        final String str2 = getExternalFilesDir(null).getAbsolutePath() + "/history";
                        this.preTime = System.currentTimeMillis();
                        DownloadDialog.Builder builder = this.builder;
                        if (builder == null) {
                            DownloadDialog.Builder downloadValue = new DownloadDialog.Builder(this).setDownloadValue(0);
                            this.builder = downloadValue;
                            downloadValue.build().show();
                        } else {
                            builder.setDownloadValue(0).build().show();
                        }
                        new Thread(new Runnable() {
                            @Override
                            public final void run() {
                                DataDownloadActivity.this.lambda$onViewClicked$3$DataDownloadActivity(charSequence3, charSequence4, str2, str);
                            }
                        }).start();
                        break;
                    }
                }
                break;
        }
    }

    public void lambda$onViewClicked$2$DataDownloadActivity(final float f) {
        runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                DataDownloadActivity.this.lambda$onViewClicked$1$DataDownloadActivity(f);
            }
        });
    }

    public void lambda$onViewClicked$3$DataDownloadActivity(String str, String str2, String str3, String str4) {
        List<DeviceWeather> historyWeatherList = DaoHadle.getHistoryWeatherList(str, str2, new DaoHadle.QueryListener() {
            @Override
            public final void queryProgress(float f) {
                DataDownloadActivity.this.lambda$onViewClicked$2$DataDownloadActivity(f);
            }
        });
        ExcelUtils.initExcel(getApplicationContext(), str3, str4, this.reportTitle);
        ExcelUtils.writeObjListToExcel(getApplicationContext(), getRecordData(historyWeatherList), str3, str4, this);
    }

    public void lambda$onViewClicked$1$DataDownloadActivity(float f) {
        this.builder.setDownloadValue((int) (f * 100.0f)).build().show();
    }

    private boolean checkCanDownload(String startTime, String endTime) {
        if (!this.canWrite) {
            ToastUtil.show(getString(R.string.Please_check_your_save_permissions), getApplicationContext());
            return false;
        }
        if (TextUtils.isEmpty(startTime)) {
            Toast.makeText(getApplicationContext(), getString(R.string.please_enter_start_time_), 0).show();
            return false;
        }
        if (TextUtils.isEmpty(endTime)) {
            Toast.makeText(getApplicationContext(), getString(R.string.please_enter_end_time_), 0).show();
            return false;
        }
        long string2Millis = TimeUtils.string2Millis(startTime, TimeUtils.DAY);
        long threeMonthAfterOfYear = DateUtils.getThreeMonthAfterOfYear(startTime, TimeUtils.DAY);
        long string2Millis2 = TimeUtils.string2Millis(endTime, TimeUtils.DAY);
        System.out.println("选择的开始时间 = " + string2Millis);
        System.out.println("三个月后的时间 = " + threeMonthAfterOfYear);
        System.out.println("选择的结束时间 = " + string2Millis2);
        if (string2Millis > string2Millis2) {
            Toast.makeText(getApplicationContext(), getString(R.string.start_time_more_than_end_time), 0).show();
            return false;
        }
        if (threeMonthAfterOfYear >= string2Millis2) {
            return true;
        }
        Toast.makeText(getApplicationContext(), getString(R.string.more_than_three_month), 0).show();
        return false;
    }

    private ArrayList<ArrayList<String>> getRecordData(List<DeviceWeather> deviceWeathers) {
        ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
        int i = 0;
        if (deviceWeathers.size() > 0) {
            int i2 = 0;
            while (i2 < deviceWeathers.size()) {
                DeviceWeather deviceWeather = deviceWeathers.get(i2);
                ArrayList<String> arrayList2 = new ArrayList<>();
                for (int i3 = 0; i3 < this.reportTitle.length; i3++) {
                    arrayList2.add("null");
                }
                arrayList2.set(i, deviceWeather.getUpdateTime());
                int i4 = 1;
                if (this.pressureUnit.equals("inHg")) {
                    arrayList2.set(this.reportTitle.length - 1, PressureUtils.hpaToInhg(deviceWeather.getAtmos()));
                } else if (this.pressureUnit.equals("mmHg")) {
                    arrayList2.set(this.reportTitle.length - 1, PressureUtils.hpaToMmhg(deviceWeather.getAtmos()));
                } else {
                    arrayList2.set(this.reportTitle.length - 1, String.valueOf(deviceWeather.getAtmos()));
                }
                if (deviceWeather.getSensorDatas() != null) {
                    int i5 = 0;
                    while (i5 < deviceWeather.getSensorDatas().size()) {
                        SensorDatas sensorDatas = deviceWeather.getSensorDatas().get(i5);
                        if (sensorDatas.getChannel().longValue() == 0 && sensorDatas.getType() == i4) {
                            if (this.tempIsC) {
                                arrayList2.set(i4, String.valueOf(TemperatureUtils.fahrenheitToCentigrade1(getApplicationContext(), sensorDatas.getCurVal())));
                                arrayList2.set(2, String.valueOf(TemperatureUtils.fahrenheitToCentigrade1(getApplicationContext(), sensorDatas.getHihgVal())));
                                arrayList2.set(3, String.valueOf(TemperatureUtils.fahrenheitToCentigrade1(getApplicationContext(), sensorDatas.getLowVal())));
                            } else {
                                arrayList2.set(i4, String.valueOf(sensorDatas.getCurVal()));
                                arrayList2.set(2, String.valueOf(sensorDatas.getHihgVal()));
                                arrayList2.set(3, String.valueOf(sensorDatas.getLowVal()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 0 && sensorDatas.getType() == 2) {
                            arrayList2.set(4, String.valueOf(sensorDatas.getCurVal()));
                            arrayList2.set(5, String.valueOf(sensorDatas.getHihgVal()));
                            arrayList2.set(6, String.valueOf(sensorDatas.getLowVal()));
                        }
                        if (sensorDatas.getChannel().longValue() == 1 && sensorDatas.getType() == 1) {
                            if (this.tempIsC) {
                                arrayList2.set(7, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getCurVal())));
                                arrayList2.set(8, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getHihgVal())));
                                arrayList2.set(9, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getLowVal())));
                            } else {
                                arrayList2.set(7, String.valueOf(sensorDatas.getCurVal()));
                                arrayList2.set(8, String.valueOf(sensorDatas.getHihgVal()));
                                arrayList2.set(9, String.valueOf(sensorDatas.getLowVal()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 1 && sensorDatas.getType() == 2) {
                            arrayList2.set(10, String.valueOf(sensorDatas.getCurVal()));
                            arrayList2.set(11, String.valueOf(sensorDatas.getHihgVal()));
                            arrayList2.set(12, String.valueOf(sensorDatas.getLowVal()));
                        }
                        if (sensorDatas.getChannel().longValue() == 2 && sensorDatas.getType() == 1) {
                            if (this.tempIsC) {
                                arrayList2.set(13, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getCurVal())));
                                arrayList2.set(14, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getHihgVal())));
                                arrayList2.set(15, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getLowVal())));
                            } else {
                                arrayList2.set(13, String.valueOf(sensorDatas.getCurVal()));
                                arrayList2.set(14, String.valueOf(sensorDatas.getHihgVal()));
                                arrayList2.set(15, String.valueOf(sensorDatas.getLowVal()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 2 && sensorDatas.getType() == 2) {
                            arrayList2.set(16, String.valueOf(sensorDatas.getCurVal()));
                            arrayList2.set(17, String.valueOf(sensorDatas.getHihgVal()));
                            arrayList2.set(18, String.valueOf(sensorDatas.getLowVal()));
                        }
                        if (sensorDatas.getChannel().longValue() == 3 && sensorDatas.getType() == 1) {
                            if (this.tempIsC) {
                                arrayList2.set(19, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getCurVal())));
                                arrayList2.set(20, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getHihgVal())));
                                arrayList2.set(21, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getLowVal())));
                            } else {
                                arrayList2.set(19, String.valueOf(sensorDatas.getCurVal()));
                                arrayList2.set(20, String.valueOf(sensorDatas.getHihgVal()));
                                arrayList2.set(21, String.valueOf(sensorDatas.getLowVal()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 3 && sensorDatas.getType() == 2) {
                            arrayList2.set(22, String.valueOf(sensorDatas.getCurVal()));
                            arrayList2.set(23, String.valueOf(sensorDatas.getHihgVal()));
                            arrayList2.set(24, String.valueOf(sensorDatas.getLowVal()));
                        }
                        if (sensorDatas.getChannel().longValue() == 99 && sensorDatas.getType() == 1) {
                            if (this.tempIsC) {
                                arrayList2.set(25, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getCurVal())));
                                arrayList2.set(26, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getHihgVal())));
                                arrayList2.set(27, String.valueOf(TemperatureUtils.fahrenheitToCentigrade2(sensorDatas.getLowVal())));
                            } else {
                                arrayList2.set(25, String.valueOf(sensorDatas.getCurVal()));
                                arrayList2.set(26, String.valueOf(sensorDatas.getHihgVal()));
                                arrayList2.set(27, String.valueOf(sensorDatas.getLowVal()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 99 && sensorDatas.getType() == 2) {
                            arrayList2.set(28, String.valueOf(sensorDatas.getCurVal()));
                            arrayList2.set(29, String.valueOf(sensorDatas.getHihgVal()));
                            arrayList2.set(30, String.valueOf(sensorDatas.getLowVal()));
                        }
                        if (sensorDatas.getChannel().longValue() == 99 && sensorDatas.getType() == 4 && sensorDatas.getDevRainfullVals() != null) {
                            if (TimeUtils.SECOND.equals(this.rainUnit)) {
                                arrayList2.set(31, String.valueOf(HomeUtil.inchToMmh(sensorDatas.getDevRainfullVals().getHourRainfall())));
                                arrayList2.set(32, String.valueOf(HomeUtil.inchToMmh(sensorDatas.getDevRainfullVals().getDayRainfall())));
                            } else {
                                arrayList2.set(31, String.valueOf(sensorDatas.getDevRainfullVals().getHourRainfall()));
                                arrayList2.set(32, String.valueOf(sensorDatas.getDevRainfullVals().getDayRainfall()));
                            }
                        }
                        if (sensorDatas.getChannel().longValue() == 99 && sensorDatas.getType() == 3 && sensorDatas.getDevWindVal() != null) {
                            float hourWindSpeed = sensorDatas.getDevWindVal().getHourWindSpeed();
                            arrayList2.set(33, String.valueOf(hourWindSpeed));
                            System.out.println("HourWindSpeed-speedValue:" + hourWindSpeed + ",recordListItem[33]:" + arrayList2.get(33) + ",windIsKmH:" + this.windIsKmH);
                            arrayList2.set(34, String.valueOf(sensorDatas.getDevWindVal().getDayWindSpeed()));
                            arrayList2.set(35, String.valueOf(sensorDatas.getDevWindVal().getWindDirection()));
                        }
                        if (sensorDatas.getChannel().longValue() == 99 && sensorDatas.getType() == 6 && sensorDatas.getDevLightVals() != null) {
                            arrayList2.set(36, String.valueOf(sensorDatas.getDevLightVals().getCurrLightIntensity()));
                            arrayList2.set(37, String.valueOf(sensorDatas.getDevLightVals().getCurrUltraviolet()));
                        }
                        i5++;
                        i4 = 1;
                    }
                }
                arrayList.add(arrayList2);
                i2++;
                i = 0;
            }
        } else {
            ArrayList<String> arrayList3 = new ArrayList<>();
            for (int i6 = 0; i6 < this.reportTitle.length; i6++) {
                arrayList3.add("null");
            }
            arrayList.add(arrayList3);
        }
        return arrayList;
    }

    public void saveSuccess(final String path, final String fileName) {
        runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                DataDownloadActivity.this.lambda$saveSuccess$4$DataDownloadActivity(path, fileName);
            }
        });
    }

    public void lambda$saveSuccess$4$DataDownloadActivity(String str, String str2) {
        Uri fromFile;
        this.builder.build().dismiss();
        System.out.println("导出数据花费时间  " + (System.currentTimeMillis() - this.preTime) + "毫秒");
        System.out.println("文件地址 " + str + " 文件名称 " + str2);
        this.isDownloading = false;
        Log.i("", "xml文件保存成功");
        Toast.makeText(this, getString(R.string.data_downloading_success), 0).show();
        Intent intent = new Intent();
        intent.setAction("android.intent.action.SEND");
        intent.addFlags(3);
        intent.setType("application/vnd.ms-excel");
        if (Build.VERSION.SDK_INT >= 24) {
            fromFile = FileProvider.getUriForFile(this, "com.emax.weahter.fileprovider", new File(str, str2));
        } else {
            fromFile = Uri.fromFile(new File(str, str2));
        }
        intent.putExtra("android.intent.extra.STREAM", fromFile);
        startActivity(intent);
    }

    public void saveFail() {
        runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                DataDownloadActivity.this.lambda$saveFail$5$DataDownloadActivity();
            }
        });
    }

    public void lambda$saveFail$5$DataDownloadActivity() {
        this.builder.build().dismiss();
        System.out.println("导出数据花费时间  " + (System.currentTimeMillis() - this.preTime) + "毫秒");
        this.isDownloading = false;
        Toast.makeText(this, getString(R.string.data_downloading_fail), 0).show();
        Log.i("", "xml文件保存失败");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Disposable disposable = this.perDisposable;
        if (disposable == null || disposable.isDisposed()) {
            return;
        }
        this.perDisposable.dispose();
        this.perDisposable = null;
    }
}