Skip to content

Commit 0a96203

Browse files
committed
Code review
1 parent 7cbbfbd commit 0a96203

File tree

9 files changed

+21
-104
lines changed

9 files changed

+21
-104
lines changed

app/src/main/java/com/infomaniak/mail/ui/bottomSheetDialogs/AccountBottomSheetDialog.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import com.infomaniak.mail.ui.main.user.SwitchUserAdapter
3636
import com.infomaniak.mail.ui.main.user.SwitchUserViewModel
3737
import com.infomaniak.mail.utils.AccountUtils
3838
import com.infomaniak.mail.utils.LogoutUser
39+
import com.infomaniak.mail.utils.extensions.bindAlertToViewLifecycle
3940
import com.infomaniak.mail.utils.extensions.launchLoginActivity
4041
import dagger.hilt.android.AndroidEntryPoint
4142
import kotlinx.coroutines.CoroutineDispatcher
@@ -84,8 +85,9 @@ class AccountBottomSheetDialog : BottomSheetDialogFragment() {
8485
context.trackAccountEvent("add")
8586
context.launchLoginActivity()
8687
}
87-
8888
observeAccounts()
89+
90+
bindAlertToViewLifecycle(descriptionDialog)
8991
}
9092

9193
private fun logoutCurrentUser() = lifecycleScope.launch(ioDispatcher) {

app/src/main/java/com/infomaniak/mail/ui/main/menuDrawer/MenuDrawerAdapter.kt

+7-7
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
9090
add(MailboxesHeader(currentMailbox, otherMailboxes.isNotEmpty(), areMailboxesExpanded))
9191
if (areMailboxesExpanded) {
9292
addAll(otherMailboxes)
93-
add(ItemType.ADD_MAILBOX)
93+
add(ADD_MAILBOX_ACTION)
9494
}
9595
}
9696

@@ -169,7 +169,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
169169
ItemType.DIVIDER -> ItemType.DIVIDER.ordinal
170170
is MailboxesHeader -> ItemType.MAILBOXES_HEADER.ordinal
171171
is Mailbox -> if (item.isValid) ItemType.MAILBOX.ordinal else ItemType.INVALID_MAILBOX.ordinal
172-
ItemType.ADD_MAILBOX -> ItemType.ADD_MAILBOX.ordinal
173172
ItemType.FOLDERS_HEADER -> ItemType.FOLDERS_HEADER.ordinal
174173
is Folder -> ItemType.FOLDER.ordinal
175174
ItemType.EMPTY_FOLDERS -> ItemType.EMPTY_FOLDERS.ordinal
@@ -188,7 +187,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
188187
ItemType.MAILBOXES_HEADER.ordinal -> MailboxesHeaderViewHolder(inflater, parent)
189188
ItemType.MAILBOX.ordinal -> MailboxViewHolder(inflater, parent)
190189
ItemType.INVALID_MAILBOX.ordinal -> InvalidMailboxViewHolder(inflater, parent)
191-
ItemType.ADD_MAILBOX.ordinal -> AddMailboxViewHolder(inflater, parent)
192190
ItemType.FOLDERS_HEADER.ordinal -> FoldersHeaderViewHolder(inflater, parent)
193191
ItemType.FOLDER.ordinal -> FolderViewHolder(inflater, parent)
194192
ItemType.EMPTY_FOLDERS.ordinal -> EmptyFoldersViewHolder(inflater, parent)
@@ -224,7 +222,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
224222
onLockedMailboxClicked = callbacks.onLockedMailboxClicked,
225223
onInvalidPasswordMailboxClicked = callbacks.onInvalidPasswordMailboxClicked,
226224
)
227-
is AddMailboxViewHolder -> holder.setOnClickListener(callbacks.onAddMailBoxClicked)
228225
is FoldersHeaderViewHolder -> holder.displayFoldersHeader(
229226
onFoldersHeaderClicked = callbacks.onFoldersHeaderClicked,
230227
onCreateFolderClicked = callbacks.onCreateFolderClicked,
@@ -259,7 +256,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
259256
MAILBOXES_HEADER,
260257
MAILBOX,
261258
INVALID_MAILBOX,
262-
ADD_MAILBOX,
263259
FOLDERS_HEADER,
264260
FOLDER,
265261
EMPTY_FOLDERS,
@@ -279,7 +275,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
279275
ItemType.DIVIDER -> newItem == ItemType.DIVIDER
280276
is MailboxesHeader -> newItem is MailboxesHeader && newItem.mailbox?.objectId == oldItem.mailbox?.objectId
281277
is Mailbox -> newItem is Mailbox && newItem.objectId == oldItem.objectId
282-
ItemType.ADD_MAILBOX -> newItem == ItemType.ADD_MAILBOX
283278
ItemType.FOLDERS_HEADER -> newItem == ItemType.FOLDERS_HEADER
284279
is Folder -> newItem is Folder && newItem.id == oldItem.id
285280
ItemType.EMPTY_FOLDERS -> newItem == ItemType.EMPTY_FOLDERS
@@ -309,7 +304,6 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
309304
ItemType.FOLDERS_HEADER,
310305
ItemType.EMPTY_FOLDERS,
311306
ItemType.ACTIONS_HEADER,
312-
ItemType.ADD_MAILBOX,
313307
is MenuDrawerAction -> true
314308
else -> error("oldItem wasn't any known item type (in MenuDrawer `areContentsTheSame`)")
315309
}
@@ -325,6 +319,12 @@ class MenuDrawerAdapter @Inject constructor() : ListAdapter<Any, MenuDrawerViewH
325319
}
326320

