Skip to content

Commit

Permalink
Release 0.1.0
Browse files Browse the repository at this point in the history
Reminder will not be lost when undo task;
Added translate for Taiwan (ROC);
Added translate for China (PRC);
  • Loading branch information
Z-Siqi committed May 9, 2024
1 parent 68d4441 commit 5a4ef7f
Show file tree
Hide file tree
Showing 9 changed files with 149 additions and 14 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ android {
applicationId = "com.sqz.checklist"
minSdk = 26
targetSdk = 34
versionCode = 9
versionName = "0.1.0-build_CI"
versionCode = 10
versionName = "0.1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down
Binary file modified app/release/app-release.apk
Binary file not shown.
4 changes: 2 additions & 2 deletions app/release/output-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 9,
"versionName": "0.1.0-beta3",
"versionCode": 10,
"versionName": "0.1.0",
"outputFile": "app-release.apk"
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class TaskLayoutViewModel : ViewModel() {
var setReminderState by mutableStateOf(false)
var setReminderId by mutableIntStateOf(-0)
var reminderCard by mutableStateOf(false)
var cancelReminderAction by mutableStateOf(false)

fun setReminder(
delayDuration: Long,
Expand Down Expand Up @@ -84,6 +85,15 @@ class TaskLayoutViewModel : ViewModel() {
}
}

fun cancelHistoryReminder(context: Context) {
viewModelScope.launch {
val allIsHistoryIdList = MainActivity.taskDatabase.taskDao().getAllIsHistoryId()
for (data in allIsHistoryIdList) {
cancelReminder(data.id, context)
}
}
}

/**
* Task-related
* **/
Expand Down Expand Up @@ -156,11 +166,9 @@ class TaskLayoutViewModel : ViewModel() {
}

// Delete to History
fun deleteTaskToHistory(id: Int, context: Context) {
fun deleteTaskToHistory(id: Int) {
viewModelScope.launch {
MainActivity.taskDatabase.taskDao().setHistory(1, id)
// Cancel reminder
cancelReminder(id, context)
// Give an id for history sequence
val maxId = MainActivity.taskDatabase.taskDao().getIsHistoryIdTop()
MainActivity.taskDatabase.taskDao().setHistoryId((maxId + 1), id)
Expand Down Expand Up @@ -194,6 +202,8 @@ class TaskLayoutViewModel : ViewModel() {
MainActivity.taskDatabase.taskDao().setHistory(0, id)
MainActivity.taskDatabase.taskDao().setHistoryId(0, id)
arrangeIsHistoryId()
undoActionId = -0
cancelReminderAction = true
// Update to LazyColumn
taskData = MainActivity.taskDatabase.taskDao().getAll(withoutHistory = 1)
taskHistoryData = MainActivity.taskDatabase.taskDao().getAllOrderByIsHistoryId()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalWindowInfo
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
Expand All @@ -32,29 +33,34 @@ internal fun CheckUndoAction(
lazyState: LazyListState,
taskState: TaskLayoutViewModel
) {
val isWindowFocused = LocalWindowInfo.current.isWindowFocused

var undoButton by rememberSaveable { mutableStateOf(false) }
var rememberScroll by rememberSaveable { mutableIntStateOf(0) }
var rememberTime by rememberSaveable { mutableIntStateOf(0) }

fun undoTimeout() {
undoButton = false
taskState.checkTaskAction = false
taskState.cancelReminderAction = true
}

LaunchedEffect(true) {
delay(50)
rememberScroll = lazyState.firstVisibleItemIndex
undoButton = true
delay(1500)
if (rememberScroll != lazyState.firstVisibleItemIndex) {
undoButton = false
taskState.checkTaskAction = false
undoTimeout()
} else {
while (rememberTime < 5) {
delay(500)
if (rememberScroll != lazyState.firstVisibleItemIndex) {
undoButton = false
taskState.checkTaskAction = false
undoTimeout()
}
rememberTime++
}
undoButton = false
taskState.checkTaskAction = false
undoTimeout()
}
}
if (undoButton) UndoButton(onClick = {
Expand All @@ -63,6 +69,10 @@ internal fun CheckUndoAction(
undoButton = false
taskState.checkTaskAction = false
})

if (!isWindowFocused && undoButton) {
taskState.cancelReminderAction = true
}
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,11 @@ fun TaskLayout(
taskState.autoDeleteHistoryTask(5)
}
}
// cancel set reminder when checked
if (taskState.cancelReminderAction) {
taskState.cancelHistoryReminder(context)
taskState.cancelReminderAction = false
}
if (taskState.reminderCard) { // processing cancel reminder
fun dismiss() {
taskState.reminderCard = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ fun TaskItem(
var isDismissedId by rememberSaveable { mutableIntStateOf(0) }
LaunchedEffect(true) { isDismissedId++ }
if (isDismissedId < 1) {
taskState.deleteTaskToHistory(id, context)
taskState.deleteTaskToHistory(id)
taskState.checkTaskAction = true
taskState.undoActionId = id
}
Expand Down
55 changes: 55 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_display_language">CN</string>
<string name="app_name">检查清单</string>
<string name="edit">编辑</string>
<string name="add">添加</string>
<string name="back">返回</string>
<string name="dismiss">禁用</string>
<string name="confirm">确认</string>
<string name="warning">注意</string>
<string name="cancel">取消</string>
<string name="delete">删除</string>
<string name="full_date_short">yyyy 年 MMM dd 日 hh:mm a</string>

<!-- MainLayout -->
<string name="tasks">任务</string>
<string name="time_format">"EE, MMM dd 日"</string>
<string name="top_bar_date">MMMM dd 日</string>
<string name="more_options">更多选项</string>

<!-- TaskLayout -->
<string name="task_date_format">yyyy 年 MMM dd 日</string>
<string name="task_creation_time">创建日期: %1$s</string>
<string name="check">检查</string>
<string name="undo">撤销</string>
<string name="reminder">提醒</string>
<string name="create_task">创建条目</string>
<string name="edit_task">编辑任务</string>
<string name="task_history">历史记录</string>
<string name="delete_all_history">清除所有历史记录?</string>
<string name="redo_all_history">重做全部?</string>
<string name="redo">重做</string>
<string name="nothing_here">这里什么都没有!</string>
<string name="pin">固定</string>
<string name="pinned_task">固定的任务</string>
<string name="select_date">选择日期</string>
<string name="pick">选择</string>
<string name="input">输入</string>

<!-- Notification -->
<string name="task_reminder">任务提醒</string>
<string name="cancel_the_reminder">取消提醒?</string>
<string name="description">用于提醒</string>
<string name="no_set_reminder_permission">由于没有权限,无法设置提醒</string>
<string name="note_brevent">注意:如果 Brevent 在该程式上工作,通知可能无法使用</string>
<string name="note_thanox">注意:如果 Thanox 在该程式上工作,通知可能无法使用</string>
<string name="no_do_nothing">请不要计划做空气!!</string>
<string name="no_change_do_nothing">不要把计划变成空气!!</string>
<string name="remind_at_preview">%1$s 小时 %2$s 分钟之后</string>
<string name="remind_at">将于 %1$s 提醒</string>
<string name="nothing_need_do">选择无需做任何事! \n点击 \'添加\' 以创建任务</string>
<string name="setting_remind_warning">不建议设置时间太久的提醒, 而且你不应该将你的计划推迟那么久。 此外,这也可能会导致意外的错误。\n\n点击确认以继续设置.</string>
<string name="cannot_set_past">为过去设置提醒是做不到的! lol</string>

</resources>
55 changes: 55 additions & 0 deletions app/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_display_language">TW</string>
<string name="app_name">Checklist</string>
<string name="edit">提醒</string>
<string name="add">添加</string>
<string name="back">返回</string>
<string name="dismiss">禁用</string>
<string name="confirm">確認</string>
<string name="warning">注意</string>
<string name="cancel">取消</string>
<string name="delete">刪除</string>
<string name="full_date_short">yyyy 年 MMM dd 日 hh:mm a</string>

<!-- MainLayout -->
<string name="tasks">任務</string>
<string name="time_format">"EE, MMM dd 日"</string>
<string name="top_bar_date">MMMM dd 日</string>
<string name="more_options">更多選項</string>

<!-- TaskLayout -->
<string name="task_date_format">yyyy 年 MMM dd 日</string>
<string name="task_creation_time">創建日期: %1$s</string>
<string name="check">檢查</string>
<string name="undo">撤回</string>
<string name="reminder">提醒</string>
<string name="create_task">創建任務</string>
<string name="edit_task">編輯任務</string>
<string name="task_history">歷史檔案</string>
<string name="delete_all_history">刪除所有歷史?</string>
<string name="redo_all_history">重做所有?</string>
<string name="redo">重做</string>
<string name="nothing_here">什麽都沒有!</string>
<string name="pin">固定</string>
<string name="pinned_task">固定的任務</string>
<string name="select_date">選擇日期</string>
<string name="pick">選擇</string>
<string name="input">輸入</string>

<!-- Notification -->
<string name="task_reminder">提醒</string>
<string name="cancel_the_reminder">取消提醒?</string>
<string name="description">用於提醒</string>
<string name="no_set_reminder_permission">靠北的沒有權限要怎麽發通知提醒你? lol</string>
<string name="note_brevent">注意: Brevent 可能讓你收不到提醒</string>
<string name="note_thanox">注意: Thanox 可能讓你收不到提醒</string>
<string name="no_do_nothing">不要計劃做空氣!!</string>
<string name="no_change_do_nothing">不要把計劃變成空氣!!</string>
<string name="remind_at_preview">%1$s 小時 %2$s 分鐘之後</string>
<string name="remind_at">將在 %1$s 之後提醒</string>
<string name="nothing_need_do">你現在無事可做! \n點擊 \'添加\' 為你的生活添加壓力 lol</string>
<string name="setting_remind_warning">不推薦設置時間太久的提醒, 而且你不應該放你計劃如此之久的鴿子。 還有就是這可能遇上潛在的問題(幹,要是真有問題還得我修) \n\n點擊確認以繼續摸魚</string>
<string name="cannot_set_past">提醒讓過去的你避開問題是不可能的! lol</string>

</resources>

0 comments on commit 5a4ef7f

Please sign in to comment.