Show RingtonePickerActivity in work user instead
Test: make RunSettingsRoboTests Test: Try to import custom ringtone in work profile, no crash observed Test: Set the custom ringtone as default. Tested both work gmail and calendar can play that ringtone. Test: Try to import the peresonal ringtone, it is still working. Bug: 37197930 Change-Id: I2b662247d7e70b59bae08e082e9682d74d797484
This commit is contained in:
@@ -19,40 +19,15 @@ package com.android.settings;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.media.RingtoneManager;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.net.Uri;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
|
||||
public class DefaultRingtonePreference extends RingtonePreference {
|
||||
private static final String TAG = "DefaultRingtonePreference";
|
||||
|
||||
private int mUserId = UserHandle.USER_CURRENT;
|
||||
protected Context mUserContext;
|
||||
|
||||
public DefaultRingtonePreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mUserContext = getContext();
|
||||
}
|
||||
|
||||
public void setUserId(int userId) {
|
||||
mUserId = userId;
|
||||
mUserContext = Utils.createPackageContextAsUser(getContext(), mUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void performClick() {
|
||||
if (mUserId != UserHandle.USER_CURRENT) {
|
||||
if (Utils.confirmWorkProfileCredentialsIfNecessary(getContext(), mUserId) ||
|
||||
Utils.startQuietModeDialogIfNecessary(getContext(),
|
||||
UserManager.get(getContext()), mUserId)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
super.performClick();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -64,9 +39,6 @@ public class DefaultRingtonePreference extends RingtonePreference {
|
||||
* doesn't make sense to show a 'Default' item.
|
||||
*/
|
||||
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false);
|
||||
if (mUserId != UserHandle.USER_CURRENT) {
|
||||
ringtonePickerIntent.putExtra(Intent.EXTRA_USER_ID, mUserId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user