Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Ambient Music Mod #230

Merged
merged 2 commits into from Jun 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions app/src/main/java/com/arn/scrobble/NLService.kt
Expand Up @@ -295,7 +295,7 @@ class NLService : NotificationListenerService() {
scrobbleFromNoti(
sbn,
removed = false,
packageNames = listOf(Stuff.PACKAGE_PIXEL_NP, Stuff.PACKAGE_PIXEL_NP_R),
packageNames = listOf(Stuff.PACKAGE_PIXEL_NP, Stuff.PACKAGE_PIXEL_NP_R, Stuff.PACKAGE_PIXEL_NP_AMM),
channelName = Stuff.CHANNEL_PIXEL_NP,
notiField = Notification.EXTRA_TITLE,
format = R.string.song_format_string
Expand Down Expand Up @@ -323,7 +323,7 @@ class NLService : NotificationListenerService() {
scrobbleFromNoti(
sbn,
removed = true,
packageNames = listOf(Stuff.PACKAGE_PIXEL_NP, Stuff.PACKAGE_PIXEL_NP_R),
packageNames = listOf(Stuff.PACKAGE_PIXEL_NP, Stuff.PACKAGE_PIXEL_NP_R, Stuff.PACKAGE_PIXEL_NP_AMM),
channelName = Stuff.CHANNEL_PIXEL_NP,
)
if (isAppEnabled(Stuff.PACKAGE_SHAZAM))
Expand Down Expand Up @@ -481,7 +481,7 @@ class NLService : NotificationListenerService() {
iALLOWLIST, iBLOCKLIST -> {
//handle pixel_np blacklist in its own settings
val pkgName = intent.getStringExtra(B_PACKAGE_NAME)!!
if (pkgName == Stuff.PACKAGE_PIXEL_NP || pkgName == Stuff.PACKAGE_PIXEL_NP_R) {
if (pkgName == Stuff.PACKAGE_PIXEL_NP || pkgName == Stuff.PACKAGE_PIXEL_NP_R || pkgName == Stuff.PACKAGE_PIXEL_NP_AMM) {
if (intent.action == iBLOCKLIST) {
prefs.pixelNowPlaying = false
handler.remove(currentBundle.getInt(B_HASH))
Expand Down
12 changes: 12 additions & 0 deletions app/src/main/java/com/arn/scrobble/Stuff.kt
Expand Up @@ -153,6 +153,8 @@ object Stuff {
"com.google.intelligence.sense.ambientmusic.MusicNotificationChannel"
const val PACKAGE_PIXEL_NP = "com.google.intelligence.sense"
const val PACKAGE_PIXEL_NP_R = "com.google.android.as"
const val PACKAGE_PIXEL_NP_AMM = "com.kieronquinn.app.pixelambientmusic"
const val PACKAGE_AMM = "com.kieronquinn.app.ambientmusicmod"
const val PACKAGE_SHAZAM = "com.shazam.android"
const val CHANNEL_SHAZAM = "auto_shazam_v2"
const val PACKAGE_XIAMI = "fm.xiami.main"
Expand Down Expand Up @@ -366,6 +368,16 @@ object Stuff {
false
}
}
}

fun isPackageInstalled(context: Context, packageName: String): Boolean {
return try {
context.packageManager.resolveActivity(Intent(Intent.ACTION_MAIN).apply {
`package` = packageName
}, 0) != null
} catch (e: PackageManager.NameNotFoundException) {
false
}
}

fun getDefaultBrowserPackage(packageManager: PackageManager): String? {
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/java/com/arn/scrobble/pref/PrefFragment.kt
Expand Up @@ -187,7 +187,8 @@ class PrefFragment : PreferenceFragmentCompat() {

val pixelNp = findPreference<SwitchPreference>(MainPrefs.PREF_PIXEL_NP)!!
hideOnTV.add(pixelNp)
if (Build.MANUFACTURER.lowercase() != Stuff.MANUFACTURER_GOOGLE) {
if (Build.MANUFACTURER.lowercase() != Stuff.MANUFACTURER_GOOGLE
&& !Stuff.isPackageInstalled(requireContext(), Stuff.PACKAGE_AMM)) {
pixelNp.summary = getString(R.string.pref_pixel_np_nope)
pixelNp.isEnabled = false
pixelNp.isPersistent = false
Expand Down