From 0eb3011fc2b7f66f1ccd50fbf45b691f4fedd2f4 Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Fri, 27 May 2022 15:52:30 +0800 Subject: [PATCH] [DO NOT MERGE] 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. Bug: 233580016 Bug: 221041256 Test: Manual test and set work profile sound works. Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad Merged-In: 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