Merge "Don\'t backup ringtone on non-telephony devices." into lmp-mr1-dev

automerge: a30fdf7

* commit 'a30fdf790d66e241252c51d7dbdc401e021e51ad':
  Don't backup ringtone on non-telephony devices.
This commit is contained in:
Marvin Paul
2014-12-30 00:53:52 +00:00
committed by android-build-merger

View File

@@ -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;
@@ -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);
}
/**
@@ -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
return 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);
}