pull/16/head
贪睡的水瓶 3 years ago
parent 78c813d257
commit 8cf0eb6a07

@ -1,25 +1,18 @@
package com.tanshui.timeuse; package com.tanshui.timeuse;
import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList; import android.widget.Toast;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
public class CheckboxAdapter extends BaseAdapter { public class CheckboxAdapter extends BaseAdapter {
private List<HashMap<String, Object>> list; private List<HashMap<String, Object>> list;

@ -2,15 +2,55 @@ package com.tanshui.timeuse;
public class PieInfo { public class PieInfo {
public float startAngle; // 开始绘制的角度 private float startAngle; // 开始绘制的角度
public float sweepAngle; // 扫过的角度 private float sweepAngle; // 扫过的角度
public int color; // 显示的颜色 private int color; // 显示的颜色
public float percent; // 所占百分比 private float percent; // 所占百分比
public boolean selected; // true为选中 public float getStartAngle() {
return startAngle;
}
public void setStartAngle(float startAngle) {
this.startAngle = startAngle;
}
public float getSweepAngle() {
return sweepAngle;
}
public void setSweepAngle(float sweepAngle) {
this.sweepAngle = sweepAngle;
}
public int getColor() {
return color;
}
public void setColor(int color) {
this.color = color;
}
public float getPercent() {
return percent;
}
public void setPercent(float percent) {
this.percent = percent;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
private boolean selected; // true为选中
public PieInfo(int color, float percent) { public PieInfo(int color, float percent) {
this.color = color; this.color = color;

@ -1,6 +1,5 @@
package com.tanshui.timeuse; package com.tanshui.timeuse;
import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.TextView; import android.widget.TextView;
@ -9,5 +8,4 @@ public class ViewHolder {
public TextView startTime=null; public TextView startTime=null;
public TextView endTime=null; public TextView endTime=null;
public CheckBox isFinished=null; public CheckBox isFinished=null;
public Button deleteTask=null;
} }

@ -12,13 +12,11 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
@ -30,19 +28,17 @@ import java.util.Map;
public class appTime extends AppCompatActivity { public class appTime extends AppCompatActivity {
private ArrayList<AppInfo> mApplicationInfos;
private timeUseDBHelper dbHelper;
private List<AppInfo> appInfoList;
private SimpleAdapter simpleAdapter;
private ProgressDialog progressDialog; private ProgressDialog progressDialog;
private ArrayList<HashMap<String, Object>> listItem;
private String date; private String date;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_time); setContentView(R.layout.activity_app_time);
ArrayList<AppInfo> mApplicationInfos;
timeUseDBHelper dbHelper;
List<AppInfo> appInfoList;
SimpleAdapter simpleAdapter;
dbHelper = timeUseDBHelper.getInstance(this); dbHelper = timeUseDBHelper.getInstance(this);
dbHelper.openWriteLink(); dbHelper.openWriteLink();
dbHelper.openReadLink(); dbHelper.openReadLink();
@ -76,7 +72,6 @@ public class appTime extends AppCompatActivity {
}); });
mApplicationInfos=getAllAppInfo(this); mApplicationInfos=getAllAppInfo(this);
listItem = new ArrayList<>();
// 从早上8点开始监听 // 从早上8点开始监听
Calendar setBeginCal=Calendar.getInstance(); Calendar setBeginCal=Calendar.getInstance();
@ -187,9 +182,7 @@ public class appTime extends AppCompatActivity {
lv_app.setAdapter(simpleAdapter); lv_app.setAdapter(simpleAdapter);
// 显示app图标 // 显示app图标
simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() { simpleAdapter.setViewBinder((view, o, s) -> {
@Override
public boolean setViewValue(View view, Object o, String s) {
if(view instanceof ImageView && o instanceof Drawable){ if(view instanceof ImageView && o instanceof Drawable){
ImageView iv=(ImageView)view; ImageView iv=(ImageView)view;
@ -197,7 +190,6 @@ public class appTime extends AppCompatActivity {
return true; return true;
} }
else return false; else return false;
}
}); });
hideProgressDialog(); hideProgressDialog();
} }

@ -2,7 +2,6 @@ package com.tanshui.timeuse;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.app.AppOpsManager;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.app.usage.UsageStats; import android.app.usage.UsageStats;
import android.app.usage.UsageStatsManager; import android.app.usage.UsageStatsManager;
@ -13,14 +12,14 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
@ -31,19 +30,18 @@ import java.util.Map;
public class appTimeUse extends AppCompatActivity { public class appTimeUse extends AppCompatActivity {
private ArrayList<AppInfo> mApplicationInfos;
private timeUseDBHelper dbHelper;
private List<AppInfo> appInfoList;
private SimpleAdapter simpleAdapter;
private ProgressDialog progressDialog; private ProgressDialog progressDialog;
private ArrayList<HashMap<String, Object>> listItem;
private String date; private String date;
private ArrayList<AppInfo> mApplicationInfos;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_time_use); setContentView(R.layout.activity_app_time_use);
ArrayList<HashMap<String, Object>> listItem;
timeUseDBHelper dbHelper;
SimpleAdapter simpleAdapter;
dbHelper = timeUseDBHelper.getInstance(this); dbHelper = timeUseDBHelper.getInstance(this);
dbHelper.openWriteLink(); dbHelper.openWriteLink();
dbHelper.openReadLink(); dbHelper.openReadLink();

@ -5,7 +5,7 @@ import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.tanshui.timeuse.AppInfo; import com.tanshui.timeuse.AppInfo;
import com.tanshui.timeuse.taskInfo; import com.tanshui.timeuse.taskInfo;
@ -19,7 +19,6 @@ public class timeUseDBHelper extends SQLiteOpenHelper {
private static final String TABLE_UserList="UserList"; private static final String TABLE_UserList="UserList";
private static final String TABLE_appList="appList"; private static final String TABLE_appList="appList";
private static final String TABLE_appListYesterday="appListYesterday"; private static final String TABLE_appListYesterday="appListYesterday";
private static final String TABLE_reportList="reportList";
private static final String TABLE_classifyList="classifyList"; private static final String TABLE_classifyList="classifyList";
private static final String TABLE_lastWeekList="lastWeekList"; private static final String TABLE_lastWeekList="lastWeekList";
private static final int DB_VERSION=1; private static final int DB_VERSION=1;

@ -2,13 +2,13 @@ package com.tanshui.timeuse.fragment;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -18,26 +18,27 @@ import com.tanshui.timeuse.PieInfo;
import com.tanshui.timeuse.R; import com.tanshui.timeuse.R;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
import com.tanshui.timeuse.taskInfo; import com.tanshui.timeuse.taskInfo;
import com.tanshui.timeuse.util.ColorRandom;
import com.tanshui.timeuse.util.PieChart; import com.tanshui.timeuse.util.PieChart;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
public class today extends Fragment{ public class today extends Fragment{
private List<PieInfo> pieInfoList=new ArrayList<>();
private List<AppInfo> appInfoList=new ArrayList<>();
private List<taskInfo> taskInfoList=new ArrayList<>();
private timeUseDBHelper dbHepler;
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_today, container, false); View view = inflater.inflate(R.layout.fragment_today, container, false);
List<PieInfo> pieInfoList=new ArrayList<>();
List<AppInfo> appInfoList;
List<taskInfo> taskInfoList;
timeUseDBHelper dbHepler;
TextView btn1=view.findViewById(R.id.pie_btn1); TextView btn1=view.findViewById(R.id.pie_btn1);
TextView btn2=view.findViewById(R.id.pie_btn2); TextView btn2=view.findViewById(R.id.pie_btn2);
TextView btn3=view.findViewById(R.id.pie_btn3); TextView btn3=view.findViewById(R.id.pie_btn3);
@ -167,11 +168,11 @@ public class today extends Fragment{
pie_chart1.startAnima(); pie_chart1.startAnima();
long finalTotalTime = totalTime; long finalTotalTime = totalTime;
btn1.setOnClickListener(v -> { btn1.setOnClickListener(v -> {
if (pieInfoList.get(0).selected) { if (pieInfoList.get(0).isSelected()) {
pieInfoList.get(0).selected = false; pieInfoList.get(0).setSelected(false);
btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong())); btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong()));
} else { } else {
pieInfoList.get(0).selected = true; pieInfoList.get(0).setSelected(true);
btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime)); btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -179,11 +180,11 @@ public class today extends Fragment{
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn2.setOnClickListener(v -> { btn2.setOnClickListener(v -> {
if (pieInfoList.get(1).selected) { if (pieInfoList.get(1).isSelected()) {
pieInfoList.get(1).selected = false; pieInfoList.get(1).setSelected(false);
btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong())); btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong()));
} else { } else {
pieInfoList.get(1).selected = true; pieInfoList.get(1).setSelected(true);
btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime)); btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -191,11 +192,11 @@ public class today extends Fragment{
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn3.setOnClickListener(v -> { btn3.setOnClickListener(v -> {
if (pieInfoList.get(2).selected) { if (pieInfoList.get(2).isSelected()) {
pieInfoList.get(2).selected = false; pieInfoList.get(2).setSelected(false);
btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong())); btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong()));
} else { } else {
pieInfoList.get(2).selected = true; pieInfoList.get(2).setSelected(true);
btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -203,11 +204,11 @@ public class today extends Fragment{
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn4.setOnClickListener(v -> { btn4.setOnClickListener(v -> {
if (pieInfoList.get(3).selected) { if (pieInfoList.get(3).isSelected()) {
pieInfoList.get(3).selected = false; pieInfoList.get(3).setSelected(false);
btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong())); btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong()));
} else { } else {
pieInfoList.get(3).selected = true; pieInfoList.get(3).setSelected(true);
btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -215,11 +216,11 @@ public class today extends Fragment{
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn5.setOnClickListener(v -> { btn5.setOnClickListener(v -> {
if (pieInfoList.get(4).selected) { if (pieInfoList.get(4).isSelected()) {
pieInfoList.get(4).selected = false; pieInfoList.get(4).setSelected(false);
btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong())); btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong()));
} else { } else {
pieInfoList.get(4).selected = true; pieInfoList.get(4).setSelected(true);
btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime)); btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -227,12 +228,12 @@ public class today extends Fragment{
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn6.setOnClickListener(v -> { btn6.setOnClickListener(v -> {
if (pieInfoList.get(5).selected) { if (pieInfoList.get(5).isSelected()) {
pieInfoList.get(5).selected = false; pieInfoList.get(5).setSelected(false);
btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()-
topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong()))); topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())));
} else { } else {
pieInfoList.get(5).selected = true; pieInfoList.get(5).setSelected(true);
btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()-
topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime)); topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime));
} }

@ -24,7 +24,7 @@ import com.tanshui.timeuse.PieInfo;
import com.tanshui.timeuse.R; import com.tanshui.timeuse.R;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
import com.tanshui.timeuse.taskInfo; import com.tanshui.timeuse.taskInfo;
import com.tanshui.timeuse.util.ColorRandom;
import com.tanshui.timeuse.util.PieChart; import com.tanshui.timeuse.util.PieChart;
import com.tanshui.timeuse.util.dateList; import com.tanshui.timeuse.util.dateList;
@ -42,15 +42,9 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
public class week extends Fragment{ public class week extends Fragment{
private List<PieInfo> pieInfoList=new ArrayList<>();
private List<PieInfo> pieInfoList1=new ArrayList<>();
private List<AppInfo> appInfoList=new ArrayList<>();
private List<taskInfo> taskInfoList=new ArrayList<>();
private List<taskInfo> taskInfoListWeek=new ArrayList<>();
private timeUseDBHelper dbHepler; private timeUseDBHelper dbHepler;
// 折线图
private LineChart line;
private LineChart line1;
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@ -73,17 +67,25 @@ public class week extends Fragment{
PieChart pie_chart1=view.findViewById(R.id.week_pie_chart1); PieChart pie_chart1=view.findViewById(R.id.week_pie_chart1);
PieChart pie_chart2=view.findViewById(R.id.week_pie_chart2); PieChart pie_chart2=view.findViewById(R.id.week_pie_chart2);
List<PieInfo> pieInfoList=new ArrayList<>();
List<PieInfo> pieInfoList1=new ArrayList<>();
List<AppInfo> appInfoList;
List<taskInfo> taskInfoList;
List<taskInfo> taskInfoListWeek=new ArrayList<>();
dbHepler = timeUseDBHelper.getInstance(view.getContext()); dbHepler = timeUseDBHelper.getInstance(view.getContext());
dbHepler.openReadLink(); dbHepler.openReadLink();
appInfoList=dbHepler.queryAllLastWeekInfo(); appInfoList=dbHepler.queryAllLastWeekInfo();
taskInfoList=dbHepler.queryAllTaskInfo(); taskInfoList=dbHepler.queryAllTaskInfo();
// 折线图
LineChart line;
LineChart line1;
// 获取今天和昨天日期 // 获取今天和昨天日期
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(System.currentTimeMillis()-1000*60*60*24); Date date = new Date(System.currentTimeMillis()-1000*60*60*24);
String yes=formatter.format(date); String yes=formatter.format(date);
date = new Date(System.currentTimeMillis()); // date = new Date(System.currentTimeMillis());
String today=formatter.format(date); // String today=formatter.format(date);
int todayNum=0; int todayNum=0;
@ -347,60 +349,60 @@ public class week extends Fragment{
line1.setData(lineData1); line1.setData(lineData1);
btn1.setOnClickListener(v -> { btn1.setOnClickListener(v -> {
if (pieInfoList.get(0).selected) { if (pieInfoList.get(0).isSelected()) {
pieInfoList.get(0).selected = false; pieInfoList.get(0).setSelected(false);
} else { } else {
pieInfoList.get(0).selected = true; pieInfoList.get(0).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn2.setOnClickListener(v -> { btn2.setOnClickListener(v -> {
if (pieInfoList.get(1).selected) { if (pieInfoList.get(1).isSelected()) {
pieInfoList.get(1).selected = false; pieInfoList.get(1).setSelected(false);
} else { } else {
pieInfoList.get(1).selected = true; pieInfoList.get(1).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn3.setOnClickListener(v -> { btn3.setOnClickListener(v -> {
if (pieInfoList.get(2).selected) { if (pieInfoList.get(2).isSelected()) {
pieInfoList.get(2).selected = false; pieInfoList.get(2).setSelected(false);
} else { } else {
pieInfoList.get(2).selected = true; pieInfoList.get(2).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn4.setOnClickListener(v -> { btn4.setOnClickListener(v -> {
if (pieInfoList.get(3).selected) { if (pieInfoList.get(3).isSelected()) {
pieInfoList.get(3).selected = false; pieInfoList.get(3).setSelected(false);
} else { } else {
pieInfoList.get(3).selected = true; pieInfoList.get(3).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn5.setOnClickListener(v -> { btn5.setOnClickListener(v -> {
if (pieInfoList.get(4).selected) { if (pieInfoList.get(4).isSelected()) {
pieInfoList.get(4).selected = false; pieInfoList.get(4).setSelected(false);
} else { } else {
pieInfoList.get(4).selected = true; pieInfoList.get(4).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn6.setOnClickListener(v -> { btn6.setOnClickListener(v -> {
if (pieInfoList.get(5).selected) { if (pieInfoList.get(5).isSelected()) {
pieInfoList.get(5).selected = false; pieInfoList.get(5).setSelected(false);
} else { } else {
pieInfoList.get(5).selected = true; pieInfoList.get(5).setSelected(true);
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
// 不执行动画 // 不执行动画
@ -425,30 +427,30 @@ public class week extends Fragment{
btn_study.setTextColor(Color.parseColor("#EE3B3B")); btn_study.setTextColor(Color.parseColor("#EE3B3B"));
btn_life.setTextColor(Color.parseColor("#0033FF")); btn_life.setTextColor(Color.parseColor("#0033FF"));
btn_fun.setOnClickListener(v -> { btn_fun.setOnClickListener(v -> {
if (pieInfoList1.get(0).selected) { if (pieInfoList1.get(0).isSelected()) {
pieInfoList1.get(0).selected = false; pieInfoList1.get(0).setSelected(false);
} else { } else {
pieInfoList1.get(0).selected = true; pieInfoList1.get(0).setSelected(true);
} }
pie_chart2.setData(pieInfoList1); pie_chart2.setData(pieInfoList1);
// 不执行动画 // 不执行动画
pie_chart2.invalidate(); pie_chart2.invalidate();
}); });
btn_study.setOnClickListener(v -> { btn_study.setOnClickListener(v -> {
if (pieInfoList1.get(1).selected) { if (pieInfoList1.get(1).isSelected()) {
pieInfoList1.get(1).selected = false; pieInfoList1.get(1).setSelected(false);
} else { } else {
pieInfoList1.get(1).selected = true; pieInfoList1.get(1).setSelected(true);
} }
pie_chart2.setData(pieInfoList1); pie_chart2.setData(pieInfoList1);
// 不执行动画 // 不执行动画
pie_chart2.invalidate(); pie_chart2.invalidate();
}); });
btn_life.setOnClickListener(v -> { btn_life.setOnClickListener(v -> {
if (pieInfoList1.get(2).selected) { if (pieInfoList1.get(2).isSelected()) {
pieInfoList1.get(2).selected = false; pieInfoList1.get(2).setSelected(false);
} else { } else {
pieInfoList1.get(2).selected = true; pieInfoList1.get(2).setSelected(true);
} }
pie_chart2.setData(pieInfoList1); pie_chart2.setData(pieInfoList1);
// 不执行动画 // 不执行动画

@ -24,15 +24,16 @@ import java.util.Date;
import java.util.List; import java.util.List;
public class yesterday extends Fragment { public class yesterday extends Fragment {
private List<PieInfo> pieInfoList=new ArrayList<>();
private List<AppInfo> appInfoList=new ArrayList<>();
private List<taskInfo> taskInfoList=new ArrayList<>();
private timeUseDBHelper dbHelper; private timeUseDBHelper dbHelper;
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_yesterday, container, false); View view = inflater.inflate(R.layout.fragment_yesterday, container, false);
List<PieInfo> pieInfoList=new ArrayList<>();
List<AppInfo> appInfoList;
List<taskInfo> taskInfoList;
dbHelper = timeUseDBHelper.getInstance(view.getContext()); dbHelper = timeUseDBHelper.getInstance(view.getContext());
dbHelper.openReadLink(); dbHelper.openReadLink();
appInfoList=dbHelper.queryAllAppYesterdayInfo(); appInfoList=dbHelper.queryAllAppYesterdayInfo();
@ -133,11 +134,11 @@ public class yesterday extends Fragment {
pie_chart1.startAnima(); pie_chart1.startAnima();
long finalTotalTime = totalTime; long finalTotalTime = totalTime;
btn1.setOnClickListener(v -> { btn1.setOnClickListener(v -> {
if (pieInfoList.get(0).selected) { if (pieInfoList.get(0).isSelected()) {
pieInfoList.get(0).selected = false; pieInfoList.get(0).setSelected(false);
btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong())); btn1.setText(topFive.get(0).getLabel()+" "+getTimeFromInt(topFive.get(0).getTimeLong()));
} else { } else {
pieInfoList.get(0).selected = true; pieInfoList.get(0).setSelected(true);
btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime)); btn1.setText(topFive.get(0).getLabel()+" "+percentInstance.format((float)topFive.get(0).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -145,11 +146,11 @@ public class yesterday extends Fragment {
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn2.setOnClickListener(v -> { btn2.setOnClickListener(v -> {
if (pieInfoList.get(1).selected) { if (pieInfoList.get(1).isSelected()) {
pieInfoList.get(1).selected = false; pieInfoList.get(1).setSelected(false);
btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong())); btn2.setText(topFive.get(1).getLabel()+" "+getTimeFromInt(topFive.get(1).getTimeLong()));
} else { } else {
pieInfoList.get(1).selected = true; pieInfoList.get(1).setSelected(true);
btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime)); btn2.setText(topFive.get(1).getLabel()+" "+percentInstance.format((float)topFive.get(1).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -157,11 +158,11 @@ public class yesterday extends Fragment {
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn3.setOnClickListener(v -> { btn3.setOnClickListener(v -> {
if (pieInfoList.get(2).selected) { if (pieInfoList.get(2).isSelected()) {
pieInfoList.get(2).selected = false; pieInfoList.get(2).setSelected(false);
btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong())); btn3.setText(topFive.get(2).getLabel()+" "+getTimeFromInt(topFive.get(2).getTimeLong()));
} else { } else {
pieInfoList.get(2).selected = true; pieInfoList.get(2).setSelected(true);
btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(2).getTimeLong()/ finalTotalTime)); btn3.setText(topFive.get(2).getLabel()+" "+percentInstance.format((float)topFive.get(2).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -169,11 +170,11 @@ public class yesterday extends Fragment {
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn4.setOnClickListener(v -> { btn4.setOnClickListener(v -> {
if (pieInfoList.get(3).selected) { if (pieInfoList.get(3).isSelected()) {
pieInfoList.get(3).selected = false; pieInfoList.get(3).setSelected(false);
btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong())); btn4.setText(topFive.get(3).getLabel()+" "+getTimeFromInt(topFive.get(3).getTimeLong()));
} else { } else {
pieInfoList.get(3).selected = true; pieInfoList.get(3).setSelected(true);
btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime)); btn4.setText(topFive.get(3).getLabel()+" "+percentInstance.format((float)topFive.get(3).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -181,11 +182,11 @@ public class yesterday extends Fragment {
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn5.setOnClickListener(v -> { btn5.setOnClickListener(v -> {
if (pieInfoList.get(4).selected) { if (pieInfoList.get(4).isSelected()) {
pieInfoList.get(4).selected = false; pieInfoList.get(4).setSelected(false);
btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong())); btn5.setText(topFive.get(4).getLabel()+" "+getTimeFromInt(topFive.get(4).getTimeLong()));
} else { } else {
pieInfoList.get(4).selected = true; pieInfoList.get(4).setSelected(true);
btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime)); btn5.setText(topFive.get(4).getLabel()+" "+percentInstance.format((float)topFive.get(4).getTimeLong()/ finalTotalTime));
} }
pie_chart1.setData(pieInfoList); pie_chart1.setData(pieInfoList);
@ -193,12 +194,12 @@ public class yesterday extends Fragment {
pie_chart1.invalidate(); pie_chart1.invalidate();
}); });
btn6.setOnClickListener(v -> { btn6.setOnClickListener(v -> {
if (pieInfoList.get(5).selected) { if (pieInfoList.get(5).isSelected()) {
pieInfoList.get(5).selected = false; pieInfoList.get(5).setSelected(true);
btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- btn6.setText("其他 "+getTimeFromInt((finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()-
topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong()))); topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())));
} else { } else {
pieInfoList.get(5).selected = true; pieInfoList.get(5).setSelected(true);
btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()- btn6.setText("其他 "+percentInstance.format((float)(finalTotalTime-topFive.get(0).getTimeLong()-topFive.get(1).getTimeLong()-topFive.get(2).getTimeLong()-
topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime)); topFive.get(3).getTimeLong()-topFive.get(4).getTimeLong())/finalTotalTime));
} }

@ -15,20 +15,15 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
import com.tanshui.timeuse.fragment.today; import com.tanshui.timeuse.fragment.today;
import com.tanshui.timeuse.fragment.week; import com.tanshui.timeuse.fragment.week;
import com.tanshui.timeuse.fragment.yesterday; import com.tanshui.timeuse.fragment.yesterday;
import com.tanshui.timeuse.util.ColorRandom;
import com.tanshui.timeuse.util.PieChart;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -39,12 +34,9 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public class report extends AppCompatActivity { public class report extends AppCompatActivity {
private Button jump_appUse;
private Button jump_list;
private Button jump_report;
private View jump_appClassify;
private timeUseDBHelper dbHelper; private timeUseDBHelper dbHelper;
private List<AppInfo> appInfoList;
//声明Tab的布局文件 //声明Tab的布局文件
private LinearLayout mTabYesterday; private LinearLayout mTabYesterday;
@ -69,6 +61,10 @@ public class report extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_report); setContentView(R.layout.activity_report);
Button jump_appUse;
Button jump_list;
View jump_appClassify;
List<AppInfo> appInfoList;
dbHelper=timeUseDBHelper.getInstance(this); dbHelper=timeUseDBHelper.getInstance(this);
dbHelper.openReadLink(); dbHelper.openReadLink();
Intent intent=getIntent(); Intent intent=getIntent();
@ -95,10 +91,8 @@ public class report extends AppCompatActivity {
// date =String.format("%s-%s-%s", nowYear, nowMonth, nowDay); // date =String.format("%s-%s-%s", nowYear, nowMonth, nowDay);
TextView taskNumber=findViewById(R.id.taskNumber);
jump_appUse = findViewById(R.id.jump_appUse2); jump_appUse = findViewById(R.id.jump_appUse2);
jump_list=findViewById(R.id.jump_list2); jump_list=findViewById(R.id.jump_list2);
jump_report=findViewById(R.id.jump_report2);
jump_appClassify =findViewById(R.id.jump_appClassify2); jump_appClassify =findViewById(R.id.jump_appClassify2);
// XmlPullParser parser = report.this.getResources().getXml(R.layout.taskitem); // XmlPullParser parser = report.this.getResources().getXml(R.layout.taskitem);
// AttributeSet attributes = Xml.asAttributeSet(parser); // AttributeSet attributes = Xml.asAttributeSet(parser);

@ -24,7 +24,6 @@ import java.util.List;
public class software_classification extends AppCompatActivity { public class software_classification extends AppCompatActivity {
private final String[] appClassifyArray={"娱乐","学习","生活"}; private final String[] appClassifyArray={"娱乐","学习","生活"};
private List<String> appName=new ArrayList<>();
private List<AppInfo> appInfoList; private List<AppInfo> appInfoList;
private List<AppInfo> allAppList=new ArrayList<>(); private List<AppInfo> allAppList=new ArrayList<>();
private String date; private String date;
@ -35,6 +34,7 @@ public class software_classification extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_software_classification); setContentView(R.layout.activity_software_classification);
List<String> appName=new ArrayList<>();
timeUseDBHelper dbHelper = timeUseDBHelper.getInstance(this); timeUseDBHelper dbHelper = timeUseDBHelper.getInstance(this);
dbHelper.openReadLink(); dbHelper.openReadLink();
appInfoList = dbHelper.queryAllClassifyInfo(); appInfoList = dbHelper.queryAllClassifyInfo();
@ -107,57 +107,42 @@ public class software_classification extends AppCompatActivity {
} }
}); });
confirm.setOnClickListener(new View.OnClickListener() { confirm.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Log.d("data",appInfo.getClassify()); Log.d("data",appInfo.getClassify());
if(dbHelper.updateAppClassify(appInfo)>0) if(dbHelper.updateAppClassify(appInfo)>0)
Toast.makeText(software_classification.this, "修改应用分类成功", Toast.LENGTH_SHORT).show(); Toast.makeText(software_classification.this, "修改应用分类成功", Toast.LENGTH_SHORT).show();
// 刷新数据 // 刷新数据
appInfoList =dbHelper.queryAllClassifyInfo(); appInfoList =dbHelper.queryAllClassifyInfo();
}
}); });
// 点击按钮跳转 // 点击按钮跳转
jump_appUse.setOnClickListener(new View.OnClickListener() { jump_appUse.setOnClickListener(v -> {
@Override Intent intent1 =new Intent();
public void onClick(View v) { intent1.setClass(software_classification.this, appTimeUse.class);
Intent intent=new Intent(); intent1.putExtra("date",date);
intent.setClass(software_classification.this, appTimeUse.class);
intent.putExtra("date",date);
showProgressDialog("","正在加载"); showProgressDialog("","正在加载");
startActivity(intent); startActivity(intent1);
}
}); });
jump_report.setOnClickListener(new View.OnClickListener() { jump_report.setOnClickListener(v -> {
@Override Intent intent12 =new Intent();
public void onClick(View v) { intent12.setClass(software_classification.this, report.class);
Intent intent=new Intent(); intent12.putExtra("date",date);
intent.setClass(software_classification.this, report.class);
intent.putExtra("date",date);
showProgressDialog("","正在加载"); showProgressDialog("","正在加载");
startActivity(intent); startActivity(intent12);
}
}); });
jump_appClassify.setOnClickListener(new View.OnClickListener() { jump_appClassify.setOnClickListener(v -> {
@Override Intent intent13 =new Intent();
public void onClick(View v) { intent13.setClass(software_classification.this, software_classification.class);
Intent intent=new Intent(); intent13.putExtra("date",date);
intent.setClass(software_classification.this, software_classification.class);
intent.putExtra("date",date);
showProgressDialog("","正在加载"); showProgressDialog("","正在加载");
startActivity(intent); startActivity(intent13);
}
}); });
jump_list.setOnClickListener(new View.OnClickListener() { jump_list.setOnClickListener(v -> {
@Override Intent intent14 =new Intent();
public void onClick(View v) { intent14.setClass(software_classification.this, task_show.class);
Intent intent=new Intent(); startActivity(intent14);
intent.setClass(software_classification.this, task_show.class);
startActivity(intent);
}
}); });
} }

@ -18,27 +18,26 @@ import android.widget.Toast;
import com.tanshui.timeuse.database.timeUseDBHelper; import com.tanshui.timeuse.database.timeUseDBHelper;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
public class task_add extends AppCompatActivity { public class task_add extends AppCompatActivity {
private EditText task_content; private EditText task_content;
private Button StartTime;
private Button EndTime;
private Button btn_down;
private Button btn_del;
private TextView tv_startTime; private TextView tv_startTime;
private TextView tv_endTime; private TextView tv_endTime;
private String decs; private String decs;
private timeUseDBHelper dbHelper; private timeUseDBHelper dbHelper;
private String date;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_add); setContentView(R.layout.activity_task_add);
taskInfo task=new taskInfo();
taskInfo task=new taskInfo();
Button StartTime;
Button EndTime;
Button btn_down;
String date;
task_content=findViewById(R.id.task_content); task_content=findViewById(R.id.task_content);
StartTime=findViewById(R.id.StartTime); StartTime=findViewById(R.id.StartTime);
EndTime=findViewById(R.id.EndTime); EndTime=findViewById(R.id.EndTime);
@ -52,16 +51,12 @@ public class task_add extends AppCompatActivity {
task.setFinished(false); task.setFinished(false);
task.setDate(date); task.setDate(date);
StartTime.setOnClickListener(new View.OnClickListener() { StartTime.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Dialog dia=new Dialog(task_add.this); Dialog dia=new Dialog(task_add.this);
dia.create(); dia.create();
Calendar time=Calendar.getInstance(); Calendar time=Calendar.getInstance();
// 显示时间选择器 // 显示时间选择器
TimePickerDialog timeDialog=new TimePickerDialog(task_add.this, new TimePickerDialog.OnTimeSetListener() { TimePickerDialog timeDialog=new TimePickerDialog(task_add.this, (view, hourOfDay, minute) -> {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String min= Integer.toString(minute); String min= Integer.toString(minute);
min=minute>=10?min:"0"+min; min=minute>=10?min:"0"+min;
@ -70,10 +65,8 @@ public class task_add extends AppCompatActivity {
task.setStartHour(hourOfDay); task.setStartHour(hourOfDay);
task.setStartMin(minute); task.setStartMin(minute);
tv_startTime.setText("任务开始时间:"+decs); tv_startTime.setText("任务开始时间:"+decs);
}
},time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE),true); },time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE),true);
timeDialog.show(); timeDialog.show();
}
}); });
EndTime.setOnClickListener(new View.OnClickListener() { EndTime.setOnClickListener(new View.OnClickListener() {
@ -99,9 +92,7 @@ public class task_add extends AppCompatActivity {
} }
}); });
btn_down.setOnClickListener(new View.OnClickListener() { btn_down.setOnClickListener(v -> {
@Override
public void onClick(View v) {
if(!task_content.getText().toString().isEmpty()){ if(!task_content.getText().toString().isEmpty()){
task.setContent(task_content.getText().toString()); task.setContent(task_content.getText().toString());
@ -133,12 +124,11 @@ public class task_add extends AppCompatActivity {
new Handler().postDelayed(new Runnable() { new Handler().postDelayed(new Runnable() {
@Override @Override
public void run() { public void run() {
Intent intent=new Intent(task_add.this,task_show.class); Intent intent1 =new Intent(task_add.this,task_show.class);
startActivity(intent); startActivity(intent1);
} }
},1000); },1000);
}
}); });
} }

@ -62,7 +62,7 @@ public class task_show extends Activity {
private ListView lv_task; private ListView lv_task;
private List<taskInfo> taskInfos; private List<taskInfo> taskInfos;
private List<AppInfo> appInfos; private List<AppInfo> appInfos;
private List<AppInfo> classifyList;
private ArrayList<HashMap<String, Object>> listItem; private ArrayList<HashMap<String, Object>> listItem;
private SimpleAdapter adapter; private SimpleAdapter adapter;
private SQLiteDatabase write; private SQLiteDatabase write;
@ -74,11 +74,11 @@ public class task_show extends Activity {
private NotificationManager notificationManager; private NotificationManager notificationManager;
private Notification notification; private Notification notification;
private Handler handler; private Handler handler;
private List<String> finishTask=new ArrayList<>();
private Runnable runnable; private Runnable runnable;
private Boolean f; private Boolean f;
private NotificationChannel channel; private NotificationChannel channel;
private List<String> finishTask=new ArrayList<>();
private View jump_appClassify;
private ProgressDialog progressDialog; private ProgressDialog progressDialog;
@Override @Override
@ -87,7 +87,9 @@ public class task_show extends Activity {
setContentView(R.layout.activity_task_show); setContentView(R.layout.activity_task_show);
// main_tabFragment main_tabFragment=new main_tabFragment(); // main_tabFragment main_tabFragment=new main_tabFragment();
// getSupportFragmentManager().beginTransaction().add(R.id.main_frame, main_tabFragment).show(main_tabFragment).commitAllowingStateLoss(); // getSupportFragmentManager().beginTransaction().add(R.id.main_frame, main_tabFragment).show(main_tabFragment).commitAllowingStateLoss();
List<AppInfo> classifyList;
View jump_appClassify;
textView = findViewById(R.id.tv); textView = findViewById(R.id.tv);
lv_task=findViewById(R.id.lv_task); lv_task=findViewById(R.id.lv_task);
changeDate = findViewById(R.id.changeDate); changeDate = findViewById(R.id.changeDate);
@ -159,9 +161,7 @@ public class task_show extends Activity {
// 点击按钮更改日期 // 点击按钮更改日期
changeDate.setOnClickListener(new View.OnClickListener() { changeDate.setOnClickListener(v -> {
@Override
public void onClick(View v) {
DatePickerDialog dateDialog = new DatePickerDialog(task_show.this, DatePickerDialog dateDialog = new DatePickerDialog(task_show.this,
new DatePickerDialog.OnDateSetListener() { new DatePickerDialog.OnDateSetListener() {
@Override @Override
@ -184,48 +184,35 @@ public class task_show extends Activity {
dateDialog.show(); dateDialog.show();
}
}); });
// 点击按钮添加任务 // 点击按钮添加任务
addTask.setOnClickListener(new View.OnClickListener() { addTask.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Intent intent=new Intent(); Intent intent=new Intent();
intent.setClass(task_show.this, task_add.class); intent.setClass(task_show.this, task_add.class);
intent.putExtra("date",decs); intent.putExtra("date",decs);
startActivity(intent); startActivity(intent);
}
}); });
// 点击按钮跳转 // 点击按钮跳转
jump_appUse.setOnClickListener(new View.OnClickListener() { jump_appUse.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Intent intent=new Intent(); Intent intent=new Intent();
intent.setClass(task_show.this, appTimeUse.class); intent.setClass(task_show.this, appTimeUse.class);
intent.putExtra("date",decs); intent.putExtra("date",decs);
showProgressDialog("","正在加载"); showProgressDialog("","正在加载");
startActivity(intent); startActivity(intent);
}
}); });
jump_report.setOnClickListener(new View.OnClickListener() { jump_report.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Intent intent=new Intent(); Intent intent=new Intent();
intent.setClass(task_show.this, report.class); intent.setClass(task_show.this, report.class);
intent.putExtra("date",decs); intent.putExtra("date",decs);
showProgressDialog("","正在加载"); showProgressDialog("","正在加载");
startActivity(intent); startActivity(intent);
}
}); });
jump_appClassify.setOnClickListener(new View.OnClickListener() { jump_appClassify.setOnClickListener(v -> {
@Override
public void onClick(View v) {
Intent intent=new Intent(); Intent intent=new Intent();
intent.setClass(task_show.this, software_classification.class); intent.setClass(task_show.this, software_classification.class);
intent.putExtra("date",decs); intent.putExtra("date",decs);
startActivity(intent); startActivity(intent);
}
}); });
// CheckboxAdapter checkboxAdapter=new CheckboxAdapter(task_show.this,listItem); // CheckboxAdapter checkboxAdapter=new CheckboxAdapter(task_show.this,listItem);
// lv_task.setAdapter(checkboxAdapter); // lv_task.setAdapter(checkboxAdapter);
@ -388,9 +375,7 @@ public class task_show extends Activity {
dialog_check = dialogView.findViewById(R.id.dialog_check); dialog_check = dialogView.findViewById(R.id.dialog_check);
dialog_delete.setOnClickListener(new View.OnClickListener() { dialog_delete.setOnClickListener(v -> {
@Override
public void onClick(View v) {
AlertDialog.Builder builder1=new AlertDialog.Builder(task_show.this); AlertDialog.Builder builder1=new AlertDialog.Builder(task_show.this);
builder1.setMessage("确定删除?"); builder1.setMessage("确定删除?");
builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() { builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@ -407,7 +392,6 @@ public class task_show extends Activity {
}); });
builder1.setNegativeButton("取消", null); builder1.setNegativeButton("取消", null);
builder1.show(); builder1.show();
}
}); });
/*Dialog dialog = new MyDialog(PublishActivity.this,R.style.MyDialog); /*Dialog dialog = new MyDialog(PublishActivity.this,R.style.MyDialog);
dialog.show();*/ dialog.show();*/

@ -9,7 +9,6 @@ import android.graphics.RectF;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -68,21 +67,21 @@ public class PieChart extends View {
return; return;
} }
for (int i = 0; i < mPieModelList.size(); i++) { for (int i = 0; i < mPieModelList.size(); i++) {
if (mPieModelList.get(i).percent > 0) { if (mPieModelList.get(i).getPercent() > 0) {
// 如果当前角度在这个扇形中 // 如果当前角度在这个扇形中
if (mAnimaAngle >= mPieModelList.get(i).startAngle && if (mAnimaAngle >= mPieModelList.get(i).getStartAngle() &&
mAnimaAngle <= (mPieModelList.get(i).startAngle + mPieModelList.get(i).sweepAngle)) { mAnimaAngle <= (mPieModelList.get(i).getStartAngle() + mPieModelList.get(i).getSweepAngle())) {
drawColor(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mAnimaAngle - mPieModelList.get(i).startAngle); drawColor(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mAnimaAngle - mPieModelList.get(i).getStartAngle());
} }
// 如果当前角度进入第二个扇形 // 如果当前角度进入第二个扇形
else if (mAnimaAngle >= (mPieModelList.get(i).startAngle + mPieModelList.get(i).sweepAngle)) { else if (mAnimaAngle >= (mPieModelList.get(i).getStartAngle() + mPieModelList.get(i).getSweepAngle())) {
drawColor(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mPieModelList.get(i).sweepAngle); drawColor(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mPieModelList.get(i).getSweepAngle());
} }
// 如果seleted为true让该部分突出 // 如果seleted为true让该部分突出
if (mPieModelList.get(i).selected) { if (mPieModelList.get(i).isSelected()) {
drawSelectedView(canvas, mPieModelList.get(i).color, mPieModelList.get(i).startAngle, mPieModelList.get(i).sweepAngle); drawSelectedView(canvas, mPieModelList.get(i).getColor(), mPieModelList.get(i).getStartAngle(), mPieModelList.get(i).getSweepAngle());
} }
} }
} }
@ -129,11 +128,11 @@ public class PieChart extends View {
for (int i = 0; i < mPieModelList.size(); i++) { for (int i = 0; i < mPieModelList.size(); i++) {
PieInfo model = mPieModelList.get(i); PieInfo model = mPieModelList.get(i);
if (i == 0) { if (i == 0) {
model.startAngle = 0; model.setStartAngle(0);
} else { } else {
model.startAngle = mPieModelList.get(i - 1).startAngle + mPieModelList.get(i - 1).sweepAngle; model.setStartAngle(mPieModelList.get(i - 1).getStartAngle() + mPieModelList.get(i - 1).getSweepAngle());
} }
model.sweepAngle = (model.percent * 360); model.setSweepAngle(model.getPercent() * 360);
} }
} }

Loading…
Cancel
Save