Merge "Show "Backup service isn't active" if backup isnt active for work profile"

This commit is contained in:
Chandan Nath
2019-04-02 14:20:41 +00:00
committed by Android (Google) Code Review
3 changed files with 9 additions and 20 deletions

View File

@@ -639,10 +639,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,

View File

@@ -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;
}

View File

@@ -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);