327321
companion object {
322+
private val ADD_MAILBOX_ACTION = MenuDrawerAction(
323+
type = ActionType.ADD_MAILBOX,
324+
icon = R.drawable.ic_add_circle_thin,
325+
text = R.string.buttonAddExistingAddress,
326+
maxLines = 1,
327+
)
328328
private val SYNC_AUTO_CONFIG_ACTION = MenuDrawerAction(
329329
type = ActionType.SYNC_AUTO_CONFIG,
330330
icon = R.drawable.ic_synchronize,

app/src/main/java/com/infomaniak/mail/ui/main/menuDrawer/MenuDrawerAdapterCallbacks.kt

-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ interface MenuDrawerAdapterCallbacks {
2424

2525
var onMailboxesHeaderClicked: () -> Unit
2626

27-
var onAddMailBoxClicked: () -> Unit
28-
2927
var onValidMailboxClicked: (Int) -> Unit
3028
var onLockedMailboxClicked: (String) -> Unit
3129
var onInvalidPasswordMailboxClicked: (Mailbox) -> Unit

app/src/main/java/com/infomaniak/mail/ui/main/menuDrawer/MenuDrawerFragment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ class MenuDrawerFragment : Fragment() {
125125
callbacks = object : MenuDrawerAdapterCallbacks {
126126
override var onMailboxesHeaderClicked: () -> Unit = ::onMailboxesHeaderClicked
127127
override var onValidMailboxClicked: (Int) -> Unit = ::onValidMailboxClicked
128-
override var onAddMailBoxClicked: () -> Unit = ::onAddMailboxClicked
129128
override var onLockedMailboxClicked: (String) -> Unit = ::onLockedMailboxClicked
130129
override var onInvalidPasswordMailboxClicked: (Mailbox) -> Unit = ::onInvalidPasswordMailboxClicked
131130
override var onFoldersHeaderClicked: (Boolean) -> Unit = ::onFoldersHeaderClicked
@@ -213,6 +212,7 @@ class MenuDrawerFragment : Fragment() {
213212

214213
private fun onActionClicked(type: ActionType) {
215214
when (type) {
215+
ActionType.ADD_MAILBOX -> onAddMailboxClicked()
216216
ActionType.SYNC_AUTO_CONFIG -> onSyncAutoConfigClicked()
217217
ActionType.IMPORT_MAILS -> onImportMailsClicked()
218218
ActionType.RESTORE_MAILS -> onRestoreMailsClicked()

app/src/main/java/com/infomaniak/mail/ui/main/menuDrawer/items/ActionViewHolder.kt

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class ActionViewHolder(
5656
) {
5757

5858
enum class ActionType {
59+
ADD_MAILBOX,
5960
SYNC_AUTO_CONFIG,
6061
IMPORT_MAILS,
6162
RESTORE_MAILS,

app/src/main/java/com/infomaniak/mail/ui/main/menuDrawer/items/AddMailboxViewHolder.kt

-32
This file was deleted.

app/src/main/java/com/infomaniak/mail/ui/main/settings/privacy/AccountManagementSettingsFragment.kt

+8-14
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import com.infomaniak.lib.core.ui.WebViewActivity
2929
import com.infomaniak.lib.core.utils.safeBinding
3030
import com.infomaniak.mail.databinding.FragmentAccountManagementSettingsBinding
3131
import com.infomaniak.mail.utils.AccountUtils
32-
import com.infomaniak.mail.utils.UiUtils.saveFocusWhenNavigatingBack
3332
import com.infomaniak.mail.utils.extensions.setSystemBarsColors
3433
import dagger.hilt.android.AndroidEntryPoint
3534

@@ -38,23 +37,25 @@ class AccountManagementSettingsFragment : Fragment() {
3837

3938
private var binding: FragmentAccountManagementSettingsBinding by safeBinding()
4039

41-
override fun onCreate(savedInstanceState: Bundle?) {
42-
super.onCreate(savedInstanceState)
43-
saveFocusWhenNavigatingBack(getLayout = { binding.container }, lifecycle)
44-
}
45-
4640
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
4741
return FragmentAccountManagementSettingsBinding.inflate(inflater, container, false).also { binding = it }.root
4842
}
4943

50-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) {
44+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
5145
super.onViewCreated(view, savedInstanceState)
5246
setSystemBarsColors()
5347

5448
setUi()
5549
setDeleteAccountClickListener()
5650
}
5751

52+
private fun setUi() = with(binding) {
53+
AccountUtils.currentUser?.let {
54+
username.text = it.displayName
55+
email.text = it.email
56+
}
57+
}
58+
5859
private fun setDeleteAccountClickListener() = with(binding) {
5960
deleteAccountButton.setOnClickListener {
6061
WebViewActivity.startActivity(
@@ -65,13 +66,6 @@ class AccountManagementSettingsFragment : Fragment() {
6566
}
6667
}
6768

68-
private fun setUi() = with(binding) {
69-
AccountUtils.currentUser?.let {
70-
username.text = it.displayName
71-
email.text = it.email
72-
}
73-
}
74-
7569
companion object {
7670
private const val TERMINATE_ACCOUNT_FULL_URL = "$AUTOLOG_URL/?url=$TERMINATE_ACCOUNT_URL"
7771
}

app/src/main/res/layout/fragment_attach_mailbox.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
android:layout_width="match_parent"
2222
android:layout_height="match_parent"
2323
app:title="@string/buttonAddEmailAddress"
24-
tools:context="com.infomaniak.mail.ui.main.user.AttachMailboxFragment">
24+
tools:context=".ui.main.user.AttachMailboxFragment">
2525

2626
<androidx.core.widget.NestedScrollView
2727
android:layout_width="match_parent"

app/src/main/res/layout/item_menu_drawer_add_mailbox.xml

-46
This file was deleted.

0 commit comments

Comments
 (0)