Add support for manually installed google sound picker

This commit is contained in:
minaripenguin
2024-12-12 20:09:06 +08:00
committed by Joey
parent 50169a920c
commit 18fbb7926b

View File

@@ -54,6 +54,7 @@ import androidx.preference.PreferenceManager;
public class RingtonePreference extends Preference { public class RingtonePreference extends Preference {
private static final String TAG = "RingtonePreference"; private static final String TAG = "RingtonePreference";
private static final String GOOGLE_SP_PKG_NAME = "com.google.android.soundpicker";
private int mRingtoneType; private int mRingtoneType;
private boolean mShowDefault; private boolean mShowDefault;
@@ -76,7 +77,10 @@ public class RingtonePreference extends Preference {
true); true);
String packageName = context.getString(R.string.config_sound_picker_package_name); String packageName = context.getString(R.string.config_sound_picker_package_name);
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
if (com.android.internal.util.evolution.Utils.isPackageInstalled(context, packageName)) { // prioritize google sound picker if manually installed by user
if (com.android.internal.util.evolution.Utils.isPackageInstalled(context, GOOGLE_SP_PKG_NAME)) {
intent.setPackage(GOOGLE_SP_PKG_NAME);
} else if (com.android.internal.util.evolution.Utils.isPackageInstalled(context, packageName)) {
intent.setPackage(packageName); intent.setPackage(packageName);
} }
setIntent(intent); setIntent(intent);