Merge "If backup service is not available, remove Settings->Backup and Backup->"Backup is disabled by admin" from search results." into qt-dev

This commit is contained in:
Chandan Nath
2019-04-16 11:21:10 +00:00
committed by Android (Google) Code Review
6 changed files with 56 additions and 32 deletions

View File

@@ -639,12 +639,7 @@ public class SettingsActivity extends SettingsBaseActivity
showDev, isAdmin)
|| somethingChanged;
// 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();
boolean enableBackupTile = new BackupSettingsHelper(this).showBackupSettingsForUser();
somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
UserBackupSettingsActivity.class.getName()), enableBackupTile, isAdmin)
|| somethingChanged;

View File

@@ -28,6 +28,9 @@ public class BackupInactivePreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
if (!new BackupSettingsHelper(mContext).showBackupSettingsForUser()) {
return AVAILABLE_UNSEARCHABLE;
}
if (PrivacySettingsUtils.isInvisibleKey(mContext, PrivacySettingsUtils.BACKUP_INACTIVE)) {
return UNSUPPORTED_ON_DEVICE;
}

View File

@@ -50,6 +50,14 @@ public class BackupSettingsHelper {
mContext = context;
}
public boolean showBackupSettingsForUser() {
// 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.
return UserManager.get(mContext).isManagedProfile() || isBackupServiceActive();
}
/**
* If there is only one profile, show whether the backup is on or off.
* Otherwise, show nothing.

View File

@@ -98,7 +98,7 @@ public class UserBackupSettingsActivity extends FragmentActivity implements Inde
*/
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
private static final String BACKUP_SEARCH_INDEX_KEY = "backup";
private static final String BACKUP_SEARCH_INDEX_KEY = "Backup";
@Override
public List<SearchIndexableRaw> getRawDataToIndex(Context context,
@@ -119,6 +119,15 @@ public class UserBackupSettingsActivity extends FragmentActivity implements Inde
return result;
}
@Override
public List<String> getNonIndexableKeys(Context context) {
final List<String> keys = super.getNonIndexableKeys(context);
if (!new BackupSettingsHelper(context).showBackupSettingsForUser()) {
keys.add(BACKUP_SEARCH_INDEX_KEY);
}
return keys;
}
};
@VisibleForTesting