diff --git a/src/com/android/settings/DefaultRingtonePreference.java b/src/com/android/settings/DefaultRingtonePreference.java index 6893a21801c..09f5af4999a 100644 --- a/src/com/android/settings/DefaultRingtonePreference.java +++ b/src/com/android/settings/DefaultRingtonePreference.java @@ -30,7 +30,7 @@ import android.util.Log; public class DefaultRingtonePreference extends RingtonePreference { private static final String TAG = "DefaultRingtonePreference"; - private int mUserId; + private int mUserId = UserHandle.USER_CURRENT; protected Context mUserContext; public DefaultRingtonePreference(Context context, AttributeSet attrs) { @@ -40,21 +40,19 @@ public class DefaultRingtonePreference extends RingtonePreference { public void setUserId(int userId) { mUserId = userId; - Context context = getContext(); - mUserContext = Utils.createPackageContextAsUser(context, mUserId); + mUserContext = Utils.createPackageContextAsUser(getContext(), mUserId); } @Override public void performClick() { - if (!Utils.startQuietModeDialogIfNecessary(getContext(), UserManager.get(getContext()), - mUserId)) { - super.performClick(); + if (mUserId != UserHandle.USER_CURRENT) { + if (Utils.unlockWorkProfileIfNecessary(getContext(), mUserId) || + Utils.startQuietModeDialogIfNecessary(getContext(), + UserManager.get(getContext()), mUserId)) { + return; + } } - } - - public void clearUserId(int userId) { - mUserId = UserHandle.USER_CURRENT; - mUserContext = getContext(); + super.performClick(); } @Override diff --git a/src/com/android/settings/notification/WorkSoundPreferenceController.java b/src/com/android/settings/notification/WorkSoundPreferenceController.java index 96d88c9291e..c94991ccf66 100644 --- a/src/com/android/settings/notification/WorkSoundPreferenceController.java +++ b/src/com/android/settings/notification/WorkSoundPreferenceController.java @@ -160,9 +160,8 @@ public class WorkSoundPreferenceController extends PreferenceController implemen } private CharSequence updateRingtoneName(Context context, int type) { - if (context == null) { - Log.e(TAG, "Unable to update ringtone name, no context provided"); - return null; + if (context == null || !UserManager.get(context).isUserUnlocked(context.getUserId())) { + return context.getString(R.string.managed_profile_not_available_label); } Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(context, type); return Ringtone.getTitle(context, ringtoneUri, false /* followSettingsUri */,