1ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov/* 2ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * Copyright (C) 2017 The Android Open Source Project 3ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * 4ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * Licensed under the Apache License, Version 2.0 (the "License"); 5ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * you may not use this file except in compliance with the License. 6ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * You may obtain a copy of the License at 7ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * 8ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * http://www.apache.org/licenses/LICENSE-2.0 9ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * 10ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * Unless required by applicable law or agreed to in writing, software 11ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * distributed under the License is distributed on an "AS IS" BASIS, 12ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * See the License for the specific language governing permissions and 14ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov * limitations under the License 15ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov */ 16ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 17ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovpackage com.android.settings.backup; 18ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 19ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovimport android.app.backup.BackupManager; 20ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovimport android.content.Context; 21ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovimport android.os.UserManager; 22ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovimport android.support.v7.preference.Preference; 23ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 24ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippovimport com.android.settings.R; 251d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerimport com.android.settings.core.PreferenceControllerMixin; 261d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerimport com.android.settingslib.core.AbstractPreferenceController; 27ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 281d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerpublic class BackupSettingsActivityPreferenceController extends 291d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantler AbstractPreferenceController implements PreferenceControllerMixin { 30ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov private static final String KEY_BACKUP_SETTINGS = "backup_settings"; 31ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov private static final String TAG = "BackupSettingActivityPC" ; 32ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 33ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov private final UserManager mUm; 34ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov private final BackupManager mBackupManager; 35ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 36ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov public BackupSettingsActivityPreferenceController(Context context) { 37ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov super(context); 38ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); 39ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov mBackupManager = new BackupManager(context); 40ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov } 41ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 42ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov @Override 43ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov public boolean isAvailable() { 44ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov return mUm.isAdminUser(); 45ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov } 46ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 47ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov @Override 48ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov public String getPreferenceKey() { 49ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov return KEY_BACKUP_SETTINGS; 50ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov } 51ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 52ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov @Override 53ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov public void updateState(Preference preference) { 54ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov final boolean backupEnabled = mBackupManager.isBackupEnabled(); 55ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov 56ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov preference.setSummary(backupEnabled 57ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov ? R.string.accessibility_feature_state_on 58ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov : R.string.accessibility_feature_state_off); 59ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov } 60ca5e1bd67b4180f2ccd658b98764d34845e5e508Anton Philippov} 61