Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions app/src/main/java/com/songlib/core/di/AppModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,35 +16,35 @@ class AppModule {
@Singleton
fun provideListingRepository(
@ApplicationContext context: Context,
): ListingRepository = ListingRepository(context)
): ListingRepo = ListingRepo(context)

@Provides
@Singleton
fun providePreferencesRepository(
@ApplicationContext context: Context,
): PreferencesRepository = PreferencesRepository(context)
): PrefsRepo = PrefsRepo(context)

@Provides
@Singleton
fun provideSongBookRepository(
@ApplicationContext context: Context,
apiService: ApiService,
): SongBookRepository = SongBookRepository(context, apiService)
): SongBookRepo = SongBookRepo(context, apiService)

@Provides
@Singleton
fun provideSubscriptionRepository(
): SubscriptionsRepository = SubscriptionsRepository()
): SubsRepo = SubsRepo()

@Provides
@Singleton
fun provideThemeRepository(
prefsRepo: PreferencesRepository,
prefsRepo: PrefsRepo,
): ThemeRepository = ThemeRepository(prefsRepo)

@Provides
@Singleton
fun provideTrackingRepository(
@ApplicationContext context: Context,
): TrackingRepository = TrackingRepository(context)
): TrackingRepo = TrackingRepo(context)
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import kotlinx.coroutines.*
import javax.inject.*

