From 40fbcf333f09a92d6499cf94d67c60c3a03c9a33 Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Fri, 27 May 2022 15:52:30 +0800 Subject: [PATCH] Fix can't change notification sound for work profile. Use correct user id context to query the type, so we won't get empty result unexpectedly. If we get the null result, then we won't set sound sucessfully. Fix: 233580016 Test: Manual test and set work profile sound works. Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad --- src/com/android/settings/DefaultRingtonePreference.java | 2 +- .../src/com/android/settings/DefaultRingtonePreferenceTest.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/DefaultRingtonePreference.java b/src/com/android/settings/DefaultRingtonePreference.java index 824a5a05dc1..9bf626c9898 100644 --- a/src/com/android/settings/DefaultRingtonePreference.java +++ b/src/com/android/settings/DefaultRingtonePreference.java @@ -51,7 +51,7 @@ public class DefaultRingtonePreference extends RingtonePreference { return; } - String mimeType = getContext().getContentResolver().getType(ringtoneUri); + String mimeType = mUserContext.getContentResolver().getType(ringtoneUri); if (mimeType == null) { Log.e(TAG, "onSaveRingtone for URI:" + ringtoneUri + " ignored: failure to find mimeType (no access from this context?)"); diff --git a/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java b/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java index b9dea0167b5..7877684dce6 100644 --- a/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java +++ b/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java @@ -59,6 +59,7 @@ public class DefaultRingtonePreferenceTest { when(mDefaultRingtonePreference.getRingtoneType()) .thenReturn(RingtoneManager.TYPE_RINGTONE); mDefaultRingtonePreference.setUserId(1); + mDefaultRingtonePreference.mUserContext = context; } @Test