Loading packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +18 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserManager; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import java.util.Locale; Loading @@ -38,11 +39,14 @@ public class SettingsHelper { private static final String SILENT_RINGTONE = "_silent"; private Context mContext; private AudioManager mAudioManager; private TelephonyManager mTelephonyManager; public SettingsHelper(Context context) { mContext = context; mAudioManager = (AudioManager) context .getSystemService(Context.AUDIO_SERVICE); mTelephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); } /** Loading Loading @@ -75,12 +79,23 @@ public class SettingsHelper { } public String onBackupValue(String name, String value) { // Special processing for backing up ringtones // Special processing for backing up ringtones & notification sounds if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { if (value == null) { // Silent ringtone if (Settings.System.RINGTONE.equals(name)) { // For ringtones, we need to distinguish between non-telephony vs telephony if (mTelephonyManager != null && mTelephonyManager.isVoiceCapable()) { // Backup a null ringtone as silent on voice-capable devices return SILENT_RINGTONE; } else { // Skip backup of ringtone on non-telephony devices. return null; } } else { // Backup a null notification sound as silent return SILENT_RINGTONE; } } else { return getCanonicalRingtoneValue(value); } Loading Loading
packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +18 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserManager; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import java.util.Locale; Loading @@ -38,11 +39,14 @@ public class SettingsHelper { private static final String SILENT_RINGTONE = "_silent"; private Context mContext; private AudioManager mAudioManager; private TelephonyManager mTelephonyManager; public SettingsHelper(Context context) { mContext = context; mAudioManager = (AudioManager) context .getSystemService(Context.AUDIO_SERVICE); mTelephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); } /** Loading Loading @@ -75,12 +79,23 @@ public class SettingsHelper { } public String onBackupValue(String name, String value) { // Special processing for backing up ringtones // Special processing for backing up ringtones & notification sounds if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { if (value == null) { // Silent ringtone if (Settings.System.RINGTONE.equals(name)) { // For ringtones, we need to distinguish between non-telephony vs telephony if (mTelephonyManager != null && mTelephonyManager.isVoiceCapable()) { // Backup a null ringtone as silent on voice-capable devices return SILENT_RINGTONE; } else { // Skip backup of ringtone on non-telephony devices. return null; } } else { // Backup a null notification sound as silent return SILENT_RINGTONE; } } else { return getCanonicalRingtoneValue(value); } Loading