Ver código fonte

fixed pager position on start

sirekanian 3 anos atrás
pai
commit
da1406c97c

+ 2 - 1
app/src/main/java/com/sirekanian/spacetime/MainPresenter.kt

@@ -8,6 +8,7 @@ import com.google.accompanist.pager.ExperimentalPagerApi
 import com.sirekanian.spacetime.data.Repository
 import com.sirekanian.spacetime.data.api.ThumbnailApi
 import com.sirekanian.spacetime.ext.app
+import com.sirekanian.spacetime.model.GalleryPage
 import com.sirekanian.spacetime.model.ImagePage
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.launch
@@ -73,7 +74,7 @@ class MainPresenterImpl(
     }
 
     private suspend fun updatePages() {
-        state.pages = repository.getPages()
+        state.pages = repository.getPages().plus(GalleryPage)
     }
 
 }

+ 1 - 1
app/src/main/java/com/sirekanian/spacetime/MainScreen.kt

@@ -21,7 +21,7 @@ fun MainScreen(presenter: MainPresenter) {
     BackHandler(state.pagerState.currentPage > 0) {
         presenter.openPageByIndex(0)
     }
-    val pages = state.pages.plus(GalleryPage)
+    val pages = state.pages
     val insets = WindowInsets.systemBars.asPaddingValues()
     HorizontalPager(
         state = state.pagerState,

+ 2 - 5
app/src/main/java/com/sirekanian/spacetime/MainState.kt

@@ -9,10 +9,7 @@ import com.google.accompanist.pager.PagerState
 import com.sirekanian.spacetime.ext.currentDate
 import com.sirekanian.spacetime.ext.minusMonths
 import com.sirekanian.spacetime.ext.withDayOfMonth
-import com.sirekanian.spacetime.model.Draft
-import com.sirekanian.spacetime.model.EditablePage
-import com.sirekanian.spacetime.model.ImagePage
-import com.sirekanian.spacetime.model.Thumbnail
+import com.sirekanian.spacetime.model.*
 import kotlinx.datetime.LocalDate
 
 class MainState {
@@ -20,7 +17,7 @@ class MainState {
     @OptIn(ExperimentalPagerApi::class)
     val pagerState = PagerState()
     var editablePage by mutableStateOf<EditablePage?>(null)
-    var pages by mutableStateOf(listOf<ImagePage>())
+    var pages by mutableStateOf(listOf<Page>())
     var draft by mutableStateOf<Draft?>(null)
     var thumbnails by mutableStateOf(listOf<Thumbnail>())
     val nextDate: LocalDate by derivedStateOf {