1f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock/*
2f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * Copyright (C) 2015 The Android Open Source Project
3f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock *
4f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * Licensed under the Apache License, Version 2.0 (the "License");
5f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * you may not use this file except in compliance with the License.
6f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * You may obtain a copy of the License at
7f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock *
8f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock *      http://www.apache.org/licenses/LICENSE-2.0
9f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock *
10f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * Unless required by applicable law or agreed to in writing, software
11f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * distributed under the License is distributed on an "AS IS" BASIS,
12f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * See the License for the specific language governing permissions and
14f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock * limitations under the License.
15f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock */
16f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
17f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlockpackage com.android.systemui.volume;
18f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
19f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlockimport android.content.Context;
20f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlockimport android.content.SharedPreferences;
21f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlockimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;
22f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlockimport android.preference.PreferenceManager;
23f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
24f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock/**
25f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock *  Configuration for the volume dialog + related policy.
26f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock */
27f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlockpublic class VolumePrefs {
28f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
29f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ENABLE_PROTOTYPE = "pref_enable_prototype";  // not persistent
30f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SHOW_ALARMS = "pref_show_alarms";
31f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SHOW_SYSTEM = "pref_show_system";
32f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SHOW_HEADERS = "pref_show_headers";
33f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SHOW_FAKE_REMOTE_1 = "pref_show_fake_remote_1";
34f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SHOW_FAKE_REMOTE_2 = "pref_show_fake_remote_2";
35f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ENABLE_AUTOMUTE = "pref_enable_automute";
36f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ENABLE_SILENT_MODE = "pref_enable_silent_mode";
37f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_DEBUG_LOGGING = "pref_debug_logging";
38f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_SEND_LOGS = "pref_send_logs";
39f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_SYSTEM = "pref_adjust_system";
40f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_VOICE_CALLS = "pref_adjust_voice_calls";
41f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_BLUETOOTH_SCO = "pref_adjust_bluetooth_sco";
42f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_MEDIA = "pref_adjust_media";
43f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_ALARMS = "pref_adjust_alarms";
44f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final String PREF_ADJUST_NOTIFICATION = "pref_adjust_notification";
45f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
465f83c85182f11a5d9f30ab4eb408a36b386e45eeJulia Reynolds    public static final boolean DEFAULT_SHOW_HEADERS = true;
47f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final boolean DEFAULT_ENABLE_AUTOMUTE = true;
48f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static final boolean DEFAULT_ENABLE_SILENT_MODE = true;
49f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
50f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static void unregisterCallbacks(Context c, OnSharedPreferenceChangeListener listener) {
51f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock        prefs(c).unregisterOnSharedPreferenceChangeListener(listener);
52f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    }
53f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
54f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static void registerCallbacks(Context c, OnSharedPreferenceChangeListener listener) {
55f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock        prefs(c).registerOnSharedPreferenceChangeListener(listener);
56f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    }
57f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
58f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    private static SharedPreferences prefs(Context context) {
59f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock        return PreferenceManager.getDefaultSharedPreferences(context);
60f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    }
61f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock
62f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    public static boolean get(Context context, String key, boolean def) {
63f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock        return prefs(context).getBoolean(key, def);
64f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock    }
65f88d8082a86bee00c604cbbcfb5261f5573936feJohn Spurlock}
66