@Singleton
class ListingRepository @Inject constructor(context: Context) {
class ListingRepo @Inject constructor(context: Context) {
private var listingDao: ListingDao?

init {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.*

@Singleton
class PreferencesRepository @Inject constructor(
class PrefsRepo @Inject constructor(
@ApplicationContext context: Context
) {
private val prefs =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import kotlinx.coroutines.flow.*
import javax.inject.*

@Singleton
class SongBookRepository @Inject constructor(
class SongBookRepo @Inject constructor(
context: Context,
private val apiService: ApiService,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.songlib.core.utils.AppConstants
import javax.inject.*

@Singleton
class SubscriptionsRepository @Inject constructor() {
class SubsRepo @Inject constructor() {
suspend fun isProUser(isOnline: Boolean, completion: (Boolean) -> Unit) {
val fetchPolicy = if (isOnline) {
CacheFetchPolicy.FETCH_CURRENT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ enum class ThemeMode { SYSTEM, LIGHT, DARK }

@HiltViewModel
class ThemeRepository @Inject constructor(
private val prefs: PreferencesRepository
private val prefs: PrefsRepo
) : ViewModel() {
var selectedTheme by mutableStateOf(prefs.appThemeMode)
private set
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import kotlinx.coroutines.*
import javax.inject.*

@Singleton
class TrackingRepository @Inject constructor(
class TrackingRepo @Inject constructor(
context: Context,
) {
private var historyDao: HistoryDao?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,31 @@
package com.songlib.presentation.viewmodels
package com.songlib.presentation.home

import android.util.Log
import androidx.lifecycle.*
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.songlib.core.utils.SongUtils
import com.songlib.data.models.*
import com.songlib.data.models.Book
import com.songlib.data.models.ListingUi
import com.songlib.data.models.Song
import com.songlib.domain.entity.UiState
import com.songlib.domain.repository.*
import com.songlib.presentation.screens.home.components.HomeNavItem
import com.songlib.domain.repository.ListingRepo
import com.songlib.domain.repository.PrefsRepo
import com.songlib.domain.repository.SongBookRepo
import com.songlib.presentation.home.components.HomeNavItem
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import javax.inject.Inject
import kotlin.collections.*

@HiltViewModel
class HomeViewModel @Inject constructor(
private val prefsRepo: PreferencesRepository,
private val songbkRepo: SongBookRepository,
private val listRepo: ListingRepository,
private val prefsRepo: PrefsRepo,
private val songbkRepo: SongBookRepo,
private val listRepo: ListingRepo,
) : ViewModel() {
private val _uiState: MutableStateFlow<UiState> = MutableStateFlow(UiState.Loading)
val uiState: StateFlow<UiState> = _uiState.asStateFlow()
Expand Down Expand Up @@ -196,4 +204,4 @@ class HomeViewModel @Inject constructor(
}
}

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

//noinspection UsingMaterialAndMaterial3Libraries
import androidx.compose.material.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.platform.LocalContext
import com.songlib.data.models.Song
import com.songlib.domain.repository.PreferencesRepository
import com.songlib.domain.repository.PrefsRepo
import com.songlib.presentation.components.action.AppTopBar
import com.songlib.presentation.components.general.QuickFormDialog
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand All @@ -22,7 +22,7 @@ fun HomeSearchAppBar(
onClearSelection: () -> Unit,
) {
val context = LocalContext.current
val prefs = remember { PreferencesRepository(context) }
val prefs = remember { PrefsRepo(context) }
var showAddDialog by remember { mutableStateOf(false) }
var showListingSheet by remember { mutableStateOf(false) }
val isProUser by viewModel.isProUser.collectAsState()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.components
package com.songlib.presentation.home.components

import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
Expand All @@ -15,7 +15,7 @@ import androidx.navigation.NavHostController
import com.songlib.data.models.Song
import com.songlib.presentation.components.listitems.*
import com.songlib.presentation.navigation.Routes
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel

@Composable
fun SongsList(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home
package com.songlib.presentation.home.view

import androidx.compose.foundation.layout.*
//noinspection UsingMaterialAndMaterial3Libraries
Expand All @@ -8,16 +8,16 @@ import androidx.compose.material.icons.filled.EditNote
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.*
import androidx.compose.ui.window.*
import androidx.navigation.NavHostController
import com.revenuecat.purchases.ui.revenuecatui.*
import com.revenuecat.purchases.ui.revenuecatui.customercenter.CustomerCenter
import com.songlib.domain.entity.UiState
import com.songlib.presentation.components.indicators.*
import com.songlib.presentation.screens.home.tabs.*
import com.songlib.presentation.screens.home.components.*
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel
import com.songlib.presentation.components.indicators.ErrorState
import com.songlib.presentation.home.components.BottomNavBar
import com.songlib.presentation.home.components.HomeNavItem
import com.songlib.presentation.home.view.tabs.HomeLikes
import com.songlib.presentation.home.view.tabs.HomeListings
import com.songlib.presentation.home.view.tabs.HomeSearch
import com.songlib.presentation.navigation.Routes

@OptIn(ExperimentalMaterialApi::class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.tabs
package com.songlib.presentation.home.view.tabs

import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
Expand All @@ -11,9 +11,9 @@ import com.songlib.data.models.Song
import com.songlib.domain.entity.UiState
import com.songlib.presentation.components.action.AppTopBar
import com.songlib.presentation.components.indicators.*
import com.songlib.presentation.home.components.SongsList
import com.songlib.presentation.navigation.Routes
import com.songlib.presentation.screens.home.components.*
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.tabs
package com.songlib.presentation.home.view.tabs

import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
Expand All @@ -9,14 +9,14 @@ import androidx.compose.ui.*
import androidx.compose.ui.window.*
import androidx.navigation.NavHostController
import com.revenuecat.purchases.ui.revenuecatui.*
import com.songlib.presentation.screens.home.components.ListingsList
import com.songlib.presentation.home.components.ListingsList
import com.songlib.data.models.ListingUi
import com.songlib.domain.entity.UiState
import com.songlib.presentation.components.action.*
import com.songlib.presentation.components.general.*
import com.songlib.presentation.components.indicators.*
import com.songlib.presentation.navigation.Routes
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel
import kotlin.collections.plus

@OptIn(ExperimentalMaterial3Api::class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.home.tabs
package com.songlib.presentation.home.view.tabs

import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
Expand All @@ -11,15 +11,17 @@ import androidx.navigation.NavHostController
import com.songlib.domain.entity.UiState
import com.songlib.presentation.components.action.*
import com.songlib.presentation.navigation.Routes
import com.songlib.presentation.viewmodels.HomeViewModel
import com.songlib.presentation.home.HomeViewModel
import androidx.compose.ui.Modifier
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import com.revenuecat.purchases.ui.revenuecatui.Paywall
import com.revenuecat.purchases.ui.revenuecatui.PaywallOptions
import com.songlib.data.models.Song
import com.songlib.presentation.components.indicators.EmptyState
import com.songlib.presentation.screens.home.components.*
import com.songlib.presentation.home.components.DialPad
import com.songlib.presentation.home.components.HomeSearchAppBar
import com.songlib.presentation.home.components.SongsList

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
package com.songlib.presentation.viewmodels
package com.songlib.presentation.listing

import android.util.Log
import androidx.lifecycle.*
import com.songlib.data.models.*
import com.songlib.domain.entity.*
import com.songlib.domain.repository.*
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.songlib.data.models.ListingUi
import com.songlib.data.models.Song
import com.songlib.domain.entity.UiState
import com.songlib.domain.repository.ListingRepo
import com.songlib.domain.repository.SongBookRepo
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import javax.inject.Inject
import kotlin.collections.forEach

@HiltViewModel
class ListingViewModel @Inject constructor(
private val songbkRepo: SongBookRepository,
private val listRepo: ListingRepository,
private val songbkRepo: SongBookRepo,
private val listRepo: ListingRepo,
) : ViewModel() {
private val _uiState: MutableStateFlow<UiState> = MutableStateFlow(UiState.Loading)
val uiState: StateFlow<UiState> = _uiState.asStateFlow()
Expand Down Expand Up @@ -86,4 +91,4 @@ class ListingViewModel @Inject constructor(
}
}

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.listing
package com.songlib.presentation.listing.view

import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.songlib.presentation.screens.listing
package com.songlib.presentation.listing.view

import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
Expand All @@ -13,7 +13,7 @@ import com.songlib.domain.entity.UiState
import com.songlib.presentation.components.action.AppTopBar
import com.songlib.presentation.components.general.*
import com.songlib.presentation.components.indicators.*
import com.songlib.presentation.viewmodels.ListingViewModel
import com.songlib.presentation.listing.ListingViewModel

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand Down
Loading