blob: d16e1e58e2f17e8b4cb51705b163dd563530acc1 [file] [log] [blame]
Doris Ling9ed29a22017-11-02 16:42:45 -07001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the
10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 * KIND, either express or implied. See the License for the specific language governing
12 * permissions and limitations under the License.
13 */
14package com.android.settings.location;
15
16import android.content.Context;
17import android.provider.Settings;
Doris Ling9ed29a22017-11-02 16:42:45 -070018
Fan Zhangc7162cd2018-06-18 15:21:41 -070019import androidx.preference.Preference;
20import androidx.preference.SwitchPreference;
21
Fan Zhang23f8d592018-08-28 15:11:40 -070022import com.android.settings.core.PreferenceControllerMixin;
23import com.android.settingslib.core.AbstractPreferenceController;
24
Doris Ling9ed29a22017-11-02 16:42:45 -070025public class BluetoothScanningPreferenceController extends AbstractPreferenceController
26 implements PreferenceControllerMixin {
27
28 private static final String KEY_BLUETOOTH_SCAN_ALWAYS_AVAILABLE = "bluetooth_always_scanning";
29
30 public BluetoothScanningPreferenceController(Context context) {
31 super(context);
32 }
33
34 @Override
35 public boolean isAvailable() {
36 return true;
37 }
38
39 @Override
40 public String getPreferenceKey() {
41 return KEY_BLUETOOTH_SCAN_ALWAYS_AVAILABLE;
42 }
43
44 @Override
45 public void updateState(Preference preference) {
46 ((SwitchPreference) preference).setChecked(
47 Settings.Global.getInt(mContext.getContentResolver(),
48 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
49 }
50
51 @Override
52 public boolean handlePreferenceTreeClick(Preference preference) {
53 if (KEY_BLUETOOTH_SCAN_ALWAYS_AVAILABLE.equals(preference.getKey())) {
54 Settings.Global.putInt(mContext.getContentResolver(),
55 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE,
56 ((SwitchPreference) preference).isChecked() ? 1 : 0);
57 return true;
58 }
59 return false;
60 }
61}