Skip to content

Commit a64202a

Browse files
committed
bugfix: Perbaikan task name yang kosong ketika dimasukkan kedalam database lokal
Perbaikan task name yang kosong ketika dimasukkan kedalam database lokal pada saat stop timer. Ini disebabkan karena function `doTakeScreenshot` bersifat `async` dan setelah pemanggilan function `doTakeScreenshot` ada kode untuk set `selectedTask` menjadi null dan ini menyebabkan ketika diinsert ke database lokal `selectedTask`-nya menjadi null. Jadi, solusinya adalah simpan variable `selectedTask` kedalam variable `selectedTaskTemp`.
1 parent 86dab70 commit a64202a

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

lib/feature/presentation/page/home/home_page.dart

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,18 +1206,19 @@ class _HomePageState extends State<HomePage> with TrayListener, WindowListener {
12061206
});
12071207
}
12081208

1209-
void doTakeScreenshot(DateTime? startTime, DateTime? finishTime, {bool isForceStop = false}) async {
1209+
Future<void> doTakeScreenshot(DateTime? startTime, DateTime? finishTime, {bool isForceStop = false}) async {
1210+
final selectedTaskTemp = selectedTask;
12101211
var percentActivity = 0.0;
12111212
if (counterActivity > 0 && countTimerInSeconds > 0) {
12121213
percentActivity = (counterActivity / countTimerInSeconds) * 100;
12131214
}
12141215
counterActivity = 0;
12151216

1216-
if (selectedProject == null || selectedTask == null) {
1217+
if (selectedProject == null || selectedTaskTemp == null) {
12171218
return;
12181219
}
12191220

1220-
final taskId = selectedTask?.id;
1221+
final taskId = selectedTaskTemp.id;
12211222

12221223
if (startTime == null || finishTime == null) {
12231224
return;
@@ -1281,8 +1282,12 @@ class _HomePageState extends State<HomePage> with TrayListener, WindowListener {
12811282
if (listPathStartScreenshots.isNotEmpty) {
12821283
// hapus file list path start screenshot karena tidak pakai file tersebut
12831284
// jika file screenshot-nya dapat pas di end time
1284-
final filtered =
1285-
listPathStartScreenshots.where((element) => element != null && element.isNotEmpty).map((e) => e!).toList();
1285+
final filtered = listPathStartScreenshots
1286+
.where((element) {
1287+
return element != null && element.isNotEmpty;
1288+
})
1289+
.map((e) => e!)
1290+
.toList();
12861291
for (final element in filtered) {
12871292
final file = File(element);
12881293
if (file.existsSync()) {
@@ -1346,14 +1351,14 @@ class _HomePageState extends State<HomePage> with TrayListener, WindowListener {
13461351

13471352
final trackEntity = Track(
13481353
userId: userId,
1349-
taskId: taskId!,
1354+
taskId: taskId,
13501355
startDate: formattedStartDateTime,
13511356
finishDate: formattedFinishDateTime,
13521357
activity: activity,
13531358
files: files,
13541359
duration: durationInSeconds,
13551360
projectName: selectedProject?.name ?? '',
1356-
taskName: selectedTask?.name ?? '',
1361+
taskName: selectedTaskTemp.name,
13571362
);
13581363
final trackEntityId = await trackDao.insertTrack(trackEntity);
13591364

0 commit comments

Comments
 (0)