Home | History | Annotate | Download | only in backup
      1 /*
      2  * Copyright (C) 2017 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License
     15  */
     16 
     17 package com.android.settings.backup;
     18 
     19 
     20 import android.content.Context;
     21 import android.content.Intent;
     22 import android.support.v7.preference.Preference;
     23 import android.support.v7.preference.PreferenceScreen;
     24 
     25 import com.android.settings.core.PreferenceControllerMixin;
     26 import com.android.settingslib.core.AbstractPreferenceController;
     27 
     28 public class BackupSettingsPreferenceController extends AbstractPreferenceController
     29         implements PreferenceControllerMixin {
     30     private static final String BACKUP_SETTINGS = "backup_settings";
     31     private static final  String MANUFACTURER_SETTINGS = "manufacturer_backup";
     32     private Intent mBackupSettingsIntent;
     33     private String mBackupSettingsTitle;
     34     private String mBackupSettingsSummary;
     35     private Intent mManufacturerIntent;
     36     private String mManufacturerLabel;
     37 
     38     public BackupSettingsPreferenceController(Context context) {
     39         super(context);
     40         BackupSettingsHelper settingsHelper = new BackupSettingsHelper(context);
     41         mBackupSettingsIntent = settingsHelper.getIntentForBackupSettings();
     42         mBackupSettingsTitle = settingsHelper.getLabelForBackupSettings();
     43         mBackupSettingsSummary = settingsHelper.getSummaryForBackupSettings();
     44         mManufacturerIntent = settingsHelper.getIntentProvidedByManufacturer();
     45         mManufacturerLabel = settingsHelper.getLabelProvidedByManufacturer();
     46     }
     47 
     48     @Override
     49     public void displayPreference(PreferenceScreen screen) {
     50         Preference backupSettings = screen.findPreference(BACKUP_SETTINGS);
     51         Preference manufacturerSettings = screen.findPreference(MANUFACTURER_SETTINGS);
     52         backupSettings.setIntent(mBackupSettingsIntent);
     53         backupSettings.setTitle(mBackupSettingsTitle);
     54         backupSettings.setSummary(mBackupSettingsSummary);
     55         manufacturerSettings.setIntent(mManufacturerIntent);
     56         manufacturerSettings.setTitle(mManufacturerLabel);
     57     }
     58 
     59     /**
     60      * Returns true if preference is available (should be displayed)
     61      */
     62     @Override
     63     public boolean isAvailable() {
     64         return true;
     65     }
     66 
     67     /**
     68      * Returns the key for this preference.
     69      */
     70     @Override
     71     public String getPreferenceKey() {
     72         return null;
     73     }
     74 }
     75