From 2df06d492821ced75eae1abfda2bd2526f9cab5f Mon Sep 17 00:00:00 2001 From: Matthieu <24-artectrex@users.noreply.shinice.net> Date: Sat, 25 Sep 2021 21:24:31 +0200 Subject: [PATCH] Use complete user id (with instance) --- .../main/java/org/pixeldroid/app/MainActivity.kt | 15 ++++++++------- .../org/pixeldroid/app/utils/db/dao/UserDao.kt | 10 ++++------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/pixeldroid/app/MainActivity.kt b/app/src/main/java/org/pixeldroid/app/MainActivity.kt index 62444f56..40c83c9b 100644 --- a/app/src/main/java/org/pixeldroid/app/MainActivity.kt +++ b/app/src/main/java/org/pixeldroid/app/MainActivity.kt @@ -125,7 +125,7 @@ class MainActivity : BaseActivity() { || instanceOfNotification != user?.instance_uri) ) { - switchUser(userOfNotification) + switchUser(userOfNotification, instanceOfNotification) val newIntent = Intent(this, MainActivity::class.java) newIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK @@ -165,14 +165,14 @@ class MainActivity : BaseActivity() { DrawerImageLoader.init(object : AbstractDrawerImageLoader() { override fun set(imageView: ImageView, uri: Uri, placeholder: Drawable, tag: String?) { - Glide.with(imageView.context) + Glide.with(this@MainActivity) .load(uri) .placeholder(placeholder) .into(imageView) } override fun cancel(imageView: ImageView) { - Glide.with(imageView.context).clear(imageView) + Glide.with(this@MainActivity).clear(imageView) } override fun placeholder(ctx: Context, tag: String?): Drawable { @@ -227,7 +227,7 @@ class MainActivity : BaseActivity() { launchActivity(LoginActivity(), firstTime = true) } else { val newActive = remainingUsers.first() - db.userDao().activateUser(newActive.user_id) + db.userDao().activateUser(newActive.user_id, newActive.instance_uri) apiHolder.setToCurrentUser() //relaunch the app launchActivity(MainActivity(), firstTime = true) @@ -270,7 +270,7 @@ class MainActivity : BaseActivity() { return false } - switchUser(profile.identifier.toString()) + switchUser(profile.identifier.toString(), profile.tag as String) val intent = Intent(this, MainActivity::class.java) intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK @@ -281,9 +281,9 @@ class MainActivity : BaseActivity() { return false } - private fun switchUser(userId: String) { + private fun switchUser(userId: String, instance_uri: String) { db.userDao().deActivateActiveUsers() - db.userDao().activateUser(userId) + db.userDao().activateUser(userId, instance_uri) apiHolder.setToCurrentUser() } @@ -313,6 +313,7 @@ class MainActivity : BaseActivity() { isNameShown = true identifier = user.user_id.toLong() descriptionText = user.fullHandle + tag = user.instance_uri } }.toMutableList() diff --git a/app/src/main/java/org/pixeldroid/app/utils/db/dao/UserDao.kt b/app/src/main/java/org/pixeldroid/app/utils/db/dao/UserDao.kt index 1d0c37a1..42c0a793 100644 --- a/app/src/main/java/org/pixeldroid/app/utils/db/dao/UserDao.kt +++ b/app/src/main/java/org/pixeldroid/app/utils/db/dao/UserDao.kt @@ -33,14 +33,12 @@ interface UserDao { @Query("UPDATE users SET isActive=0") fun deActivateActiveUsers() - //TODO also check instance_uri - @Query("UPDATE users SET isActive=1 WHERE user_id=:id") - fun activateUser(id: String) + @Query("UPDATE users SET isActive=1 WHERE user_id=:id AND instance_uri=:instance_uri") + fun activateUser(id: String, instance_uri: String) @Query("DELETE FROM users WHERE isActive=1") fun deleteActiveUsers() - //TODO also check instance_uri - @Query("SELECT * FROM users WHERE user_id=:id LIMIT 1") - fun getUserWithId(id: String): UserDatabaseEntity + @Query("SELECT * FROM users WHERE user_id=:id AND instance_uri=:instance_uri LIMIT 1") + fun getUserWithId(id: String, instance_uri: String): UserDatabaseEntity } \ No newline at end of file