Prefs.java revision d9c75dba75ad4742dbaadc34db99d2b76cebca91
182862573bcf246128782b91ea627285c43133a8dAndrew Flynn/* 282862573bcf246128782b91ea627285c43133a8dAndrew Flynn * Copyright (C) 2015 The Android Open Source Project 382862573bcf246128782b91ea627285c43133a8dAndrew Flynn * 482862573bcf246128782b91ea627285c43133a8dAndrew Flynn * Licensed under the Apache License, Version 2.0 (the "License"); 582862573bcf246128782b91ea627285c43133a8dAndrew Flynn * you may not use this file except in compliance with the License. 682862573bcf246128782b91ea627285c43133a8dAndrew Flynn * You may obtain a copy of the License at 782862573bcf246128782b91ea627285c43133a8dAndrew Flynn * 882862573bcf246128782b91ea627285c43133a8dAndrew Flynn * http://www.apache.org/licenses/LICENSE-2.0 982862573bcf246128782b91ea627285c43133a8dAndrew Flynn * 1082862573bcf246128782b91ea627285c43133a8dAndrew Flynn * Unless required by applicable law or agreed to in writing, software 1182862573bcf246128782b91ea627285c43133a8dAndrew Flynn * distributed under the License is distributed on an "AS IS" BASIS, 1282862573bcf246128782b91ea627285c43133a8dAndrew Flynn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1382862573bcf246128782b91ea627285c43133a8dAndrew Flynn * See the License for the specific language governing permissions and 1482862573bcf246128782b91ea627285c43133a8dAndrew Flynn * limitations under the License. 1582862573bcf246128782b91ea627285c43133a8dAndrew Flynn */ 1682862573bcf246128782b91ea627285c43133a8dAndrew Flynn 1782862573bcf246128782b91ea627285c43133a8dAndrew Flynnpackage com.android.systemui; 1882862573bcf246128782b91ea627285c43133a8dAndrew Flynn 1982862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport android.annotation.StringDef; 2082862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport android.content.Context; 2182862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport android.content.SharedPreferences; 2282862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport android.content.SharedPreferences.OnSharedPreferenceChangeListener; 2382862573bcf246128782b91ea627285c43133a8dAndrew Flynn 2482862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport java.lang.annotation.Retention; 2582862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport java.lang.annotation.RetentionPolicy; 2682862573bcf246128782b91ea627285c43133a8dAndrew Flynnimport java.util.Map; 2782862573bcf246128782b91ea627285c43133a8dAndrew Flynn 2882862573bcf246128782b91ea627285c43133a8dAndrew Flynnpublic final class Prefs { 2982862573bcf246128782b91ea627285c43133a8dAndrew Flynn private Prefs() {} // no instantation 3082862573bcf246128782b91ea627285c43133a8dAndrew Flynn 3182862573bcf246128782b91ea627285c43133a8dAndrew Flynn @Retention(RetentionPolicy.SOURCE) 3282862573bcf246128782b91ea627285c43133a8dAndrew Flynn @StringDef({ 3382862573bcf246128782b91ea627285c43133a8dAndrew Flynn Key.SEARCH_APP_WIDGET_ID, 3482862573bcf246128782b91ea627285c43133a8dAndrew Flynn Key.DEBUG_MODE_ENABLED, 3582862573bcf246128782b91ea627285c43133a8dAndrew Flynn Key.HOTSPOT_TILE_LAST_USED, 3682862573bcf246128782b91ea627285c43133a8dAndrew Flynn Key.COLOR_INVERSION_TILE_LAST_USED, 3782862573bcf246128782b91ea627285c43133a8dAndrew Flynn Key.DND_TILE_VISIBLE, 38f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock Key.DND_TILE_COMBINED_ICON, 39f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock Key.DND_CONFIRMED_PRIORITY_INTRODUCTION, 40d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock Key.DND_CONFIRMED_SILENCE_INTRODUCTION, 41f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock Key.DND_FAVORITE_BUCKET_INDEX, 42f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock Key.DND_NONE_SELECTED, 43d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock Key.DND_FAVORITE_ZEN, 4482862573bcf246128782b91ea627285c43133a8dAndrew Flynn }) 4582862573bcf246128782b91ea627285c43133a8dAndrew Flynn public @interface Key { 4682862573bcf246128782b91ea627285c43133a8dAndrew Flynn String SEARCH_APP_WIDGET_ID = "searchAppWidgetId"; 4782862573bcf246128782b91ea627285c43133a8dAndrew Flynn String DEBUG_MODE_ENABLED = "debugModeEnabled"; 4882862573bcf246128782b91ea627285c43133a8dAndrew Flynn String HOTSPOT_TILE_LAST_USED = "HotspotTileLastUsed"; 4982862573bcf246128782b91ea627285c43133a8dAndrew Flynn String COLOR_INVERSION_TILE_LAST_USED = "ColorInversionTileLastUsed"; 5082862573bcf246128782b91ea627285c43133a8dAndrew Flynn String DND_TILE_VISIBLE = "DndTileVisible"; 5182862573bcf246128782b91ea627285c43133a8dAndrew Flynn String DND_TILE_COMBINED_ICON = "DndTileCombinedIcon"; 52f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock String DND_CONFIRMED_PRIORITY_INTRODUCTION = "DndConfirmedPriorityIntroduction"; 53d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock String DND_CONFIRMED_SILENCE_INTRODUCTION = "DndConfirmedSilenceIntroduction"; 54f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock String DND_FAVORITE_BUCKET_INDEX = "DndCountdownMinuteIndex"; 55f55b7f2fb614b917b7d1943396880978258dd1bbJohn Spurlock String DND_NONE_SELECTED = "DndNoneSelected"; 56d9c75dba75ad4742dbaadc34db99d2b76cebca91John Spurlock String DND_FAVORITE_ZEN = "DndFavoriteZen"; 5782862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 5882862573bcf246128782b91ea627285c43133a8dAndrew Flynn 5982862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static boolean getBoolean(Context context, @Key String key, boolean defaultValue) { 6082862573bcf246128782b91ea627285c43133a8dAndrew Flynn return get(context).getBoolean(key, defaultValue); 6182862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 6282862573bcf246128782b91ea627285c43133a8dAndrew Flynn 6382862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void putBoolean(Context context, @Key String key, boolean value) { 6482862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).edit().putBoolean(key, value).apply(); 6582862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 6682862573bcf246128782b91ea627285c43133a8dAndrew Flynn 6782862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static int getInt(Context context, @Key String key, int defaultValue) { 6882862573bcf246128782b91ea627285c43133a8dAndrew Flynn return get(context).getInt(key, defaultValue); 6982862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 7082862573bcf246128782b91ea627285c43133a8dAndrew Flynn 7182862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void putInt(Context context, @Key String key, int value) { 7282862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).edit().putInt(key, value).apply(); 7382862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 7482862573bcf246128782b91ea627285c43133a8dAndrew Flynn 7582862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static long getLong(Context context, @Key String key, long defaultValue) { 7682862573bcf246128782b91ea627285c43133a8dAndrew Flynn return get(context).getLong(key, defaultValue); 7782862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 7882862573bcf246128782b91ea627285c43133a8dAndrew Flynn 7982862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void putLong(Context context, @Key String key, long value) { 8082862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).edit().putLong(key, value).apply(); 8182862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 8282862573bcf246128782b91ea627285c43133a8dAndrew Flynn 8382862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static Map<String, ?> getAll(Context context) { 8482862573bcf246128782b91ea627285c43133a8dAndrew Flynn return get(context).getAll(); 8582862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 8682862573bcf246128782b91ea627285c43133a8dAndrew Flynn 8782862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void remove(Context context, @Key String key) { 8882862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).edit().remove(key).apply(); 8982862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 9082862573bcf246128782b91ea627285c43133a8dAndrew Flynn 9182862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void registerListener(Context context, 9282862573bcf246128782b91ea627285c43133a8dAndrew Flynn OnSharedPreferenceChangeListener listener) { 9382862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).registerOnSharedPreferenceChangeListener(listener); 9482862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 9582862573bcf246128782b91ea627285c43133a8dAndrew Flynn 9682862573bcf246128782b91ea627285c43133a8dAndrew Flynn public static void unregisterListener(Context context, 9782862573bcf246128782b91ea627285c43133a8dAndrew Flynn OnSharedPreferenceChangeListener listener) { 9882862573bcf246128782b91ea627285c43133a8dAndrew Flynn get(context).unregisterOnSharedPreferenceChangeListener(listener); 9982862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 10082862573bcf246128782b91ea627285c43133a8dAndrew Flynn 10182862573bcf246128782b91ea627285c43133a8dAndrew Flynn private static SharedPreferences get(Context context) { 10282862573bcf246128782b91ea627285c43133a8dAndrew Flynn return context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); 10382862573bcf246128782b91ea627285c43133a8dAndrew Flynn } 10482862573bcf246128782b91ea627285c43133a8dAndrew Flynn} 105