package io.rebble.libpebblecommon.notification.processor import io.rebble.libpebblecommon.packets.blobdb.TimelineIcon import io.rebble.libpebblecommon.timeline.TimelineColor enum class NotificationProperties( val pkgName: String, val color: TimelineColor? = null, val icon: TimelineIcon? = null, val addShowsUserInterfaceActions: Boolean = false, val showLocalOnlyNotifications: Boolean = false, val allowDuplicates: Boolean = false, ) { Gmail(pkgName = "com.google.android.gm", color = TimelineColor.Red, icon = TimelineIcon.NotificationGmail), GoogleQuickSearchBox(pkgName = "com.google.android.googlequicksearchbox", color = TimelineColor.BlueMoon, icon = null), Whatsapp(pkgName = "com.whatsapp", color = TimelineColor.IslamicGreen, icon = TimelineIcon.NotificationWhatsapp), GoogleTalk(pkgName = "com.google.android.talk", color = TimelineColor.JaegerGreen, icon = null), AndroidVending(pkgName = "com.android.vending", color = TimelineColor.JaegerGreen, icon = null), FacebookMessenger(pkgName = "com.facebook.orca", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationFacebookMessenger), AndroidEmail(pkgName = "com.android.email", color = TimelineColor.Orange, icon = null), GoogleCalendar(pkgName = "com.google.android.calendar", color = TimelineColor.BlueMoon, icon = null), Telegram(pkgName = "org.telegram.messenger", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationTelegram), Facebook(pkgName = "com.facebook.katana", color = TimelineColor.CobaltBlue, icon = TimelineIcon.NotificationFacebook), GoogleMessaging(pkgName = "com.google.android.apps.messaging", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationGoogleMessenger, showLocalOnlyNotifications = true), Hipchat(pkgName = "com.hipchat", color = TimelineColor.CobaltBlue, icon = null), Skype(pkgName = "com.skype.raider", color = TimelineColor.VividCerulean, icon = null), Twitter(pkgName = "com.twitter.android", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationTwitter), Mailbox(pkgName = "com.mailboxapp", color = TimelineColor.VividCerulean, icon = null), Snapchat(pkgName = "com.snapchat.android", color = TimelineColor.Icterine, icon = TimelineIcon.NotificationSnapchat), Wechat(pkgName = "com.tencent.mm", color = TimelineColor.KellyGreen, icon = TimelineIcon.NotificationWeChat), Viber(pkgName = "com.viber.voip", color = TimelineColor.VividViolet, icon = TimelineIcon.NotificationViber), Instagram(pkgName = "com.instagram.android", color = TimelineColor.CobaltBlue, icon = TimelineIcon.NotificationInstagram), Youtube(pkgName = "com.google.android.youtube", color = TimelineColor.Red, icon = TimelineIcon.NotificationYoutube), Kik(pkgName = "kik.android", color = TimelineColor.IslamicGreen, icon = TimelineIcon.NotificationKik), Line(pkgName = "jp.naver.line.android", color = TimelineColor.IslamicGreen, icon = TimelineIcon.NotificationLine), Inbox(pkgName = "com.google.android.apps.inbox", color = TimelineColor.BlueMoon, icon = null), Bbm(pkgName = "com.bbm", color = TimelineColor.DarkGray, icon = null), Outlook(pkgName = "com.microsoft.office.outlook", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationOutlook), YahooMail(pkgName = "com.yahoo.mobile.client.android.mail", color = TimelineColor.Indigo, icon = TimelineIcon.NotificationYahooMail), KakaoTalk(pkgName = "com.kakao.talk", color = TimelineColor.Yellow, icon = TimelineIcon.NotificationKakaoTalk), PebbleOg(pkgName = "com.getpebble.android.basalt", color = TimelineColor.Orange, icon = null), Amazon(pkgName = "com.amazon.mshop.android.shopping", color = TimelineColor.ChromeYellow, icon = TimelineIcon.NotificationAmazon), GoogleMaps(pkgName = "com.google.android.apps.maps", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationGoogleMaps), GooglePhotos(pkgName = "com.google.android.apps.photos", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationGooglePhotos), Linkedin(pkgName = "com.linkedin.android", color = TimelineColor.CobaltBlue, icon = TimelineIcon.NotificationLinkedIn), Slack(pkgName = "com.slack", color = TimelineColor.Folly, icon = TimelineIcon.NotificationSlack, addShowsUserInterfaceActions = true), Beeper(pkgName = "com.beeper.android", color = TimelineColor.VividViolet, icon = TimelineIcon.NotificationBeeper), Discord(pkgName = "com.discord", color = TimelineColor.Indigo, icon = TimelineIcon.NotificationDiscord), Bluesky(pkgName = "xyz.blueskyweb.app", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationBluesky), Duolingo(pkgName = "com.duolingo", color = TimelineColor.IslamicGreen, icon = TimelineIcon.NotificationDuolingo), Element(pkgName = "im.vector.app", color = TimelineColor.MediumAquamarine, icon = TimelineIcon.NotificationElement), ElementX(pkgName = "io.element.android.x", color = TimelineColor.MediumAquamarine, icon = TimelineIcon.NotificationElement), GoogleChat(pkgName = "com.google.android.apps.dynamite", color = TimelineColor.IslamicGreen, icon = TimelineIcon.NotificationGoogleChat), GoogleTasks(pkgName = "com.google.android.apps.tasks", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationGoogleTasks, addShowsUserInterfaceActions = true), HomeAssistant(pkgName = "io.homeassistant.companion.android", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationHomeAssistant, addShowsUserInterfaceActions = true), Steam(pkgName = "com.valvesoftware.android.steam.community", color = TimelineColor.CobaltBlue, icon = TimelineIcon.NotificationSteam), MicrosoftTeams(pkgName = "com.microsoft.teams", color = TimelineColor.Indigo, icon = TimelineIcon.NotificationTeams), Threads(pkgName = "com.instagram.barcelona", color = TimelineColor.DarkGray, icon = TimelineIcon.NotificationThreads), UnifiProtect(pkgName = "com.ubnt.unifi.protect", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationUnifiProtect), Zoom(pkgName = "us.zoom.videomeetings", color = TimelineColor.VividCerulean, icon = TimelineIcon.NotificationZoom), Ebay(pkgName = "com.ebay.mobile", color = TimelineColor.Red, icon = TimelineIcon.NotificationEbay), Revolut(pkgName = "com.revolut.revolut", color = TimelineColor.DarkGray, icon = TimelineIcon.PayBill), Wise(pkgName = "com.transferwise.android", color = TimelineColor.Green, icon = TimelineIcon.PayBill), N26(pkgName = "de.number26.android", color = TimelineColor.CadetBlue, icon = TimelineIcon.PayBill), Bunq(pkgName = "com.bunq.android", color = TimelineColor.VividCerulean, icon = TimelineIcon.PayBill), GmailLite(pkgName = "com.google.android.gm.lite", color = null, icon = TimelineIcon.NotificationGmail), TwitterLite(pkgName = "com.twitter.android.lite", color = null, icon = TimelineIcon.NotificationTwitter), TelegramWeb(pkgName = "org.telegram.messenger.web", color = null, icon = TimelineIcon.NotificationTelegram), Challegram(pkgName = "org.thunderdog.challegram", color = null, icon = TimelineIcon.NotificationTelegram), FacebookLite(pkgName = "com.facebook.lite", color = null, icon = TimelineIcon.NotificationFacebook), MicrosoftLync(pkgName = "com.microsoft.office.lync", color = null, icon = TimelineIcon.NotificationSkype), BbmEnterprise(pkgName = "com.bbm.enterprise", color = null, icon = TimelineIcon.NotificationBlackberryMessenger), ProtonMail(pkgName = "ch.protonmail.android", color = null, icon = TimelineIcon.GenericEmail), ProtonCalendar(pkgName = "me.proton.android.calendar", color = null, icon = TimelineIcon.TimelineCalendar), GoogleWallet(pkgName = "com.google.android.apps.walletnfcrel", color = null, icon = TimelineIcon.PayBill), YoutubeReVanced(pkgName = "app.revanced.android.youtube", color = TimelineColor.Red, icon = TimelineIcon.NotificationYoutube), Signal(pkgName = "org.thoughtcrime.securesms", color = TimelineColor.BlueMoon, icon = TimelineIcon.NotificationSignal), Twitch(pkgName = "tv.twitch.android.app", color = TimelineColor.VividViolet, icon = TimelineIcon.NotificationTwitch), WSJ(pkgName = "wsj.reader_sp", color = TimelineColor.DarkGray, icon = TimelineIcon.NewsEvent), GooglePhoneDialer(pkgName = "com.google.android.dialer", color = TimelineColor.BlueMoon, icon = TimelineIcon.IncomingPhoneCall), Ring(pkgName = "com.ringapp", allowDuplicates = true) ; companion object { fun lookup(pkgName: String): NotificationProperties? = entries.find { it.pkgName.equals(pkgName, ignoreCase = true) } } }