blob: 3208ae4fe76cb1c641fef069861f35449a690cb1 [file] [log] [blame]
Anton Philippovadfec552017-01-25 20:37:36 +00001/*
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;
Anton Philippovadfec552017-01-25 20:37:36 +000022
Fan Zhangc7162cd2018-06-18 15:21:41 -070023import androidx.preference.Preference;
24import androidx.preference.PreferenceScreen;
25
Fan Zhang23f8d592018-08-28 15:11:40 -070026import com.android.settings.core.PreferenceControllerMixin;
27import com.android.settingslib.core.AbstractPreferenceController;
28
Tony Mantler1d583e12017-06-13 13:09:25 -070029public class BackupSettingsPreferenceController extends AbstractPreferenceController
30 implements PreferenceControllerMixin {
Anton Philippovadfec552017-01-25 20:37:36 +000031 private static final String BACKUP_SETTINGS = "backup_settings";
32 private static final String MANUFACTURER_SETTINGS = "manufacturer_backup";
Torsten Grote381c12b2020-09-30 15:14:49 -030033 private final BackupSettingsHelper settingsHelper;
Anton Philippovadfec552017-01-25 20:37:36 +000034 private Intent mManufacturerIntent;
35 private String mManufacturerLabel;
36
37 public BackupSettingsPreferenceController(Context context) {
38 super(context);
Torsten Grote381c12b2020-09-30 15:14:49 -030039 settingsHelper = new BackupSettingsHelper(context);
Anton Philippovadfec552017-01-25 20:37:36 +000040 mManufacturerIntent = settingsHelper.getIntentProvidedByManufacturer();
41 mManufacturerLabel = settingsHelper.getLabelProvidedByManufacturer();
42 }
43
44 @Override
45 public void displayPreference(PreferenceScreen screen) {
Torsten Grote381c12b2020-09-30 15:14:49 -030046 // we don't get these in the constructor, so we can get updates for them later
47 Intent mBackupSettingsIntent = settingsHelper.getIntentForBackupSettings();
48 CharSequence mBackupSettingsTitle = settingsHelper.getLabelForBackupSettings();
49 String mBackupSettingsSummary = settingsHelper.getSummaryForBackupSettings();
50
Anton Philippovadfec552017-01-25 20:37:36 +000051 Preference backupSettings = screen.findPreference(BACKUP_SETTINGS);
52 Preference manufacturerSettings = screen.findPreference(MANUFACTURER_SETTINGS);
53 backupSettings.setIntent(mBackupSettingsIntent);
54 backupSettings.setTitle(mBackupSettingsTitle);
55 backupSettings.setSummary(mBackupSettingsSummary);
56 manufacturerSettings.setIntent(mManufacturerIntent);
57 manufacturerSettings.setTitle(mManufacturerLabel);
58 }
59
60 /**
61 * Returns true if preference is available (should be displayed)
62 */
63 @Override
64 public boolean isAvailable() {
65 return true;
66 }
67
68 /**
69 * Returns the key for this preference.
70 */
71 @Override
72 public String getPreferenceKey() {
73 return null;
74 }
75}