Skip to content

Instantly share code, notes, and snippets.

View anantyan's full-sized avatar
Enjoy with Coffee

Arya Rezza Anantya anantyan

Enjoy with Coffee
  • PT Omnifit Solusi Nusantara
  • Indonesia, Purwokerto
  • 15:26 (UTC +07:00)
  • LinkedIn in/anantyan
  • Instagram anantyan
View GitHub Profile
@anantyan
anantyan / SimpleReminder.kt
Last active January 23, 2024 08:07
Ringkasan kode untuk kebutuhan WorkManager Basic yang dibuat
// case ketika request reminder sebelum waktu jadwal 2x - 6jam
// setelah itu reminder terakhir sebelum waktu jadwal 1.5jam
val reminderData = Data.Builder()
.putLong(DELAY, <Input Delay : Long>)
.putLong(INTERVAL, <Input Interval : Long>)
.build()
val reminderConstraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
@anantyan
anantyan / Enum.kt
Last active September 7, 2023 15:20
Perbedaan antara mensimulasikan kode program sealed class dan enum
// ENUM CLASS
// Definisi Resource dengan enum class
enum class Status {
SUCCESS,
ERROR,
LOADING
}
data class Resource(val status: Status, val data: String? = null, val message: String? = null)
@anantyan
anantyan / AppDatabase.kt
Created August 22, 2023 06:22
Membagikan mengenai implementasi sebuah code pemrograman menggunakan MVVM + Clean Architecture pada studi kasus penyimpanan database menggunakan ROOM Database untuk Notepad
// 4. Room Database (Data Layer)
@Database(entities = [Note::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun noteDao(): NoteDao
}
@anantyan
anantyan / FirebaseNotesRepository.kt
Last active August 22, 2023 06:14
Membagikan mengenai implementasi sebuah code pemrograman menggunakan MVVM + Clean Architecture pada studi kasus penyimpanan database menggunakan Cloud Firebase (Firestore) untuk Notepad
// 3. Repository Implementation (Data Layer)
class FirestoreNotesRepository @Inject constructor() : NotesRepository {
private val db = FirebaseFirestore.getInstance()
private val notesCollection = db.collection("notes")
override fun getNotes(): Flow<Resource> = flow {
emit(Resource.Loading)
try {
notesCollection.addSnapshotListener { snapshot, exception ->
if (exception != null || snapshot == null) {