diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt index f04c95635..027b4d426 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt @@ -73,7 +73,6 @@ import org.mariotaku.twidere.model.ParcelableCredentials.AuthType import org.mariotaku.twidere.model.util.ParcelableAccountUtils import org.mariotaku.twidere.model.util.ParcelableUserUtils import org.mariotaku.twidere.model.util.UserKeyUtils -import org.mariotaku.twidere.provider.TwidereDataStore import org.mariotaku.twidere.provider.TwidereDataStore.Accounts import org.mariotaku.twidere.util.* import org.mariotaku.twidere.util.OAuthPasswordAuthenticator.* @@ -378,16 +377,16 @@ class SignInActivity : BaseActivity(), OnClickListener, TextWatcher { if (values != null) { val where = Expression.equalsArgs(Accounts.ACCOUNT_KEY).sql val whereArgs = arrayOf(values.getAsString(Accounts.ACCOUNT_KEY)) - contentResolver!!.update(Accounts.CONTENT_URI, values, where, whereArgs) + contentResolver.update(Accounts.CONTENT_URI, values, where, whereArgs) } Toast.makeText(this, R.string.error_already_logged_in, Toast.LENGTH_SHORT).show() } else if (result.succeed) { val values = result.toContentValues() if (values != null) { - contentResolver!!.insert(Accounts.CONTENT_URI, values) + contentResolver.insert(Accounts.CONTENT_URI, values) } val intent = Intent(this, HomeActivity::class.java) - //TODO refresh timelines + //TODO refresh time lines intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) startActivity(intent) finish() @@ -433,13 +432,12 @@ class SignInActivity : BaseActivity(), OnClickListener, TextWatcher { internal fun showSignInProgressDialog() { executeAfterFragmentResumed { - if (isFinishing) return@executeAfterFragmentResumed Unit + if (isFinishing) return@executeAfterFragmentResumed val fm = supportFragmentManager val ft = fm.beginTransaction() val fragment = ProgressDialogFragment() fragment.isCancelable = false fragment.show(ft, FRAGMENT_TAG_SIGN_IN_PROGRESS) - Unit } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt index 99d26b8b1..e7f3e70b1 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt @@ -113,6 +113,15 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec } } + private val onScrollListener = object : OnScrollListener() { + override fun onScrollStateChanged(recyclerView: RecyclerView?, newState: Int) { + if (newState == RecyclerView.SCROLL_STATE_IDLE) { + val layoutManager = layoutManager ?: return + saveReadPosition(layoutManager.findFirstVisibleItemPosition()) + } + } + } + private var navigationHelper: RecyclerViewNavigationHelper? = null private var pauseOnScrollListener: OnScrollListener? = null private var activeHotMobiScrollTracker: OnScrollListener? = null @@ -373,6 +382,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec override fun onStart() { super.onStart() + recyclerView.addOnScrollListener(onScrollListener) recyclerView.addOnScrollListener(pauseOnScrollListener) val task = object : AbstractTask() { public override fun doLongOperation(params: Any?): Boolean { @@ -403,6 +413,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec } activeHotMobiScrollTracker = null recyclerView.removeOnScrollListener(pauseOnScrollListener) + recyclerView.removeOnScrollListener(onScrollListener) if (userVisibleHint) { saveReadPosition() } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt index 1f62293e2..37cc5b55d 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt @@ -117,8 +117,8 @@ abstract class AbsStatusesFragment protected constructor() : private val onScrollListener = object : OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView?, newState: Int) { if (newState == RecyclerView.SCROLL_STATE_IDLE) { - val layoutManager = layoutManager - saveReadPosition(layoutManager!!.findFirstVisibleItemPosition()) + val layoutManager = layoutManager ?: return + saveReadPosition(layoutManager.findFirstVisibleItemPosition()) } } }