正在查看: WeatherSense v1.8.9 应用的 DownloadHistoryActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: WeatherSense v1.8.9 应用的 DownloadHistoryActivity.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.view.View;
import android.widget.TextView;
import androidx.core.content.FileProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.emax.weahter.R;
import com.emax.weather.adapter.common.BaseRecycleViewHolder;
import com.emax.weather.adapter.common.BaseRecycleViewHolderFactory;
import com.emax.weather.adapter.common.SimpleRecycleViewAdapter;
import com.emax.weather.base.BaseActivity;
import com.emax.weather.bean.HistoryFile;
import com.emax.weather.ui.activity.DownloadHistoryActivity;
import com.ezon.health.utils_lib.FileUtils;
import com.ezon.health.utils_lib.ToastUtil;
import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.functions.Consumer;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class DownloadHistoryActivity extends BaseActivity {
private List<HistoryFile> dataList = new ArrayList();
@BindView(R.id.recyclerView)
RecyclerView mRecyclerView;
@BindView(R.id.title_sub)
TextView mTitle;
@Override
protected int getActivityRId() {
return R.layout.activity_download_history;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
initView();
}
private void initView() {
this.mTitle.setText(getString(R.string.download_history));
this.mRecyclerView.setLayoutManager(new LinearLayoutManager(this, 1, false));
this.mRecyclerView.addItemDecoration(new DividerItemDecoration(this, 1));
this.mRecyclerView.setAdapter(new SimpleRecycleViewAdapter(this.dataList, new BaseRecycleViewHolderFactory<HistoryFile>() {
@Override
public int layoutId(int viewType) {
return R.layout.layout_item_download_file;
}
@Override
public BaseRecycleViewHolder<HistoryFile> createViewHolder(View itemView, int viewType) {
return DownloadHistoryActivity.this.new FileNameViewHolder(itemView);
}
}));
RxPermissions rxPermissions = new RxPermissions(this);
if (rxPermissions.isGranted("android.permission.WRITE_EXTERNAL_STORAGE") && rxPermissions.isGranted("android.permission.READ_EXTERNAL_STORAGE")) {
scanHistoryFiles();
} else {
rxPermissions.request(new String[]{"android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE"}).subscribe(new Consumer() {
public final void accept(Object obj) {
DownloadHistoryActivity.this.lambda$initView$0$DownloadHistoryActivity((Boolean) obj);
}
}, new Consumer() {
public final void accept(Object obj) {
System.out.println(" throwable.getMessage() = " + ((Throwable) obj).getMessage());
}
});
}
}
public void lambda$initView$0$DownloadHistoryActivity(Boolean bool) throws Exception {
if (!bool.booleanValue()) {
ToastUtil.show(getString(R.string.Please_check_your_save_permissions), getApplicationContext());
} else {
scanHistoryFiles();
}
}
private void scanHistoryFiles() {
System.out.println("获取到的android 版本号 " + Build.VERSION.SDK_INT);
if (Build.VERSION.SDK_INT >= 24) {
String str = getFilesDir().getAbsolutePath() + "/history";
File[] listFiles = new File(str).listFiles(new FileFilter() {
@Override
public final boolean accept(File file) {
boolean endsWith;
endsWith = file.getName().endsWith(".xls");
return endsWith;
}
});
if (listFiles != null) {
for (int i = 0; i < listFiles.length; i++) {
this.dataList.add(new HistoryFile(str, listFiles[i].getName(), listFiles[i].getAbsolutePath()));
}
}
} else {
File[] listFiles2 = new File(getApplicationContext().getFilesDir().getAbsolutePath() + "/history").listFiles();
if (listFiles2 != null) {
for (int i2 = 0; i2 < listFiles2.length; i2++) {
System.out.println("删除getFilesDir文件 " + listFiles2[i2].getName());
FileUtils.deleteFile(listFiles2[i2]);
}
}
}
String str2 = getExternalFilesDir(null).getAbsolutePath() + "/history";
File[] listFiles3 = new File(str2).listFiles(new FileFilter() {
@Override
public final boolean accept(File file) {
boolean endsWith;
endsWith = file.getName().endsWith(".xls");
return endsWith;
}
});
if (listFiles3 != null) {
for (int i3 = 0; i3 < listFiles3.length; i3++) {
HistoryFile historyFile = new HistoryFile(str2, listFiles3[i3].getName(), listFiles3[i3].getAbsolutePath());
boolean z = false;
for (int i4 = 0; i4 < this.dataList.size(); i4++) {
if (this.dataList.get(i4).getFileName().equals(listFiles3[i3].getName())) {
System.out.println("getExternalFilesDir存在相同名称文件 ,删除getFilesDir下文件" + this.dataList.get(i4).getFilePath());
FileUtils.deleteFile(this.dataList.get(i4).getFilePath());
this.dataList.set(i4, historyFile);
z = true;
}
}
if (!z) {
this.dataList.add(historyFile);
}
}
Collections.sort(this.dataList, new Comparator() {
@Override
public final int compare(Object obj, Object obj2) {
int compareTo;
compareTo = ((HistoryFile) obj).getFileName().compareTo(((HistoryFile) obj2).getFileName());
return compareTo;
}
});
}
this.mRecyclerView.getAdapter().notifyDataSetChanged();
}
class FileNameViewHolder extends BaseRecycleViewHolder<HistoryFile> {
View itemView;
TextView tvFileName;
public void bindView2(HistoryFile data, int position, List<Object> payloads) {
}
@Override
public void bindView(HistoryFile data, int position, List payloads) {
bindView2(data, position, (List<Object>) payloads);
}
public FileNameViewHolder(View itemView) {
super(itemView);
this.itemView = itemView;
this.tvFileName = (TextView) itemView.findViewById(R.id.tv_file_name);
}
@Override
public void bindView(final HistoryFile data, int position) {
System.out.println("position = " + position);
this.tvFileName.setText(data.getFileName());
this.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
DownloadHistoryActivity.FileNameViewHolder.this.lambda$bindView$0$DownloadHistoryActivity$FileNameViewHolder(data, view);
}
});
}
public void lambda$bindView$0$DownloadHistoryActivity$FileNameViewHolder(HistoryFile historyFile, View view) {
DownloadHistoryActivity.this.share(historyFile.getFileParentPath(), historyFile.getFileName());
}
}
public void share(String parent, String fileName) {
Uri fromFile;
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(parent, fileName));
} else {
fromFile = Uri.fromFile(new File(parent, fileName));
}
intent.putExtra("android.intent.extra.STREAM", fromFile);
startActivity(intent);
}
}