Snap for 7731944 from 9fdeebf664 to sc-v2-release

Change-Id: Id8f24216a02478d7d9a3e321fa27415d563664f0
This commit is contained in:
Android Build Coastguard Worker
2021-09-14 23:08:03 +00:00
5 changed files with 43 additions and 16 deletions

View File

@@ -226,7 +226,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
uninstallDaIntent.putExtra(DeviceAdminAdd.EXTRA_DEVICE_ADMIN_PACKAGE_NAME, uninstallDaIntent.putExtra(DeviceAdminAdd.EXTRA_DEVICE_ADMIN_PACKAGE_NAME,
packageName); packageName);
mMetricsFeatureProvider.action(mActivity, mMetricsFeatureProvider.action(mActivity,
SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN); SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN,
getPackageNameForMetric());
mFragment.startActivityForResult(uninstallDaIntent, mRequestRemoveDeviceAdmin); mFragment.startActivityForResult(uninstallDaIntent, mRequestRemoveDeviceAdmin);
return; return;
} }
@@ -253,7 +254,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
mActivity, mActivity,
mAppEntry.info.enabled mAppEntry.info.enabled
? SettingsEnums.ACTION_SETTINGS_DISABLE_APP ? SettingsEnums.ACTION_SETTINGS_DISABLE_APP
: SettingsEnums.ACTION_SETTINGS_ENABLE_APP); : SettingsEnums.ACTION_SETTINGS_ENABLE_APP,
getPackageNameForMetric());
AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName, AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)); PackageManager.COMPONENT_ENABLED_STATE_DEFAULT));
} }
@@ -270,7 +272,9 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
@Override @Override
public void onClick(View v) { public void onClick(View v) {
mMetricsFeatureProvider.action( mMetricsFeatureProvider.action(
mActivity, SettingsEnums.ACTION_APP_INFO_FORCE_STOP); mActivity,
SettingsEnums.ACTION_APP_INFO_FORCE_STOP,
getPackageNameForMetric());
// force stop // force stop
if (mPm.isPackageStateProtected(mAppEntry.info.packageName, mUserId)) { if (mPm.isPackageStateProtected(mAppEntry.info.packageName, mUserId)) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mActivity, RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mActivity,
@@ -757,6 +761,14 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|| AppUtils.isMainlineModule(mPm, mAppEntry.info.packageName)); || AppUtils.isMainlineModule(mPm, mAppEntry.info.packageName));
} }
private String getPackageNameForMetric() {
final String packageName =
mAppEntry != null && mAppEntry.info != null
? mAppEntry.info.packageName
: null;
return packageName != null ? packageName : "";
}
/** /**
* Changes the status of disable/enable for a package * Changes the status of disable/enable for a package
*/ */

View File

@@ -422,19 +422,19 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory); mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
if (tile.userHandle == null || tile.isPrimaryProfileOnly()) { if (tile.userHandle == null || tile.isPrimaryProfileOnly()) {
activity.startActivityForResult(intent, 0); activity.startActivity(intent);
} else if (tile.userHandle.size() == 1) { } else if (tile.userHandle.size() == 1) {
activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0)); activity.startActivityAsUser(intent, tile.userHandle.get(0));
} else { } else {
final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER); final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
if (userHandle != null && tile.userHandle.contains(userHandle)) { if (userHandle != null && tile.userHandle.contains(userHandle)) {
activity.startActivityForResultAsUser(intent, 0, userHandle); activity.startActivityAsUser(intent, userHandle);
return; return;
} }
final List<UserHandle> resolvableUsers = getResolvableUsers(intent, tile); final List<UserHandle> resolvableUsers = getResolvableUsers(intent, tile);
if (resolvableUsers.size() == 1) { if (resolvableUsers.size() == 1) {
activity.startActivityForResultAsUser(intent, 0, resolvableUsers.get(0)); activity.startActivityAsUser(intent, resolvableUsers.get(0));
return; return;
} }

View File

