diff --git a/stallhelper/build.properties b/stallhelper/build.properties
index 8bc4483..8caae2d 100644
--- a/stallhelper/build.properties
+++ b/stallhelper/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Fri May 22 17:22:44 HKT 2026
+#Fri May 22 18:52:55 HKT 2026
stageCount=5
libraryProject=
baseVersion=15.20
publishVersion=15.20.4
-buildCount=0
+buildCount=1
baseBetaVersion=15.20.5
diff --git a/stallhelper/src/main/java/cc/winboll/studio/stallhelper/activities/TaskSchedulerActivity.java b/stallhelper/src/main/java/cc/winboll/studio/stallhelper/activities/TaskSchedulerActivity.java
index 21a0b4b..d037a83 100644
--- a/stallhelper/src/main/java/cc/winboll/studio/stallhelper/activities/TaskSchedulerActivity.java
+++ b/stallhelper/src/main/java/cc/winboll/studio/stallhelper/activities/TaskSchedulerActivity.java
@@ -612,6 +612,14 @@ public class TaskSchedulerActivity extends WinBoLLActivity {
viewHolder.mtvDuration.setText(formatDurationToString(item.getDurationMinutes()));
viewHolder.mtvRemark.setText(item.getRemark());
+ long diffMs = item.getCurrentScheduleTime() - System.currentTimeMillis();
+ int diffMinutes = (int) Math.abs(diffMs / 60000);
+ if (diffMs >= 0) {
+ viewHolder.mtvTimeDiff.setText("剩余" + formatDurationToString(diffMinutes));
+ } else {
+ viewHolder.mtvTimeDiff.setText("已过" + formatDurationToString(diffMinutes));
+ }
+
if (item.getCurrentScheduleTime() <= System.currentTimeMillis()) {
viewHolder.mllMain.setBackgroundResource(R.color.colorScheduleFutureBackground);
} else {
@@ -663,6 +671,7 @@ public class TaskSchedulerActivity extends WinBoLLActivity {
class TaskViewHolder extends RecyclerView.ViewHolder {
TextView mtvTaskName;
TextView mtvCurrentScheduleTime;
+ TextView mtvTimeDiff;
TextView mtvDuration;
TextView mtvRemark;
LinearLayout mllMain;
@@ -672,6 +681,7 @@ public class TaskSchedulerActivity extends WinBoLLActivity {
super(itemView);
mtvTaskName = itemView.findViewById(R.id.item_task_name);
mtvCurrentScheduleTime = itemView.findViewById(R.id.item_start_time);
+ mtvTimeDiff = itemView.findViewById(R.id.item_time_diff);
mtvDuration = itemView.findViewById(R.id.item_duration);
mtvRemark = itemView.findViewById(R.id.item_remark);
mllMain = itemView.findViewById(R.id.itemtaskscheduler_llmain);
diff --git a/stallhelper/src/main/res/layout/item_task_scheduler.xml b/stallhelper/src/main/res/layout/item_task_scheduler.xml
index 84252ea..8325e08 100644
--- a/stallhelper/src/main/res/layout/item_task_scheduler.xml
+++ b/stallhelper/src/main/res/layout/item_task_scheduler.xml
@@ -50,22 +50,38 @@
android:gravity="center_vertical"
android:layout_marginTop="5dp">
-
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
-
+
+
+
+
+
+
+