feat: toggle for icon in rpc

This commit is contained in:
aayush262 2024-04-10 14:05:24 +05:30
parent c242d9dd99
commit 5e5277404e
7 changed files with 27 additions and 6 deletions

View file

@ -71,4 +71,6 @@ object Discord {
const val application_Id = "1163925779692912771"
const val small_Image: String =
"mp:external/GJEe4hKzr8w56IW6ZKQz43HFVEo8pOtA_C-dJiWwxKo/https/cdn.discordapp.com/app-icons/1163925779692912771/f6b42d41dfdf0b56fcc79d4a12d2ac66.png"
const val small_Image_AniList: String =
"mp:external/rHOIjjChluqQtGyL_UHk6Z4oAqiVYlo_B7HSGPLSoUg/%3Fsize%3D128/https/cdn.discordapp.com/icons/210521487378087947/a_f54f910e2add364a3da3bb2f2fce0c72.webp"
}

View file

@ -71,8 +71,8 @@ open class RPC(val token: String, val coroutineContext: CoroutineContext) {
assets = Activity.Assets(
largeImage = data.largeImage?.url?.discordUrl(),
largeText = data.largeImage?.label,
smallImage = data.smallImage?.url?.discordUrl(),
smallText = data.smallImage?.label
smallImage = if (PrefManager.getVal(PrefName.ShowIcon)) Discord.small_Image_AniList.discordUrl() else Discord.small_Image.discordUrl(),
smallText = if (PrefManager.getVal(PrefName.ShowIcon)) "Anilist" else "Dantotsu",
),
buttons = data.buttons.map { it.label },
metadata = Activity.Metadata(

View file

@ -1139,7 +1139,6 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
it
)
},
smallImage = RPC.Link("Dantotsu", Discord.small_Image),
buttons = buttons
)
)

View file

@ -412,7 +412,6 @@ class MangaReaderActivity : AppCompatActivity() {
?: getString(R.string.chapter_num, chap.number),
state = "${chap.number}/${media.manga?.totalChapters ?: "??"}",
largeImage = media.cover?.let { cover -> RPC.Link(media.userPreferredName, cover) },
smallImage = RPC.Link("Dantotsu", Discord.small_Image),
buttons = buttons
)
)

View file

@ -31,7 +31,10 @@ class DiscordDialogFragment: BottomSheetDialogFragment() {
"anilist" -> binding.radioAnilist.isChecked = true
else -> binding.radioAnilist.isChecked = true
}
binding.showIcon.isChecked = PrefManager.getVal(PrefName.ShowIcon)
binding.showIcon.setOnCheckedChangeListener { _, isChecked ->
PrefManager.setVal(PrefName.ShowIcon, isChecked)
}
binding.anilistLinkPreview.text = getString(R.string.anilist_link, PrefManager.getVal<String>(PrefName.AnilistUserName))
binding.radioGroup.setOnCheckedChangeListener { _, checkedId ->

View file

@ -166,6 +166,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files
Incognito(Pref(Location.Irrelevant, Boolean::class, false)),
OfflineMode(Pref(Location.Irrelevant, Boolean::class, false)),
DiscordStatus(Pref(Location.Irrelevant, String::class, "online")),
ShowIcon(Pref(Location.Irrelevant, Boolean::class, true)),
DownloadsKeys(Pref(Location.Irrelevant, String::class, "")),
NovelLastExtCheck(Pref(Location.Irrelevant, Long::class, 0L)),
ImageUrl(Pref(Location.Irrelevant, String::class, "")),

View file

@ -30,7 +30,24 @@
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold" />
<com.google.android.material.materialswitch.MaterialSwitch
android:padding="16dp"
android:id="@+id/showIcon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="false"
android:drawableStart="@drawable/ic_anilist"
android:drawablePadding="16dp"
android:elegantTextHeight="true"
android:fontFamily="@font/poppins_bold"
android:minHeight="64dp"
android:text="@string/use_anilist_icon"
android:textAlignment="viewStart"
android:textColor="?attr/colorOnBackground"
app:cornerRadius="0dp"
app:drawableTint="?attr/colorPrimary"
app:showText="false"
app:thumbTint="@color/button_switch_track" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"