Merge "Prompt to start user before choosing a new ringtone"

This commit is contained in:
Robin Lee
2017-01-27 14:03:12 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 14 deletions

View File

@@ -30,7 +30,7 @@ import android.util.Log;
public class DefaultRingtonePreference extends RingtonePreference { public class DefaultRingtonePreference extends RingtonePreference {
private static final String TAG = "DefaultRingtonePreference"; private static final String TAG = "DefaultRingtonePreference";
private int mUserId; private int mUserId = UserHandle.USER_CURRENT;
protected Context mUserContext; protected Context mUserContext;
public DefaultRingtonePreference(Context context, AttributeSet attrs) { public DefaultRingtonePreference(Context context, AttributeSet attrs) {
@@ -40,21 +40,19 @@ public class DefaultRingtonePreference extends RingtonePreference {
public void setUserId(int userId) { public void setUserId(int userId) {
mUserId = userId; mUserId = userId;
Context context = getContext(); mUserContext = Utils.createPackageContextAsUser(getContext(), mUserId);
mUserContext = Utils.createPackageContextAsUser(context, mUserId);
} }
@Override @Override
public void performClick() { public void performClick() {
if (!Utils.startQuietModeDialogIfNecessary(getContext(), UserManager.get(getContext()), if (mUserId != UserHandle.USER_CURRENT) {
mUserId)) { if (Utils.unlockWorkProfileIfNecessary(getContext(), mUserId) ||
super.performClick(); Utils.startQuietModeDialogIfNecessary(getContext(),
UserManager.get(getContext()), mUserId)) {
return;
}
} }
} super.performClick();
public void clearUserId(int userId) {
mUserId = UserHandle.USER_CURRENT;
mUserContext = getContext();
} }
@Override @Override

View File

@@ -160,9 +160,8 @@ public class WorkSoundPreferenceController extends PreferenceController implemen
} }
private CharSequence updateRingtoneName(Context context, int type) { private CharSequence updateRingtoneName(Context context, int type) {
if (context == null) { if (context == null || !UserManager.get(context).isUserUnlocked(context.getUserId())) {
Log.e(TAG, "Unable to update ringtone name, no context provided"); return context.getString(R.string.managed_profile_not_available_label);
return null;
} }
Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(context, type); Uri ringtoneUri = RingtoneManager.getActualDefaultRingtoneUri(context, type);
return Ringtone.getTitle(context, ringtoneUri, false /* followSettingsUri */, return Ringtone.getTitle(context, ringtoneUri, false /* followSettingsUri */,