diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountHelper.kt index 1e2797e3..8fb3f065 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountHelper.kt @@ -68,7 +68,7 @@ object AccountHelper { DataStoreHelper.accounts = currentAccounts.toTypedArray() // Update UI - setAccount(getDefaultAccount(context), true) + setAccount(getDefaultAccount(context)) callback.invoke(null) dialog?.dismissSafe() } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt index 9ca53cce..41d9dd7a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountSelectActivity.kt @@ -17,7 +17,6 @@ import com.lagradost.cloudstream3.ui.AutofitRecyclerView import com.lagradost.cloudstream3.ui.account.AccountAdapter.Companion.VIEW_TYPE_EDIT_ACCOUNT import com.lagradost.cloudstream3.ui.account.AccountAdapter.Companion.VIEW_TYPE_SELECT_ACCOUNT import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings -import com.lagradost.cloudstream3.utils.DataStoreHelper import com.lagradost.cloudstream3.utils.DataStoreHelper.getAccounts import com.lagradost.cloudstream3.utils.DataStoreHelper.setAccount import com.lagradost.cloudstream3.utils.UIHelper.colorFromAttribute @@ -80,7 +79,7 @@ class AccountSelectActivity : AppCompatActivity() { // We came from MainActivity, return there // and switch to the edited account if (isEditingFromMainActivity) { - setAccount(it, it.keyIndex != DataStoreHelper.selectedKeyIndex) + setAccount(it) navigateToMainActivity() } }, diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt index c65baa85..9380211f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/account/AccountViewModel.kt @@ -53,7 +53,7 @@ class AccountViewModel : ViewModel() { val currentHomePage = DataStoreHelper.currentHomePage - setAccount(account, false) + setAccount(account) DataStoreHelper.currentHomePage = currentHomePage DataStoreHelper.accounts = currentAccounts.toTypedArray() @@ -78,13 +78,13 @@ class AccountViewModel : ViewModel() { // Pin is correct, proceed _isAllowedLogin.postValue(true) _selectedKeyIndex.postValue(account.keyIndex) - setAccount(account, true) + setAccount(account) } } else { // No PIN set for the selected account, proceed _isAllowedLogin.postValue(true) _selectedKeyIndex.postValue(account.keyIndex) - setAccount(account, true) + setAccount(account) } } } \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt index c747f2a4..6babe273 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt @@ -149,12 +149,16 @@ object DataStoreHelper { } } - fun setAccount(account: Account, refreshHomePage: Boolean) { + fun setAccount(account: Account) { + val homepage = currentHomePage + selectedKeyIndex = account.keyIndex showToast(context?.getString(R.string.logged_account, account.name) ?: account.name) MainActivity.bookmarksUpdatedEvent(true) MainActivity.reloadLibraryEvent(true) - if (refreshHomePage) { + val oldAccount = accounts.find { it.keyIndex == account.keyIndex } + if (oldAccount != null && currentHomePage != homepage) { + // This is not a new account, and the homepage has changed, reload it MainActivity.reloadHomeEvent(true) } }