From a56296e918062d07ff795845074c2825e4592db5 Mon Sep 17 00:00:00 2001 From: KenGeng Date: Thu, 21 Dec 2017 21:01:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E4=BB=BB=E5=8A=A1=E5=90=8E=E8=BF=9B=E8=A1=8C=E7=BC=96?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E9=80=80=E5=87=BA=E5=90=8E=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E6=89=93=E5=BC=80=E3=80=82=E6=97=A5=E5=8E=86=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=87=BA=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sanxing/UIHomeTabFragments/TaskRecyclerAdapter.java | 1 + .../EditItem/EditHabitActivity.java | 6 +++++- .../EditItem/EditTaskActivity.java | 8 +++++++- .../EditItem/EditTimeLeftActivity.java | 6 +++++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/TaskRecyclerAdapter.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/TaskRecyclerAdapter.java index aa40d4d..4a83c28 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/TaskRecyclerAdapter.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/TaskRecyclerAdapter.java @@ -186,6 +186,7 @@ public void onClick(View view) { Snackbar.make(view, R.string.snack_one_item_finished, R.integer.undo_timeout) .setAction(R.string.undo, redo) .show(); + // Lazy delete a database entry task_at_position.setState(2); //renew end time diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditHabitActivity.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditHabitActivity.java index b235cba..666e8e1 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditHabitActivity.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditHabitActivity.java @@ -35,6 +35,7 @@ public class EditHabitActivity extends OperateHabitActivityBase { private MyApplication myApplication; private Habit habit; private int position; + private int pos_habit_manager;//find the position in the manager @BindView(R.id.habit_linear_layout) LinearLayoutCompat linearLayout; @Override protected void onCreate(Bundle savedInstanceState) { @@ -46,7 +47,9 @@ protected void onCreate(Bundle savedInstanceState) { position=intent.getIntExtra("position",-1); habit=myApplication.get_habit_manager().getObjectList().get(position); int count = 0; + pos_habit_manager=0; for (Habit temp : myApplication.get_habit_manager().getObjectList()){// neglect the finished habit + pos_habit_manager++; if (temp.getState()==2) continue; else { if (count==position){ @@ -56,6 +59,7 @@ protected void onCreate(Bundle savedInstanceState) { } } + pos_habit_manager--; // Change the lines below to synchronize data of the view and that of the model // You may modify the lines below to set the activity's UI state // Title @@ -100,7 +104,7 @@ public boolean onOptionsItemSelected(MenuItem item) { habit.edit_habit(inputTitle.getText().toString(),"2020-01-01 18:21:00", descriptionContent.getText().toString(),selectedImportance,selectedFreq); Intent intent = new Intent(); - intent.putExtra("position",position); + intent.putExtra("position",pos_habit_manager); intent.putExtra("ID",habit.ID); setResult(RESULT_OK, intent); animationSubmit(); diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTaskActivity.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTaskActivity.java index 0900ff8..cb682d0 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTaskActivity.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTaskActivity.java @@ -21,6 +21,7 @@ public class EditTaskActivity extends OperateTaskActivityBase { private MyApplication myApplication; private Task task; private int position; + private int pos_task_manager; @BindView(R.id.task_linear_layout) LinearLayoutCompat linearLayout; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,7 +31,9 @@ protected void onCreate(Bundle savedInstanceState) { Intent intent=getIntent(); position=intent.getIntExtra("position",-1); int count = 0; + pos_task_manager=0; for (Task temp : myApplication.get_task_manager().getObjectList()){// neglect the finished task + pos_task_manager++;//find the position in the manager if (temp.getState()==2) continue; else { if (count==position){ @@ -39,7 +42,10 @@ protected void onCreate(Bundle savedInstanceState) { count++; } + } + pos_task_manager--; + // Change the lines below to synchronize data of the view and that of the model // You may modify the lines below to set the activity's UI state @@ -91,7 +97,7 @@ public boolean onOptionsItemSelected(MenuItem item) { ,descriptionContent.getText().toString(),selectedImportance); Intent intent = new Intent(); - intent.putExtra("position",position); + intent.putExtra("position",pos_task_manager); intent.putExtra("ID",task.ID); setResult(RESULT_OK, intent); animationSubmit(); diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTimeLeftActivity.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTimeLeftActivity.java index 99f1a67..c81f329 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTimeLeftActivity.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIOperateItemActivities/EditItem/EditTimeLeftActivity.java @@ -41,6 +41,7 @@ public class EditTimeLeftActivity extends OperateTimeLeftActivityBase { private MyApplication myApplication; private TimeLeft timeLeft; private int position; + private int pos_timeleft_manager; @BindView(R.id.time_left_linear_layout) LinearLayoutCompat linearLayout; @Override protected void onCreate(Bundle savedInstanceState) { @@ -51,7 +52,9 @@ protected void onCreate(Bundle savedInstanceState) { Intent intent=getIntent(); position=intent.getIntExtra("position",-1); int count = 0; + pos_timeleft_manager=0; for (TimeLeft temp : myApplication.get_time_left_manager().getObjectList()){// neglect the finished time left item + pos_timeleft_manager++;//find the position in the manager if (temp.getState()==2) continue; else { if (count==position){ @@ -61,6 +64,7 @@ protected void onCreate(Bundle savedInstanceState) { } } + pos_timeleft_manager--; timeLeft=myApplication.get_time_left_manager().getObjectList().get(position); // Change the lines below to synchronize data of the view and that of the model @@ -126,7 +130,7 @@ public boolean onOptionsItemSelected(MenuItem item) { sdf.format(dueCalendar.getTime()).substring(0,16).concat(":00"),descriptionContent.getText().toString(), selectedImportance); Intent intent = new Intent(); - intent.putExtra("position",position); + intent.putExtra("position",pos_timeleft_manager); intent.putExtra("ID",timeLeft.ID); setResult(RESULT_OK, intent); animationSubmit(); From 8cadd36e1f085ee485be46932ba973d264f3eb7b Mon Sep 17 00:00:00 2001 From: KenGeng Date: Fri, 22 Dec 2017 00:32:34 +0800 Subject: [PATCH 2/2] small bug fix and some optimization --- .../sanxing/UIHomeTabFragments/HabitRecyclerAdapter.java | 1 + .../sanxing/UIStatistics/TimelineActivity.java | 6 +++--- .../io/github/celestialphineas/sanxing/sxObject/Habit.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/HabitRecyclerAdapter.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/HabitRecyclerAdapter.java index 151dd80..53c802e 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/HabitRecyclerAdapter.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIHomeTabFragments/HabitRecyclerAdapter.java @@ -103,6 +103,7 @@ public HabitViewHolder onCreateViewHolder(ViewGroup parent, int viewGroup) { @Override public void onBindViewHolder(final HabitViewHolder holder, final int position) { final Habit habit_at_position=habitList.get(position); + habit_at_position.next_day();//renew deadline of the habit holder.habitTitle.setText(habit_at_position.getTitle()); // Set the frequency (in the form of integer, see OperateHabitActivity for definition) // Modify the habitFreq private variable diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/UIStatistics/TimelineActivity.java b/app/src/main/java/io/github/celestialphineas/sanxing/UIStatistics/TimelineActivity.java index a9dfe95..52cb0a2 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/UIStatistics/TimelineActivity.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/UIStatistics/TimelineActivity.java @@ -108,7 +108,7 @@ public void onClick(View v) { // Constructor: Type, Time Calendar, Description for (Task task:mTaskManager.getObjectList()){ - if (task.getState()==2){//task is finished ,no show + if (task.getState()==2||task.getState()==0){//task is finished or deleted ,no show continue; } long millionSeconds = 0; @@ -123,7 +123,7 @@ public void onClick(View v) { else timelineItems.add(new TimelineItem(TASK,ca,task.getTitle())); } for (Habit habit:mHabitManager.getObjectList()){ - if (habit.getState()==2){//task is finished ,no show + if (habit.getState()==2||habit.getState()==0){//task is finished or deleted ,no show continue; } long millionSeconds = 0; @@ -135,7 +135,7 @@ public void onClick(View v) { timelineItems.add(new TimelineItem(HABIT,ca,habit.getTitle())); } for (TimeLeft timeLeft:mTimeLeftManager.getObjectList()){ - if (timeLeft.getState()==2){//task is finished ,no show + if (timeLeft.getState()==2||timeLeft.getState()==0){//task is finished or deleted ,no show continue; } long millionSeconds = 0; diff --git a/app/src/main/java/io/github/celestialphineas/sanxing/sxObject/Habit.java b/app/src/main/java/io/github/celestialphineas/sanxing/sxObject/Habit.java index 3c62aea..1cd62c2 100644 --- a/app/src/main/java/io/github/celestialphineas/sanxing/sxObject/Habit.java +++ b/app/src/main/java/io/github/celestialphineas/sanxing/sxObject/Habit.java @@ -169,7 +169,7 @@ public void deleteRecord() } //到了ddl,就保存当前阶段打卡,进入下一次打卡 - private void next_day() + public void next_day() { LocalDateTime now=LocalDateTime.now(); while (!now.isBefore(nextddl))//更新总需要