mirror of
https://github.com/n08i40k/polytechnic-android.git
synced 2025-12-06 09:47:48 +03:00
2.0.3
Фикс запуска постоянного уведомления. Предотвращение запуска фоновых задач до прохождения авторизации. Обновление библиотек.
This commit is contained in:
@@ -33,8 +33,8 @@ android {
|
||||
applicationId = "ru.n08i40k.polytechnic.next"
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
versionCode = 18
|
||||
versionName = "2.0.2"
|
||||
versionCode = 19
|
||||
versionName = "2.0.3"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
|
||||
@@ -102,7 +102,7 @@ class CurrentLessonViewService : Service() {
|
||||
}
|
||||
|
||||
val firstLessonIdx =
|
||||
day!!.distanceToNextByLocalDateTime(LocalDateTime(0, 0, 0, 0, 0))?.first
|
||||
day!!.distanceToNextByLocalDateTime(LocalDateTime(1, 1, 1, 0, 0))?.first
|
||||
?: throw NullPointerException("Is this even real?")
|
||||
val distanceToFirst = day!!.lessons[firstLessonIdx]!!.time!!.start.dayMinutes - currentMinutes
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package ru.n08i40k.polytechnic.next.ui
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import ru.n08i40k.polytechnic.next.settings.settingsDataStore
|
||||
import ru.n08i40k.polytechnic.next.ui.auth.AuthScreen
|
||||
import ru.n08i40k.polytechnic.next.ui.main.MainScreen
|
||||
import ru.n08i40k.polytechnic.next.ui.theme.AppTheme
|
||||
@@ -15,10 +20,15 @@ import ru.n08i40k.polytechnic.next.ui.theme.AppTheme
|
||||
fun PolytechnicApp() {
|
||||
AppTheme(darkTheme = true, content = {
|
||||
val navController = rememberNavController()
|
||||
val context = LocalContext.current
|
||||
|
||||
val accessToken = runBlocking {
|
||||
context.settingsDataStore.data.map { it.accessToken }.first()
|
||||
}
|
||||
|
||||
NavHost(
|
||||
navController = navController,
|
||||
startDestination = "auth"
|
||||
startDestination = if (accessToken.isEmpty()) "auth" else "main"
|
||||
) {
|
||||
composable(route = "auth") {
|
||||
AuthScreen(navController)
|
||||
|
||||
@@ -47,7 +47,6 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.IntOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.content.ContextCompat.startActivity
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
@@ -134,7 +133,7 @@ private fun NavHostContainer(
|
||||
}
|
||||
|
||||
private fun openLink(context: Context, link: String) {
|
||||
startActivity(context, Intent(Intent.ACTION_VIEW, Uri.parse(link)), null)
|
||||
context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(link)), null)
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
||||
@@ -3,12 +3,21 @@ package ru.n08i40k.polytechnic.next.work
|
||||
import android.content.Context
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import ru.n08i40k.polytechnic.next.PolytechnicApplication
|
||||
import ru.n08i40k.polytechnic.next.settings.settingsDataStore
|
||||
|
||||
class LinkUpdateWorker(context: Context, params: WorkerParameters) :
|
||||
Worker(context, params) {
|
||||
override fun doWork(): Result {
|
||||
val accessToken = runBlocking {
|
||||
applicationContext.settingsDataStore.data.map { it.accessToken }.first()
|
||||
}
|
||||
if (accessToken.isEmpty())
|
||||
return Result.retry()
|
||||
|
||||
runBlocking {
|
||||
(applicationContext as PolytechnicApplication)
|
||||
.container
|
||||
|
||||
Reference in New Issue
Block a user