diff options
author | Allan Wang <me@allanwang.ca> | 2018-09-26 14:56:44 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-26 14:56:44 -0400 |
commit | 438affb07ae106e490884fafa3c2dd825e7649a4 (patch) | |
tree | b94e182bf4d083af049120a6b5f94f82c4595318 /app/src/main/kotlin/com/pitchedapps/frost/activities | |
parent | c5e769deabeb80d7257b85c5c3d802cf46e6b191 (diff) | |
download | frost-438affb07ae106e490884fafa3c2dd825e7649a4.tar.gz frost-438affb07ae106e490884fafa3c2dd825e7649a4.tar.bz2 frost-438affb07ae106e490884fafa3c2dd825e7649a4.zip |
Cleanup (#1087)
* Feature/download manager (#855)
* Add initial github release check
* Create update service
* Clean old manager directory
* Update kau
* Update updateActivity snippet
* Add back gradle keys
* Remove update service functionality
* Update changelog
* Misc (#865)
* Clean up git code
* Update download link
* Update theme
* Reorder settings, resolvees #856
* Do not log undeliverable exception
* Handle potential lack of webview
* Set notification epoch default to now, resolves #857
* Fix notification epoch time init
* Update changelog
* Update theme
* Add slack url, resolves #880
* Prepare for image update
* Fix view full image (#882)
* Test including full photo viewer
* Test cookie in glide
* Fix parser and add redirects to view full image
* Update changelog
* Fix compilation and add new keys
* Update all versions
* Fix signing configs
* Fix exoplayer api update
* Change string usage
* Test scss on travis
* Test with node_js flag
* Add back css
* Update versions and fix video view
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities')
5 files changed, 24 insertions, 7 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt index 267a07a2..08728ae4 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt @@ -6,6 +6,9 @@ import ca.allanwang.kau.internal.KauBaseActivity import ca.allanwang.kau.searchview.SearchViewHolder import com.pitchedapps.frost.contracts.VideoViewHolder import com.pitchedapps.frost.utils.setFrostTheme +import io.reactivex.disposables.CompositeDisposable +import io.reactivex.disposables.Disposable +import io.reactivex.rxkotlin.addTo /** * Created by Allan Wang on 2017-06-12. @@ -17,6 +20,8 @@ abstract class BaseActivity : KauBaseActivity() { */ protected open fun backConsumer(): Boolean = false + private val compositeDisposable = CompositeDisposable() + final override fun onBackPressed() { if (this is SearchViewHolder && searchViewOnBackPress()) return if (this is VideoViewHolder && videoOnBackPress()) return @@ -29,7 +34,16 @@ abstract class BaseActivity : KauBaseActivity() { if (this !is WebOverlayActivityBase) setFrostTheme() } -// + override fun onDestroy() { + compositeDisposable.dispose() + super.onDestroy() + } + + fun Disposable.disposeOnDestroy() { + compositeDisposable.add(this) + } + + // // private var networkDisposable: Disposable? = null // private var networkConsumer: ((Connectivity) -> Unit)? = null // diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt index 0cd7dacd..db49d994 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt @@ -138,15 +138,15 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract, shouldShow = false fab.backgroundTintList = ColorStateList.valueOf(Prefs.headerColor.withMinAlpha(200)) fab.hide() - appBar.addOnOffsetChangedListener { appBarLayout, verticalOffset -> - if (!hasFab) return@addOnOffsetChangedListener + appBar.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset -> + if (!hasFab) return@OnOffsetChangedListener val percent = Math.abs(verticalOffset.toFloat() / appBarLayout.totalScrollRange) val shouldShow = percent < 0.2 if (this.shouldShow != shouldShow) { this.shouldShow = shouldShow fab.showIf(shouldShow) } - } + }) } override fun showFab(iicon: IIcon, clickEvent: () -> Unit) { diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt index dd0649b3..b5e2119f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt @@ -103,7 +103,7 @@ class LoginActivity : BaseActivity() { launchNewTask<MainActivity>(cookies, true) }, 1000) } - } + }.disposeOnDestroy() loadProfile(cookie.id) loadUsername(cookie) } @@ -126,7 +126,7 @@ class LoginActivity : BaseActivity() { } private fun loadUsername(cookie: CookieModel) { - cookie.fetchUsername(usernameSubject::onSuccess) + cookie.fetchUsername(usernameSubject::onSuccess).disposeOnDestroy() } override fun backConsumer(): Boolean { 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 d153b5d9..77ca37f3 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt @@ -6,6 +6,8 @@ import android.support.v4.view.ViewPager import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.views.BadgedIcon import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.disposables.CompositeDisposable +import io.reactivex.rxkotlin.addTo import io.reactivex.schedulers.Schedulers import io.reactivex.subjects.PublishSubject import org.jsoup.Jsoup @@ -83,7 +85,7 @@ class MainActivity : BaseMainActivity() { FbItem.NOTIFICATIONS.icon -> view.badgeText = notifications } } - } + }.disposeOnDestroy() adapter.pages.forEach { tabs.addTab(tabs.newTab() .setCustomView(BadgedIcon(this).apply { iicon = it.icon })) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt index ec8f11ff..3081c463 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt @@ -158,6 +158,7 @@ open class WebOverlayActivityBase(private val forceBasicAgent: Boolean) : BaseAc content.titleObservable .observeOn(AndroidSchedulers.mainThread()) .subscribe { toolbar.title = it } + .disposeOnDestroy() with(web) { if (forceBasicAgent) //todo check; the webview already adds it dynamically |