@@ -190,7 +190,8 @@ public class ChooseLockGenericController {
* requirements. The lock's visibility ({@link #isScreenLockVisible}) is not considered here. * requirements. The lock's visibility ({@link #isScreenLockVisible}) is not considered here.
*/ */
public boolean isScreenLockEnabled(ScreenLockType type) { public boolean isScreenLockEnabled(ScreenLockType type) {
return type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED); return !mLockPatternUtils.isCredentialsDisabledForUser(mUserId)
&& type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED);
} }
/** /**

View File

@@ -239,7 +239,7 @@ public class DashboardFeatureProviderImplTest {
any(Intent.class), any(Intent.class),
eq(MetricsEvent.SETTINGS_GESTURES)); eq(MetricsEvent.SETTINGS_GESTURES));
verify(mActivity) verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class)); .startActivityAsUser(any(Intent.class), any(UserHandle.class));
} }
@Test @Test
@@ -257,7 +257,7 @@ public class DashboardFeatureProviderImplTest {
any(Intent.class), any(Intent.class),
anyInt()); anyInt());
verify(mActivity) verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class)); .startActivityAsUser(any(Intent.class), any(UserHandle.class));
} }
@Test @Test
@@ -568,7 +568,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile); mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never()) verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0)); .startActivity(any(Intent.class));
verify(mActivity).getSupportFragmentManager(); verify(mActivity).getSupportFragmentManager();
} }
@@ -585,7 +585,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile); mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never()) verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0)); .startActivity(any(Intent.class));
verify(mActivity).getSupportFragmentManager(); verify(mActivity).getSupportFragmentManager();
} }
@@ -602,7 +602,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile); mImpl.openTileIntent(mActivity, tile);
verify(mActivity) verify(mActivity)
.startActivityForResult(any(Intent.class), eq(0)); .startActivity(any(Intent.class));
verify(mActivity, never()).getSupportFragmentManager(); verify(mActivity, never()).getSupportFragmentManager();
} }
@@ -623,7 +623,7 @@ public class DashboardFeatureProviderImplTest {
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class); final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
verify(mActivity) verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture()); .startActivityAsUser(any(Intent.class), argument.capture());
assertThat(argument.getValue().getIdentifier()).isEqualTo(userId); assertThat(argument.getValue().getIdentifier()).isEqualTo(userId);
verify(mActivity, never()).getSupportFragmentManager(); verify(mActivity, never()).getSupportFragmentManager();
} }
@@ -642,7 +642,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile); mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never()) verify(mActivity, never())
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class)); .startActivityAsUser(any(Intent.class), any(UserHandle.class));
verify(mActivity).getSupportFragmentManager(); verify(mActivity).getSupportFragmentManager();
} }
@@ -665,7 +665,7 @@ public class DashboardFeatureProviderImplTest {
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class); final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
verify(mActivity) verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture()); .startActivityAsUser(any(Intent.class), argument.capture());
assertThat(argument.getValue().getIdentifier()).isEqualTo(0); assertThat(argument.getValue().getIdentifier()).isEqualTo(0);
verify(mActivity, never()).getSupportFragmentManager(); verify(mActivity, never()).getSupportFragmentManager();
} }

View File

@@ -22,6 +22,7 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_MEDIUM;
import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE; import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_MANAGED;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
@@ -189,6 +190,16 @@ public class ChooseLockGenericControllerTest {
assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isTrue(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isTrue();
} }
@Test
public void isScreenLockEnabled_QualityManaged() {
setDevicePolicyPasswordQuality(PASSWORD_QUALITY_MANAGED);
assertThat(mController.isScreenLockEnabled(ScreenLockType.NONE)).isFalse();
assertThat(mController.isScreenLockEnabled(ScreenLockType.SWIPE)).isFalse();
assertThat(mController.isScreenLockEnabled(ScreenLockType.PATTERN)).isFalse();
assertThat(mController.isScreenLockEnabled(ScreenLockType.PIN)).isFalse();
assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isFalse();
}
@Test @Test
public void isScreenLockEnabled_NoneComplexity() { public void isScreenLockEnabled_NoneComplexity() {
when(mLockPatternUtils.getRequestedPasswordComplexity(anyInt(), anyBoolean())) when(mLockPatternUtils.getRequestedPasswordComplexity(anyInt(), anyBoolean()))
@@ -353,6 +364,9 @@ public class ChooseLockGenericControllerTest {
when(mLockPatternUtils.getRequestedPasswordMetrics(anyInt(), anyBoolean())) when(mLockPatternUtils.getRequestedPasswordMetrics(anyInt(), anyBoolean()))
.thenReturn(policy.getMinMetrics()); .thenReturn(policy.getMinMetrics());
when(mLockPatternUtils.isCredentialsDisabledForUser(anyInt()))
.thenReturn(quality == PASSWORD_QUALITY_MANAGED);
} }
private ChooseLockGenericController.Builder createBuilder() { private ChooseLockGenericController.Builder createBuilder() {