diff --git a/app/build.gradle b/app/build.gradle index 7cc54ed..ff427a4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "bluepie.ad_silence" minSdk 21 targetSdk 31 - versionCode 25 - versionName "0.5.3" + versionCode 28 + versionName "0.5.4-android-tv" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0ad58a4..706bfd0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,6 +10,7 @@ + (R.id.about_btn)?.setOnClickListener { layoutInflater.inflate(R.layout.about, null)?.run { @@ -256,6 +257,22 @@ class AdSilenceActivity : Activity() { } } + appSelectionView.findViewById(R.id.spotify_tv)?.run { + this.isEnabled = isSpotifyTvInstalled + this.isChecked = preference.isAppConfigured(SupportedApps.SPOTIFY_TV) + "${context.getString(R.string.spotify_tv)} ${ + if (isSpotifyTvInstalled) applicationContext.getString(R.string.beta) else context.getString(R.string.not_installed) + }".also { + this.text = it + } + this.setOnClickListener{ + preference.setAppConfigured( + SupportedApps.SPOTIFY_TV, + !preference.isAppConfigured(SupportedApps.SPOTIFY_TV) + ) + } + } + AlertDialog.Builder(this).setView(appSelectionView).show() } } diff --git a/app/src/main/java/bluepie/ad_silence/NotificationParser.kt b/app/src/main/java/bluepie/ad_silence/NotificationParser.kt index 90f3e49..7e6c9d5 100644 --- a/app/src/main/java/bluepie/ad_silence/NotificationParser.kt +++ b/app/src/main/java/bluepie/ad_silence/NotificationParser.kt @@ -26,7 +26,7 @@ fun AppNotification.getApp(): SupportedApps { fun AppNotification.adString(): List { return when (getApp()) { SupportedApps.ACCURADIO -> listOf(context.getString(R.string.accuradio_ad_text)) - SupportedApps.SPOTIFY, SupportedApps.SPOTIFY_LITE -> listOf( + SupportedApps.SPOTIFY, SupportedApps.SPOTIFY_LITE, SupportedApps.SPOTIFY_TV -> listOf( context.getString(R.string.spotify_ad_string), context.getString(R.string.spotify_ad2) ) diff --git a/app/src/main/java/bluepie/ad_silence/Preference.kt b/app/src/main/java/bluepie/ad_silence/Preference.kt index 9a7ccde..c29291a 100644 --- a/app/src/main/java/bluepie/ad_silence/Preference.kt +++ b/app/src/main/java/bluepie/ad_silence/Preference.kt @@ -30,6 +30,8 @@ class Preference(private val context: Context) { private val PANDORA_DEFAULT = true val LIVEONE = "Liveone" private val LIVEONE_DEFAULT = true + val SPOTIFY_TV = "SpotifyTV"; + private val SPOTIFY_TV_DEFAULT = true @@ -51,6 +53,7 @@ class Preference(private val context: Context) { SupportedApps.SPOTIFY_LITE-> preference.edit { putBoolean(SPOTIFY_LITE, status).commit() } SupportedApps.PANDORA-> preference.edit { putBoolean(PANDORA, status).commit() } SupportedApps.LiveOne-> preference.edit { putBoolean(LIVEONE, status).commit() } + SupportedApps.SPOTIFY_TV-> preference.edit { putBoolean(SPOTIFY_TV, status).commit() } } } @@ -62,6 +65,7 @@ class Preference(private val context: Context) { SupportedApps.SPOTIFY_LITE-> preference.getBoolean(SPOTIFY_LITE, SPOTIFY_LITE_DEFAULT) SupportedApps.PANDORA-> preference.getBoolean(PANDORA, PANDORA_DEFAULT) SupportedApps.LiveOne-> preference.getBoolean(LIVEONE, LIVEONE_DEFAULT) + SupportedApps.SPOTIFY_TV-> preference.getBoolean(SPOTIFY_TV, SPOTIFY_TV_DEFAULT) else -> false } diff --git a/app/src/main/java/bluepie/ad_silence/SupportedApps.kt b/app/src/main/java/bluepie/ad_silence/SupportedApps.kt index 18402c2..ca95243 100644 --- a/app/src/main/java/bluepie/ad_silence/SupportedApps.kt +++ b/app/src/main/java/bluepie/ad_silence/SupportedApps.kt @@ -7,5 +7,6 @@ enum class SupportedApps { SPOTIFY_LITE, PANDORA, LiveOne, + SPOTIFY_TV, INVALID } diff --git a/app/src/main/java/bluepie/ad_silence/Utils.kt b/app/src/main/java/bluepie/ad_silence/Utils.kt index 2fc32b1..9e042b3 100644 --- a/app/src/main/java/bluepie/ad_silence/Utils.kt +++ b/app/src/main/java/bluepie/ad_silence/Utils.kt @@ -51,6 +51,9 @@ class Utils { fun isLiveOneInstalled(context: Context) = isPackageInstalled(context, context.getString(R.string.liveOne_package_name)) + fun isSpotifyTVInstalled(context: Context) = + isPackageInstalled(context, context.getString(R.string.spotify_tv_package_name)) + fun isMusicMuted(audoManager: AudioManager): Boolean { if (Build.VERSION.SDK_INT >= 23) { return audoManager.isStreamMute(AudioManager.STREAM_MUSIC) diff --git a/app/src/main/res/layout/app_selection.xml b/app/src/main/res/layout/app_selection.xml index ba22260..2bdea5b 100644 --- a/app/src/main/res/layout/app_selection.xml +++ b/app/src/main/res/layout/app_selection.xml @@ -48,4 +48,11 @@ android:minHeight="48dp" android:text="@string/liveone" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index efd5e58..6da251e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -51,4 +51,6 @@ 60 Minutes Uninterrupted Listening LiveOne (Beta) + com.spotify.tv.android + Spotify tv \ No newline at end of file