更新版本
This commit is contained in:
@@ -41,6 +41,7 @@ public class ConstantUtil {
|
||||
public static final int ACCESS_FINE_LOCATION = 1;
|
||||
//授权读取文件
|
||||
public static final int WRITE_FILE_PERMISSON_CPDE = 1001;
|
||||
public static final int POST_NOTIFICATIONS_PERMISSION_CODE = 1002;
|
||||
//读取文件
|
||||
public static final int READ_EXTERNAL_STORAGE = 2;
|
||||
//相机权限
|
||||
|
||||
@@ -165,6 +165,15 @@ public class DialogAppUpdate {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!mIsForceUpdate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.POST_NOTIFICATIONS)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
if(mListener != null){
|
||||
mListener.callBackGetPermisson(Manifest.permission.POST_NOTIFICATIONS);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
startUpdateApp();
|
||||
break;
|
||||
case R.id.tv_cancel:
|
||||
@@ -190,7 +199,6 @@ public class DialogAppUpdate {
|
||||
File apkFile = new File(downloadDir, fileName);
|
||||
String apkPath = apkFile.getAbsolutePath();
|
||||
DownLoadApk downloadTask = new DownLoadApk(mContext,mIsForceUpdate);
|
||||
downloadTask.startDownload(mDwonLoadUrl, fileName,apkPath);
|
||||
downloadTask.setDownLoadCallback(new DownLoadApk.DownLoadCallback() {
|
||||
@Override
|
||||
public void updateProgress(long currentProgress, long total) {
|
||||
@@ -211,6 +219,7 @@ public class DialogAppUpdate {
|
||||
}
|
||||
}
|
||||
});
|
||||
downloadTask.startDownload(mDwonLoadUrl, fileName,apkPath);
|
||||
}
|
||||
|
||||
public void show() {
|
||||
@@ -226,4 +235,4 @@ public class DialogAppUpdate {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,11 @@ import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author fengxiaoyang
|
||||
@@ -47,10 +51,79 @@ public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBind
|
||||
viewBinding.tvThisMonthValue.setText(entity.getMonCount()+"");
|
||||
viewBinding.tvPlanValue.setText(entity.getSchedule()+"");
|
||||
viewBinding.tvManuallyValue.setText(entity.getManualNum()+"");
|
||||
viewBinding.tvTotalDurationValue.setText(entity.getAllTime()+"");
|
||||
setTotalDuration(entity.getAllTime());
|
||||
setAverageDuration(entity.getAverageTime());
|
||||
setWeekAndMonthDate();
|
||||
// viewBinding.tvTotalValue.setText(entity.getCount()+"");
|
||||
}
|
||||
|
||||
private void setTotalDuration(int totalMinutes) {
|
||||
if (totalMinutes < 60) {
|
||||
viewBinding.tvTotalDurationValue.setText(totalMinutes + "");
|
||||
viewBinding.tvTotalDurationHourUnit.setText("min");
|
||||
viewBinding.tvTotalDurationMinValue.setVisibility(android.view.View.GONE);
|
||||
viewBinding.tvTotalDurationMinUnit.setVisibility(android.view.View.GONE);
|
||||
} else {
|
||||
int hours = totalMinutes / 60;
|
||||
int minutes = totalMinutes % 60;
|
||||
viewBinding.tvTotalDurationHourUnit.setText("h");
|
||||
viewBinding.tvTotalDurationValue.setText(hours + "");
|
||||
if (minutes == 0) {
|
||||
viewBinding.tvTotalDurationMinValue.setVisibility(android.view.View.GONE);
|
||||
viewBinding.tvTotalDurationMinUnit.setVisibility(android.view.View.GONE);
|
||||
} else {
|
||||
viewBinding.tvTotalDurationMinValue.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvTotalDurationMinUnit.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvTotalDurationMinValue.setText(minutes + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setAverageDuration(int avgMinutes) {
|
||||
if (avgMinutes < 60) {
|
||||
viewBinding.tvAverageHourValue.setText(avgMinutes + "");
|
||||
viewBinding.tvAverageHourUnit.setText("min");
|
||||
viewBinding.tvAverageMinValue.setVisibility(android.view.View.GONE);
|
||||
viewBinding.tvAverageMinUnit.setVisibility(android.view.View.GONE);
|
||||
} else {
|
||||
int hours = avgMinutes / 60;
|
||||
int minutes = avgMinutes % 60;
|
||||
viewBinding.tvAverageHourUnit.setText("h");
|
||||
viewBinding.tvAverageHourValue.setText(hours + "");
|
||||
if (minutes == 0) {
|
||||
viewBinding.tvAverageMinValue.setVisibility(android.view.View.GONE);
|
||||
viewBinding.tvAverageMinUnit.setVisibility(android.view.View.GONE);
|
||||
} else {
|
||||
viewBinding.tvAverageMinValue.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvAverageMinUnit.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvAverageMinValue.setText(minutes + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setWeekAndMonthDate() {
|
||||
SimpleDateFormat monthFormat = new SimpleDateFormat("M月", Locale.CHINA);
|
||||
SimpleDateFormat dayFormat = new SimpleDateFormat("M.d", Locale.CHINA);
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
|
||||
// 设置当月日期显示
|
||||
viewBinding.tvThisMonthDate.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvThisMonthDate.setText(monthFormat.format(calendar.getTime()));
|
||||
|
||||
// 计算本周的开始日期(周一)和结束日期(周日)
|
||||
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
|
||||
int mondayOffset = (dayOfWeek == Calendar.SUNDAY) ? -6 : Calendar.MONDAY - dayOfWeek;
|
||||
calendar.add(Calendar.DAY_OF_MONTH, mondayOffset);
|
||||
Date weekStart = calendar.getTime();
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 6);
|
||||
Date weekEnd = calendar.getTime();
|
||||
|
||||
// 设置本周日期显示
|
||||
viewBinding.tvWeekDate.setVisibility(android.view.View.VISIBLE);
|
||||
viewBinding.tvWeekDate.setText(dayFormat.format(weekStart) + " - " + dayFormat.format(weekEnd));
|
||||
}
|
||||
|
||||
@Override
|
||||
public HistoryPresenter createPresenter() {
|
||||
return new HistoryPresenter(new HistoryImpl());
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package com.ckkj.water.main.activity;
|
||||
|
||||
import static com.ckkj.water.ConstantUtil.POST_NOTIFICATIONS_PERMISSION_CODE;
|
||||
import static com.ckkj.water.ConstantUtil.WRITE_FILE_PERMISSON_CPDE;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
@@ -308,9 +312,25 @@ public class MainActivity extends BaseActivity<MainActivityLayoutBinding, MainPr
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull @NotNull String[] permissions, @NonNull @NotNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
||||
hidePermissionDialog();
|
||||
if(requestCode == WRITE_FILE_PERMISSON_CPDE){
|
||||
if(mUpdateDialog != null && grantResults.length > 0 && grantResults[0] == android.content.pm.PackageManager.PERMISSION_GRANTED){
|
||||
mUpdateDialog.startUpdateApp();
|
||||
}
|
||||
}else if(requestCode == POST_NOTIFICATIONS_PERMISSION_CODE){
|
||||
if(mUpdateDialog != null && grantResults.length > 0 && grantResults[0] == android.content.pm.PackageManager.PERMISSION_GRANTED){
|
||||
mUpdateDialog.startUpdateApp();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, @NonNull @NotNull List<String> perms) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -371,9 +391,14 @@ public class MainActivity extends BaseActivity<MainActivityLayoutBinding, MainPr
|
||||
@Override
|
||||
public void callBackGetPermisson(String permission) {
|
||||
if (!hasRecordPermission(permission)) {
|
||||
if (Manifest.permission.POST_NOTIFICATIONS.equals(permission)) {
|
||||
getPermissionRequst(permission,"通知权限申请",
|
||||
"星语明灯需要通知权限来显示应用下载进度",POST_NOTIFICATIONS_PERMISSION_CODE);
|
||||
return;
|
||||
}
|
||||
// 没有权限,只在ACTION_DOWN时去申请
|
||||
getPermissionRequst(permission,"文件存储权限申请",
|
||||
"星语明灯需要您的授权,获取存储权限来更新您的应用",PICK_IMAGE_REQUEST_300);
|
||||
"星语明灯需要您的授权,获取存储权限来更新您的应用",WRITE_FILE_PERMISSON_CPDE);
|
||||
}else{
|
||||
|
||||
|
||||
@@ -413,14 +438,6 @@ public class MainActivity extends BaseActivity<MainActivityLayoutBinding, MainPr
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, @NonNull @NotNull List<String> perms) {
|
||||
if (requestCode == ConstantUtil.WRITE_FILE_PERMISSON_CPDE) {
|
||||
if(mUpdateDialog != null){
|
||||
mUpdateDialog.startUpdateApp();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsDenied(int requestCode, @NonNull @NotNull List<String> perms) {
|
||||
|
||||
Reference in New Issue
Block a user