diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 001e65be8be..e704076c5e7 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -632,10 +632,14 @@ public class SettingsActivity extends SettingsBaseActivity showDev, isAdmin) || somethingChanged; - // Enable/disable backup settings depending on whether backup is activated for the user. - boolean isBackupActive = new BackupSettingsHelper(this).isBackupServiceActive(); + // For profiles, we want them to be included in the profile select dialog even if + // backup is not activated. + // For other users, enable/disable backup settings depending on whether backup is activated + // for the user. + boolean enableBackupTile = um.isManagedProfile() + || new BackupSettingsHelper(this).isBackupServiceActive(); somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, - UserBackupSettingsActivity.class.getName()), isBackupActive, isAdmin) + UserBackupSettingsActivity.class.getName()), enableBackupTile, isAdmin) || somethingChanged; somethingChanged = setTileEnabled(changedList, new ComponentName(packageName, diff --git a/src/com/android/settings/backup/BackupInactivePreferenceController.java b/src/com/android/settings/backup/BackupInactivePreferenceController.java index 8bd278c2e13..83a03185e15 100644 --- a/src/com/android/settings/backup/BackupInactivePreferenceController.java +++ b/src/com/android/settings/backup/BackupInactivePreferenceController.java @@ -28,9 +28,6 @@ public class BackupInactivePreferenceController extends BasePreferenceController @Override public int getAvailabilityStatus() { - if (!PrivacySettingsUtils.isAdminUser(mContext)) { - return DISABLED_FOR_USER; - } if (PrivacySettingsUtils.isInvisibleKey(mContext, PrivacySettingsUtils.BACKUP_INACTIVE)) { return UNSUPPORTED_ON_DEVICE; } diff --git a/tests/robotests/src/com/android/settings/backup/BackupInactivePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/backup/BackupInactivePreferenceControllerTest.java index f8b3578d0d5..1d8d0283c2f 100644 --- a/tests/robotests/src/com/android/settings/backup/BackupInactivePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/backup/BackupInactivePreferenceControllerTest.java @@ -20,8 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; -import androidx.preference.Preference; - import com.android.settings.core.BasePreferenceController; import org.junit.After; @@ -38,7 +36,6 @@ import org.robolectric.annotation.Config; public class BackupInactivePreferenceControllerTest { private Context mContext; private BackupInactivePreferenceController mController; - private Preference mPreference; @Before public void setUp() { @@ -54,23 +51,14 @@ public class BackupInactivePreferenceControllerTest { } @Test - public void getAvailabilityStatus_isAdmiUser_isnotInvisibleKey_shouldBeAvailable() { - ShadowPrivacySettingsUtils.setIsAdminUser(true); + public void getAvailabilityStatus_isnotInvisibleKey_shouldBeAvailable() { ShadowPrivacySettingsUtils.setIsInvisibleKey(false); assertThat(mController.getAvailabilityStatus()) .isEqualTo(BasePreferenceController.AVAILABLE); } @Test - public void getAvailabilityStatus_isnotAdmiUser_shouldBeDisabledForUser() { - ShadowPrivacySettingsUtils.setIsAdminUser(false); - assertThat(mController.getAvailabilityStatus()) - .isEqualTo(BasePreferenceController.DISABLED_FOR_USER); - } - - @Test - public void getAvailabilityStatus_isAdmiUser_isInvisibleKey_shouldBeDisabledUnsupported() { - ShadowPrivacySettingsUtils.setIsAdminUser(true); + public void getAvailabilityStatus_isInvisibleKey_shouldBeDisabledUnsupported() { ShadowPrivacySettingsUtils.setIsInvisibleKey(true); assertThat(mController.getAvailabilityStatus()) .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);