summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider
diff options
context:
space:
mode:
authorMarvin Paul <marvinpaul@google.com>2014-12-30 03:18:54 +0000
committerandroid-build-merger <android-build-merger@google.com>2014-12-30 03:18:54 +0000
commit437d859c57cd9bd3e82ae65eb1360d84cef36bd3 (patch)
treea799bcf9419c58722a8b3ea3ffdf81770e7b6c85 /packages/SettingsProvider
parent60a5378bf68cf2b4a9e4dce7251aec0c2f4ceb7c (diff)
parent9ff2160eddf4dfbd118eb9b0656e7803603f215a (diff)
downloadframeworks_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.java21
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);
}