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,
packageName);
mMetricsFeatureProvider.action(mActivity,
SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN);
SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN,
getPackageNameForMetric());
mFragment.startActivityForResult(uninstallDaIntent, mRequestRemoveDeviceAdmin);
return;
}
@@ -253,7 +254,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
mActivity,
mAppEntry.info.enabled
? SettingsEnums.ACTION_SETTINGS_DISABLE_APP
: SettingsEnums.ACTION_SETTINGS_ENABLE_APP);
: SettingsEnums.ACTION_SETTINGS_ENABLE_APP,
getPackageNameForMetric());
AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT));
}
@@ -270,7 +272,9 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
@Override
public void onClick(View v) {
mMetricsFeatureProvider.action(
mActivity, SettingsEnums.ACTION_APP_INFO_FORCE_STOP);
mActivity,
SettingsEnums.ACTION_APP_INFO_FORCE_STOP,
getPackageNameForMetric());
// force stop
if (mPm.isPackageStateProtected(mAppEntry.info.packageName, mUserId)) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mActivity,
@@ -757,6 +761,14 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|| 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
*/

View File

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

View File

@@ -190,7 +190,8 @@ public class ChooseLockGenericController {
* requirements. The lock's visibility ({@link #isScreenLockVisible}) is not considered here.
*/
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),
eq(MetricsEvent.SETTINGS_GESTURES));
verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
.startActivityAsUser(any(Intent.class), any(UserHandle.class));
}
@Test
@@ -257,7 +257,7 @@ public class DashboardFeatureProviderImplTest {
any(Intent.class),
anyInt());
verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
.startActivityAsUser(any(Intent.class), any(UserHandle.class));
}
@Test
@@ -568,7 +568,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0));
.startActivity(any(Intent.class));
verify(mActivity).getSupportFragmentManager();
}
@@ -585,7 +585,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0));
.startActivity(any(Intent.class));
verify(mActivity).getSupportFragmentManager();
}
@@ -602,7 +602,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile);
verify(mActivity)
.startActivityForResult(any(Intent.class), eq(0));
.startActivity(any(Intent.class));
verify(mActivity, never()).getSupportFragmentManager();
}
@@ -623,7 +623,7 @@ public class DashboardFeatureProviderImplTest {
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
.startActivityAsUser(any(Intent.class), argument.capture());
assertThat(argument.getValue().getIdentifier()).isEqualTo(userId);
verify(mActivity, never()).getSupportFragmentManager();
}
@@ -642,7 +642,7 @@ public class DashboardFeatureProviderImplTest {
mImpl.openTileIntent(mActivity, tile);
verify(mActivity, never())
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
.startActivityAsUser(any(Intent.class), any(UserHandle.class));
verify(mActivity).getSupportFragmentManager();
}
@@ -665,7 +665,7 @@ public class DashboardFeatureProviderImplTest {
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
verify(mActivity)
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
.startActivityAsUser(any(Intent.class), argument.capture());
assertThat(argument.getValue().getIdentifier()).isEqualTo(0);
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_QUALITY_ALPHABETIC;
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_COMPLEX;
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
@@ -189,6 +190,16 @@ public class ChooseLockGenericControllerTest {
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
public void isScreenLockEnabled_NoneComplexity() {
when(mLockPatternUtils.getRequestedPasswordComplexity(anyInt(), anyBoolean()))
@@ -353,6 +364,9 @@ public class ChooseLockGenericControllerTest {
when(mLockPatternUtils.getRequestedPasswordMetrics(anyInt(), anyBoolean()))
.thenReturn(policy.getMinMetrics());
when(mLockPatternUtils.isCredentialsDisabledForUser(anyInt()))
.thenReturn(quality == PASSWORD_QUALITY_MANAGED);
}
private ChooseLockGenericController.Builder createBuilder() {