Add GitHub and F-droid flavors (#59)

This commit is contained in:
Ashinch 2022-05-10 22:38:57 +08:00 committed by GitHub
parent f2571f133e
commit 81fdcb498d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 25 deletions

View File

@ -29,6 +29,16 @@ android {
useSupportLibrary true
}
}
flavorDimensions "channel"
productFlavors {
fdroid {
dimension "channel"
}
github {
dimension "channel"
}
}
signingConfigs {
release {
keyAlias keyProps["keyAlias"]

View File

@ -73,7 +73,9 @@ class App : Application(), Configuration.Provider {
applicationScope.launch(dispatcherDefault) {
accountInit()
workerInit()
checkUpdate()
if (BuildConfig.FLAVOR != "fdroid") {
checkUpdate()
}
}
}

View File

@ -35,7 +35,6 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavHostController
import kotlinx.coroutines.launch
import me.ash.reader.R
import me.ash.reader.ui.component.CurlyCornerShape
import me.ash.reader.ui.component.FeedbackIconButton
@ -118,26 +117,24 @@ fun TipsAndSupport(
onTap = {
if (System.currentTimeMillis() - clickTime > 2000) {
clickTime = System.currentTimeMillis()
context.showToast(context.getString(R.string.checking_updates))
scope.launch {
updateViewModel.dispatch(
UpdateViewAction.CheckUpdate(
{
context.dataStore.put(
DataStoreKeys.SkipVersionNumber,
""
updateViewModel.dispatch(
UpdateViewAction.CheckUpdate(
{
context.showToast(context.getString(R.string.checking_updates))
context.dataStore.put(
DataStoreKeys.SkipVersionNumber,
""
)
},
{
if (!it) {
context.showToast(
context.getString(R.string.is_latest_version)
)
},
{
if (!it) {
context.showToast(
context.getString(R.string.is_latest_version)
)
}
}
)
}
)
}
)
} else {
clickTime = System.currentTimeMillis()
}

View File

@ -5,6 +5,7 @@ import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.launch
import me.ash.reader.BuildConfig
import me.ash.reader.data.repository.AppRepository
import me.ash.reader.data.source.Download
import javax.inject.Inject
@ -32,12 +33,14 @@ class UpdateViewModel @Inject constructor(
preProcessor: suspend () -> Unit = {},
postProcessor: suspend (Boolean) -> Unit = {}
) {
viewModelScope.launch {
preProcessor()
appRepository.checkUpdate().let {
it?.let {
changeUpdateDialogVisible(it)
postProcessor(it)
if (BuildConfig.FLAVOR != "fdroid") {
viewModelScope.launch {
preProcessor()
appRepository.checkUpdate().let {
it?.let {
changeUpdateDialogVisible(it)
postProcessor(it)
}
}
}
}