Skip to content

Commit

Permalink
Merge pull request #2103 from Infomaniak/halloween
Browse files Browse the repository at this point in the history
feat: Put back missing Halloween easterEgg
  • Loading branch information
KevinBoulongne authored Nov 22, 2024
2 parents 660c3ba + bacc29d commit 976e3ed
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
3 changes: 3 additions & 0 deletions app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.NavDestination
import androidx.navigation.fragment.NavHostFragment
import androidx.work.Data
import com.airbnb.lottie.LottieAnimationView
import com.infomaniak.lib.core.MatomoCore.TrackerAction
import com.infomaniak.lib.core.utils.SentryLog
import com.infomaniak.lib.core.utils.Utils
Expand Down Expand Up @@ -514,6 +515,8 @@ class MainActivity : BaseActivity() {

fun getConfettiContainer(): ViewGroup = binding.easterEggConfettiContainer

fun getHalloweenLayout(): LottieAnimationView = binding.easterEggHalloween

private fun handleShortcuts() {
navigationArgs?.shortcutId?.let { shortcutId ->
when (shortcutId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.infomaniak.lib.core.utils.context
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.lib.core.utils.safeNavigate
import com.infomaniak.lib.core.utils.year
import com.infomaniak.mail.MatomoMail.trackAccountEvent
import com.infomaniak.mail.MatomoMail.trackEasterEggEvent
import com.infomaniak.mail.R
import com.infomaniak.mail.databinding.BottomSheetAccountBinding
import com.infomaniak.mail.di.IoDispatcher
Expand All @@ -42,8 +44,11 @@ import com.infomaniak.mail.utils.LogoutUser
import com.infomaniak.mail.utils.extensions.bindAlertToViewLifecycle
import com.infomaniak.mail.utils.extensions.launchLoginActivity
import dagger.hilt.android.AndroidEntryPoint
import io.sentry.Sentry.captureMessage
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.launch
import java.util.Calendar
import java.util.Date
import javax.inject.Inject

@AndroidEntryPoint
Expand Down Expand Up @@ -102,6 +107,8 @@ class AccountBottomSheetDialog : BottomSheetDialogFragment() {
observeAccounts()

bindAlertToViewLifecycle(descriptionDialog)

showEasterEggHalloween()
}

private fun logoutCurrentUser() = lifecycleScope.launch(ioDispatcher) {
Expand All @@ -120,4 +127,20 @@ class AccountBottomSheetDialog : BottomSheetDialogFragment() {
}
getAccountsInDB()
}

private fun showEasterEggHalloween() {

val calendar = Calendar.getInstance()
val month = calendar.get(Calendar.MONTH)
val day = calendar.get(Calendar.DAY_OF_MONTH)
val isHalloween = (month == Calendar.OCTOBER && day >= 26) || (month == Calendar.NOVEMBER && day <= 1)
if (!isHalloween) return

val halloween = (activity as? MainActivity)?.getHalloweenLayout() ?: return
if (halloween.isAnimating) return

halloween.playAnimation()
captureMessage("Easter egg Halloween has been triggered! Woohoo!")
trackEasterEggEvent("halloween${Date().year()}")
}
}
11 changes: 11 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,17 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:lottie_rawRes="@raw/easter_egg_xmas" />

<com.airbnb.lottie.LottieAnimationView
android:id="@+id/easterEggHalloween"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:importantForAccessibility="no"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="false"
app:lottie_rawRes="@raw/easter_egg_halloween" />
</androidx.constraintlayout.widget.ConstraintLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

0 comments on commit 976e3ed

Please sign in to comment.