Skip to content

Commit edfbb9d

Browse files
Move AttachmentExt to extensions package
1 parent 854245e commit edfbb9d

File tree

9 files changed

+25
-22
lines changed

9 files changed

+25
-22
lines changed

app/src/main/java/com/infomaniak/mail/ui/main/folder/TwoPaneFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import com.infomaniak.mail.ui.MainViewModel
3636
import com.infomaniak.mail.ui.main.NoAnimSlidingPaneLayout
3737
import com.infomaniak.mail.ui.main.search.SearchFragment
3838
import com.infomaniak.mail.ui.main.thread.ThreadFragment
39-
import com.infomaniak.mail.utils.AttachmentIntentUtils
39+
import com.infomaniak.mail.utils.extensions.AttachmentExt
4040
import com.infomaniak.mail.utils.UiUtils.FULLY_SLID
4141
import com.infomaniak.mail.utils.UiUtils.progressivelyColorSystemBars
4242
import com.infomaniak.mail.utils.safeNavigateToNewMessageActivity
@@ -142,7 +142,7 @@ abstract class TwoPaneFragment : Fragment() {
142142
}
143143

144144
private fun observeThreadNavigation() = with(twoPaneViewModel) {
145-
getBackNavigationResult(AttachmentIntentUtils.DOWNLOAD_ATTACHMENT_RESULT, ::startActivity)
145+
getBackNavigationResult(AttachmentExt.DOWNLOAD_ATTACHMENT_RESULT, ::startActivity)
146146

147147
newMessageArgs.observe(viewLifecycleOwner) {
148148
safeNavigateToNewMessageActivity(args = it.toBundle())

app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import com.infomaniak.mail.data.models.message.Message
4848
import com.infomaniak.mail.databinding.ItemMessageBinding
4949
import com.infomaniak.mail.ui.main.thread.ThreadAdapter.MessageViewHolder
5050
import com.infomaniak.mail.utils.*
51-
import com.infomaniak.mail.utils.AttachmentIntentUtils.AttachmentIntentType
51+
import com.infomaniak.mail.utils.extensions.AttachmentExt.AttachmentIntentType
5252
import com.infomaniak.mail.utils.MailDateFormatUtils.mailFormattedDate
5353
import com.infomaniak.mail.utils.MailDateFormatUtils.mostDetailedDate
5454
import com.infomaniak.mail.utils.SharedUtils.Companion.createHtmlForPlainText

app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ import com.infomaniak.mail.ui.main.thread.actions.ReplyBottomSheetDialogArgs
7474
import com.infomaniak.mail.ui.main.thread.actions.ThreadActionsBottomSheetDialogArgs
7575
import com.infomaniak.mail.ui.main.thread.calendar.AttendeesBottomSheetDialogArgs
7676
import com.infomaniak.mail.utils.*
77-
import com.infomaniak.mail.utils.AttachmentIntentUtils.openAttachment
77+
import com.infomaniak.mail.utils.extensions.AttachmentExt.openAttachment
7878
import com.infomaniak.mail.utils.ExternalUtils.findExternalRecipients
7979
import com.infomaniak.mail.utils.UiUtils.dividerDrawable
8080
import com.infomaniak.mail.utils.extensions.*

app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/AttachmentActionsBottomSheetDialog.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ import com.infomaniak.mail.data.models.Attachment
3131
import com.infomaniak.mail.databinding.BottomSheetAttachmentActionsBinding
3232
import com.infomaniak.mail.ui.MainViewModel
3333
import com.infomaniak.mail.ui.main.SnackbarManager
34-
import com.infomaniak.mail.utils.AttachmentIntentUtils.AttachmentIntentType
35-
import com.infomaniak.mail.utils.AttachmentIntentUtils.executeIntent
36-
import com.infomaniak.mail.utils.AttachmentIntentUtils.openAttachment
34+
import com.infomaniak.mail.utils.extensions.AttachmentExt.AttachmentIntentType
35+
import com.infomaniak.mail.utils.extensions.AttachmentExt.executeIntent
36+
import com.infomaniak.mail.utils.extensions.AttachmentExt.openAttachment
3737
import com.infomaniak.mail.utils.PermissionUtils
3838
import com.infomaniak.mail.utils.navigateToDownloadProgressDialog
3939
import dagger.hilt.android.AndroidEntryPoint

app/src/main/java/com/infomaniak/mail/ui/main/thread/actions/DownloadAttachmentProgressDialog.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ import com.infomaniak.lib.core.utils.SnackbarUtils.showSnackbar
3232
import com.infomaniak.lib.core.utils.setBackNavigationResult
3333
import com.infomaniak.mail.databinding.DialogDownloadProgressBinding
3434
import com.infomaniak.mail.ui.MainViewModel
35-
import com.infomaniak.mail.utils.AttachmentIntentUtils
36-
import com.infomaniak.mail.utils.AttachmentIntentUtils.getIntentOrGoToPlaystore
35+
import com.infomaniak.mail.utils.extensions.AttachmentExt
36+
import com.infomaniak.mail.utils.extensions.AttachmentExt.getIntentOrGoToPlayStore
3737
import dagger.hilt.android.AndroidEntryPoint
3838

3939
@AndroidEntryPoint
@@ -68,8 +68,8 @@ class DownloadAttachmentProgressDialog : DialogFragment() {
6868
if (cachedAttachment == null) {
6969
popBackStackWithError()
7070
} else {
71-
cachedAttachment.getIntentOrGoToPlaystore(requireContext(), navigationArgs.intentType)?.let { openWithIntent ->
72-
setBackNavigationResult(AttachmentIntentUtils.DOWNLOAD_ATTACHMENT_RESULT, openWithIntent)
71+
cachedAttachment.getIntentOrGoToPlayStore(requireContext(), navigationArgs.intentType)?.let { openWithIntent ->
72+
setBackNavigationResult(AttachmentExt.DOWNLOAD_ATTACHMENT_RESULT, openWithIntent)
7373
} ?: run { findNavController().popBackStack() }
7474
}
7575
}

app/src/main/java/com/infomaniak/mail/ui/main/thread/calendar/CalendarEventBannerView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import com.infomaniak.mail.data.models.calendar.Attendee.AttendanceState
3434
import com.infomaniak.mail.data.models.calendar.CalendarEvent
3535
import com.infomaniak.mail.databinding.ViewCalendarEventBannerBinding
3636
import com.infomaniak.mail.ui.main.SnackbarManager
37-
import com.infomaniak.mail.utils.AttachmentIntentUtils.AttachmentIntentType
38-
import com.infomaniak.mail.utils.AttachmentIntentUtils.openAttachment
37+
import com.infomaniak.mail.utils.extensions.AttachmentExt.AttachmentIntentType
38+
import com.infomaniak.mail.utils.extensions.AttachmentExt.openAttachment
3939
import com.infomaniak.mail.utils.UiUtils.getPrettyNameAndEmail
4040
import com.infomaniak.mail.utils.extensions.findUser
4141
import com.infomaniak.mail.utils.extensions.toDate

app/src/main/java/com/infomaniak/mail/utils/NavigationExtensions.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ import com.infomaniak.mail.ui.login.NoMailboxActivity
3838
import com.infomaniak.mail.ui.main.thread.actions.AttachmentActionsBottomSheetDialog
3939
import com.infomaniak.mail.ui.newMessage.NewMessageActivityArgs
4040
import com.infomaniak.mail.ui.noValidMailboxes.NoValidMailboxesActivity
41-
import com.infomaniak.mail.utils.AttachmentIntentUtils.createDownloadDialogNavArgs
41+
import com.infomaniak.mail.utils.extensions.AttachmentExt
42+
import com.infomaniak.mail.utils.extensions.AttachmentExt.createDownloadDialogNavArgs
4243

4344
fun getAnimatedNavOptions() = NavOptions
4445
.Builder()
@@ -79,7 +80,7 @@ fun Fragment.safeNavigateToNewMessageActivity(args: Bundle? = null, currentClass
7980

8081
fun Fragment.navigateToDownloadProgressDialog(
8182
attachment: Attachment,
82-
attachmentIntentType: AttachmentIntentUtils.AttachmentIntentType,
83+
attachmentIntentType: AttachmentExt.AttachmentIntentType,
8384
currentClassName: String = AttachmentActionsBottomSheetDialog::class.java.name,
8485
) {
8586
safeNavigate(

app/src/main/java/com/infomaniak/mail/utils/AttachmentIntentUtils.kt renamed to app/src/main/java/com/infomaniak/mail/utils/extensions/AttachmentExt.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* You should have received a copy of the GNU General Public License
1616
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
18-
package com.infomaniak.mail.utils
18+
package com.infomaniak.mail.utils.extensions
1919

2020
import android.content.ComponentName
2121
import android.content.Context
@@ -29,17 +29,18 @@ import com.infomaniak.mail.R
2929
import com.infomaniak.mail.data.models.Attachment
3030
import com.infomaniak.mail.ui.main.SnackbarManager
3131
import com.infomaniak.mail.ui.main.thread.actions.DownloadAttachmentProgressDialogArgs
32-
import com.infomaniak.mail.utils.AttachmentIntentUtils.AttachmentIntentType.OPEN_WITH
33-
import com.infomaniak.mail.utils.AttachmentIntentUtils.AttachmentIntentType.SAVE_TO_DRIVE
32+
import com.infomaniak.mail.utils.extensions.AttachmentExt.AttachmentIntentType.OPEN_WITH
33+
import com.infomaniak.mail.utils.extensions.AttachmentExt.AttachmentIntentType.SAVE_TO_DRIVE
3434
import io.sentry.Sentry
3535

36-
object AttachmentIntentUtils {
36+
object AttachmentExt {
3737

3838
private const val DRIVE_PACKAGE = "com.infomaniak.drive"
3939
private const val SAVE_EXTERNAL_ACTIVITY_CLASS = "com.infomaniak.drive.ui.SaveExternalFilesActivity"
4040

4141
const val DOWNLOAD_ATTACHMENT_RESULT = "download_attachment_result"
4242

43+
//region Intent
4344
private fun canSaveOnKDrive(context: Context) = runCatching {
4445
val packageInfo = context.packageManager.getPackageInfo(DRIVE_PACKAGE, PackageManager.GET_ACTIVITIES)
4546
packageInfo.activities.any { it.name == SAVE_EXTERNAL_ACTIVITY_CLASS }
@@ -67,7 +68,7 @@ object AttachmentIntentUtils {
6768
}
6869
}
6970

70-
fun Attachment.getIntentOrGoToPlaystore(context: Context, intentType: AttachmentIntentType) = when (intentType) {
71+
fun Attachment.getIntentOrGoToPlayStore(context: Context, intentType: AttachmentIntentType) = when (intentType) {
7172
OPEN_WITH -> openWithIntent(context)
7273
SAVE_TO_DRIVE -> if (canSaveOnKDrive(context)) {
7374
saveToDriveIntent(context)
@@ -83,7 +84,7 @@ object AttachmentIntentUtils {
8384
navigateToDownloadProgressDialog: (Attachment, AttachmentIntentType) -> Unit,
8485
) {
8586
if (hasUsableCache(context) || isInlineCachedFile(context)) {
86-
getIntentOrGoToPlaystore(context, intentType)?.let(context::startActivity)
87+
getIntentOrGoToPlayStore(context, intentType)?.let(context::startActivity)
8788
} else {
8889
navigateToDownloadProgressDialog(this, intentType)
8990
}
@@ -109,6 +110,7 @@ object AttachmentIntentUtils {
109110
intentType = intentType,
110111
).toBundle()
111112
}
113+
//endregion
112114

113115
enum class AttachmentIntentType {
114116
OPEN_WITH, SAVE_TO_DRIVE

app/src/main/res/navigation/main_navigation.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@
517517
app:argType="com.infomaniak.mail.data.models.Attachment$AttachmentType" />
518518
<argument
519519
android:name="intentType"
520-
app:argType="com.infomaniak.mail.utils.AttachmentIntentUtils$AttachmentIntentType" />
520+
app:argType="com.infomaniak.mail.utils.extensions.AttachmentExt$AttachmentIntentType" />
521521
</dialog>
522522

523523
<dialog

0 commit comments

Comments
 (0)