diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index 94a89ea7b..e85446081 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -175,8 +175,8 @@ class CorePreferences @UiThread constructor(private val context: Context) { get() = config.getBool("ui", "disable_call_recordings_feature", false) @get:WorkerThread - val oneAccountMax: Boolean - get() = config.getBool("ui", "one_account_max", false) + val maxAccountsCount: Int + get() = config.getInt("ui", "max_account", 0) // 0 means no max @get:WorkerThread val hideSettings: Boolean diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt index 8fbda2053..c5ec60294 100644 --- a/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt @@ -171,6 +171,14 @@ class DrawerMenuViewModel @UiThread constructor() : GenericViewModel() { } accounts.postValue(list) - hideAddAccount.postValue(corePreferences.oneAccountMax && list.isNotEmpty()) + val maxAccount = corePreferences.maxAccountsCount + val accountsCount = list.size + val maxAccountsReached = maxAccount > 0 && accountsCount >= maxAccount + if (maxAccountsReached) { + Log.w( + "$TAG Max number of allowed accounts reached [$maxAccount], hiding add account button" + ) + } + hideAddAccount.postValue(maxAccountsReached) } }