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
17package com.android.settings.backup;
18
19
20import android.content.Context;
21import android.content.Intent;
22import android.support.v7.preference.Preference;
23import android.support.v7.preference.PreferenceScreen;
24
25import com.android.settings.core.PreferenceControllerMixin;
26import com.android.settingslib.core.AbstractPreferenceController;
27
28public 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