Loading src/com/android/settings/ChooseLockSettingsHelper.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -88,8 +88,8 @@ public final class ChooseLockSettingsHelper { * @return true if one exists and we launched an activity to confirm it * @return true if one exists and we launched an activity to confirm it * @see Activity#onActivityResult(int, int, android.content.Intent) * @see Activity#onActivityResult(int, int, android.content.Intent) */ */ boolean launchConfirmationActivity(int request, CharSequence title, boolean returnCredentials, public boolean launchConfirmationActivity(int request, CharSequence title, int userId) { boolean returnCredentials, int userId) { return launchConfirmationActivity(request, title, null, null, return launchConfirmationActivity(request, title, null, null, returnCredentials, false, false, 0, Utils.enforceSameOwner(mActivity, userId)); returnCredentials, false, false, 0, Utils.enforceSameOwner(mActivity, userId)); } } Loading src/com/android/settings/accounts/AddAccountSettings.java +33 −12 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.UserManager; import android.util.Log; import android.util.Log; import android.widget.Toast; import android.widget.Toast; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.R; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.Utils; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils; Loading Loading @@ -83,6 +84,7 @@ public class AddAccountSettings extends Activity { private static final int CHOOSE_ACCOUNT_REQUEST = 1; private static final int CHOOSE_ACCOUNT_REQUEST = 1; private static final int ADD_ACCOUNT_REQUEST = 2; private static final int ADD_ACCOUNT_REQUEST = 2; private static final int UNLOCK_WORK_PROFILE_REQUEST = 3; private PendingIntent mPendingIntent; private PendingIntent mPendingIntent; Loading Loading @@ -154,24 +156,27 @@ public class AddAccountSettings extends Activity { finish(); finish(); return; return; } } final String[] authorities = getIntent().getStringArrayExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY); // If the profile is locked, we must ask the user to unlock it first. final String[] accountTypes = ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this); getIntent().getStringArrayExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY); if (!helper.launchConfirmationActivity(UNLOCK_WORK_PROFILE_REQUEST, final Intent intent = new Intent(this, ChooseAccountActivity.class); getString(R.string.unlock_set_unlock_launch_picker_title), if (authorities != null) { false, intent.putExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY, authorities); mUserHandle.getIdentifier())) { } requestChooseAccount(); if (accountTypes != null) { intent.putExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY, accountTypes); } } intent.putExtra(EXTRA_USER, mUserHandle); startActivityForResult(intent, CHOOSE_ACCOUNT_REQUEST); } } @Override @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { switch (requestCode) { case UNLOCK_WORK_PROFILE_REQUEST: if (resultCode == Activity.RESULT_OK) { requestChooseAccount(); } else { finish(); } break; case CHOOSE_ACCOUNT_REQUEST: case CHOOSE_ACCOUNT_REQUEST: if (resultCode == RESULT_CANCELED) { if (resultCode == RESULT_CANCELED) { if (data != null) { if (data != null) { Loading Loading @@ -202,6 +207,22 @@ public class AddAccountSettings extends Activity { if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "saved"); if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "saved"); } } private void requestChooseAccount() { final String[] authorities = getIntent().getStringArrayExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY); final String[] accountTypes = getIntent().getStringArrayExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY); final Intent intent = new Intent(this, ChooseAccountActivity.class); if (authorities != null) { intent.putExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY, authorities); } if (accountTypes != null) { intent.putExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY, accountTypes); } intent.putExtra(EXTRA_USER, mUserHandle); startActivityForResult(intent, CHOOSE_ACCOUNT_REQUEST); } private void addAccount(String accountType) { private void addAccount(String accountType) { Bundle addAccountOptions = new Bundle(); Bundle addAccountOptions = new Bundle(); /* /* Loading Loading
src/com/android/settings/ChooseLockSettingsHelper.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -88,8 +88,8 @@ public final class ChooseLockSettingsHelper { * @return true if one exists and we launched an activity to confirm it * @return true if one exists and we launched an activity to confirm it * @see Activity#onActivityResult(int, int, android.content.Intent) * @see Activity#onActivityResult(int, int, android.content.Intent) */ */ boolean launchConfirmationActivity(int request, CharSequence title, boolean returnCredentials, public boolean launchConfirmationActivity(int request, CharSequence title, int userId) { boolean returnCredentials, int userId) { return launchConfirmationActivity(request, title, null, null, return launchConfirmationActivity(request, title, null, null, returnCredentials, false, false, 0, Utils.enforceSameOwner(mActivity, userId)); returnCredentials, false, false, 0, Utils.enforceSameOwner(mActivity, userId)); } } Loading
src/com/android/settings/accounts/AddAccountSettings.java +33 −12 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.UserManager; import android.util.Log; import android.util.Log; import android.widget.Toast; import android.widget.Toast; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.R; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.Utils; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils; Loading Loading @@ -83,6 +84,7 @@ public class AddAccountSettings extends Activity { private static final int CHOOSE_ACCOUNT_REQUEST = 1; private static final int CHOOSE_ACCOUNT_REQUEST = 1; private static final int ADD_ACCOUNT_REQUEST = 2; private static final int ADD_ACCOUNT_REQUEST = 2; private static final int UNLOCK_WORK_PROFILE_REQUEST = 3; private PendingIntent mPendingIntent; private PendingIntent mPendingIntent; Loading Loading @@ -154,24 +156,27 @@ public class AddAccountSettings extends Activity { finish(); finish(); return; return; } } final String[] authorities = getIntent().getStringArrayExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY); // If the profile is locked, we must ask the user to unlock it first. final String[] accountTypes = ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this); getIntent().getStringArrayExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY); if (!helper.launchConfirmationActivity(UNLOCK_WORK_PROFILE_REQUEST, final Intent intent = new Intent(this, ChooseAccountActivity.class); getString(R.string.unlock_set_unlock_launch_picker_title), if (authorities != null) { false, intent.putExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY, authorities); mUserHandle.getIdentifier())) { } requestChooseAccount(); if (accountTypes != null) { intent.putExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY, accountTypes); } } intent.putExtra(EXTRA_USER, mUserHandle); startActivityForResult(intent, CHOOSE_ACCOUNT_REQUEST); } } @Override @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { switch (requestCode) { case UNLOCK_WORK_PROFILE_REQUEST: if (resultCode == Activity.RESULT_OK) { requestChooseAccount(); } else { finish(); } break; case CHOOSE_ACCOUNT_REQUEST: case CHOOSE_ACCOUNT_REQUEST: if (resultCode == RESULT_CANCELED) { if (resultCode == RESULT_CANCELED) { if (data != null) { if (data != null) { Loading Loading @@ -202,6 +207,22 @@ public class AddAccountSettings extends Activity { if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "saved"); if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "saved"); } } private void requestChooseAccount() { final String[] authorities = getIntent().getStringArrayExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY); final String[] accountTypes = getIntent().getStringArrayExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY); final Intent intent = new Intent(this, ChooseAccountActivity.class); if (authorities != null) { intent.putExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY, authorities); } if (accountTypes != null) { intent.putExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY, accountTypes); } intent.putExtra(EXTRA_USER, mUserHandle); startActivityForResult(intent, CHOOSE_ACCOUNT_REQUEST); } private void addAccount(String accountType) { private void addAccount(String accountType) { Bundle addAccountOptions = new Bundle(); Bundle addAccountOptions = new Bundle(); /* /* Loading