aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2018-12-28 20:19:18 -0500
committerAllan Wang <me@allanwang.ca>2018-12-28 20:19:18 -0500
commite5e83736d3feff8ac9cc4ae38fad0fa827a6b21d (patch)
tree248e2886613e6eb30ae2e4a1196da2a484371aee /app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
parentc970d707105bbb614a630a1ac7340d6044e8fee1 (diff)
downloadfrost-e5e83736d3feff8ac9cc4ae38fad0fa827a6b21d.tar.gz
frost-e5e83736d3feff8ac9cc4ae38fad0fa827a6b21d.tar.bz2
frost-e5e83736d3feff8ac9cc4ae38fad0fa827a6b21d.zip
Switch remaining primary observables
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt16
1 files changed, 10 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
index d03c6496..cc375800 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
@@ -24,12 +24,15 @@ import com.pitchedapps.frost.views.BadgedIcon
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import io.reactivex.subjects.PublishSubject
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.channels.BroadcastChannel
import org.jsoup.Jsoup
import java.util.concurrent.TimeUnit
+@UseExperimental(ExperimentalCoroutinesApi::class)
class MainActivity : BaseMainActivity() {
- override val fragmentSubject = PublishSubject.create<Int>()
+ override val fragmentChannel = BroadcastChannel<Int>(10)
var lastPosition = -1
val headerBadgeObservable = PublishSubject.create<String>()
@@ -43,8 +46,8 @@ class MainActivity : BaseMainActivity() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
if (lastPosition == position) return
- if (lastPosition != -1) fragmentSubject.onNext(-(lastPosition + 1))
- fragmentSubject.onNext(position)
+ if (lastPosition != -1) fragmentChannel.offer(-(lastPosition + 1))
+ fragmentChannel.offer(position)
lastPosition = position
}
@@ -62,7 +65,7 @@ class MainActivity : BaseMainActivity() {
}
}
})
- viewPager.post { fragmentSubject.onNext(0); lastPosition = 0 } //trigger hook so title is set
+ viewPager.post { fragmentChannel.offer(0); lastPosition = 0 } //trigger hook so title is set
}
private fun setupTabs() {
@@ -101,8 +104,9 @@ class MainActivity : BaseMainActivity() {
}
}.disposeOnDestroy()
adapter.pages.forEach {
- tabs.addTab(tabs.newTab()
- .setCustomView(BadgedIcon(this).apply { iicon = it.icon })
+ tabs.addTab(
+ tabs.newTab()
+ .setCustomView(BadgedIcon(this).apply { iicon = it.icon })
)
}
}