diff options
author | Marvin Paul <marvinpaul@google.com> | 2014-12-30 03:18:54 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2014-12-30 03:18:54 +0000 |
commit | 437d859c57cd9bd3e82ae65eb1360d84cef36bd3 (patch) | |
tree | a799bcf9419c58722a8b3ea3ffdf81770e7b6c85 /packages/SettingsProvider | |
parent | 60a5378bf68cf2b4a9e4dce7251aec0c2f4ceb7c (diff) | |
parent | 9ff2160eddf4dfbd118eb9b0656e7803603f215a (diff) | |
download | frameworks_base-437d859c57cd9bd3e82ae65eb1360d84cef36bd3.zip frameworks_base-437d859c57cd9bd3e82ae65eb1360d84cef36bd3.tar.gz frameworks_base-437d859c57cd9bd3e82ae65eb1360d84cef36bd3.tar.bz2 |
Merge "Don\'t backup ringtone on non-telephony devices." into lmp-mr1-dev automerge: a30fdf7 automerge: 8298afb
automerge: 9ff2160
* commit '9ff2160eddf4dfbd118eb9b0656e7803603f215a':
Don't backup ringtone on non-telephony devices.
Diffstat (limited to 'packages/SettingsProvider')
-rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java index 91199c1..4144c80 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java @@ -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); } |