正在查看: WeatherSense v1.8.9 应用的 DataDownloadActivity.java JAVA 源代码文件
本页面展示 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;
}
}