FreeRDP
Loading...
Searching...
No Matches
ShortcutsViewModel.java
1/*
2 ViewModel for ShortcutsActivity
3
4*/
5
6package com.freerdp.freerdpcore.presentation;
7
8import android.app.Application;
9
10import androidx.annotation.NonNull;
11import androidx.lifecycle.AndroidViewModel;
12import androidx.lifecycle.LiveData;
13import androidx.lifecycle.MutableLiveData;
14
15import com.freerdp.freerdpcore.data.AppDatabase;
16import com.freerdp.freerdpcore.domain.BookmarkBase;
17import com.freerdp.freerdpcore.services.ManualBookmarkGateway;
18
19import java.util.Collections;
20import java.util.List;
21import java.util.concurrent.ExecutorService;
22import java.util.concurrent.Executors;
23
24public class ShortcutsViewModel extends AndroidViewModel
25{
26 private final MutableLiveData<List<BookmarkBase>> bookmarks =
27 new MutableLiveData<>(Collections.emptyList());
28 private final ExecutorService executor = Executors.newSingleThreadExecutor();
29 private final ManualBookmarkGateway manualBookmarkGateway;
30
31 public ShortcutsViewModel(@NonNull Application application)
32 {
33 super(application);
34 manualBookmarkGateway =
35 new ManualBookmarkGateway(AppDatabase.getInstance(application).bookmarkDao());
36 }
37
38 public LiveData<List<BookmarkBase>> getBookmarks()
39 {
40 return bookmarks;
41 }
42
43 public void loadBookmarks()
44 {
45 executor.execute(() -> bookmarks.postValue(manualBookmarkGateway.findAll()));
46 }
47
48 @Override protected void onCleared()
49 {
50 super.onCleared();
51 executor.shutdown();
52 }
53}