/* * Copyright 2015. Appsi Mobile * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.appsimobile.appsii.module; import android.content.SharedPreferences; import com.appsimobile.appsii.dagger.AppInjector; /** * Created by nick on 25/05/14. */ public class AppsiPreferences { public static void initializeDefaults(SharedPreferences preferences, boolean restoreDefaults) { ModulePreferences.initializeDefaults(preferences, restoreDefaults); } public static SharedPreferences.Editor editor() { SharedPreferences preferences = AppInjector.provideSharedPreferences(); return preferences.edit(); } public static class ModulePreferences { public static final String MODULE_ID_APPS = "apps"; public static final String DEFAULT_MOD_0 = MODULE_ID_APPS; public static final String MODULE_ID_CALLS = "calls"; public static final String DEFAULT_MOD_1 = MODULE_ID_CALLS; public static final String MODULE_ID_CONTACTS = "contacts"; public static final String DEFAULT_MOD_2 = MODULE_ID_CONTACTS; public static final String MODULE_ID_SETTINGS = "settings"; public static final String DEFAULT_MOD_3 = MODULE_ID_SETTINGS; public static final String MODULE_ID_SMS = "sms"; public static final String DEFAULT_MOD_4 = MODULE_ID_SMS; public static final int VIEW_TYPE_LIST = 0; public static final int VIEW_TYPE_TILES = 1; public static final String KEY_DEFAULTS_VERSION = "mod_defaults_version"; public static final String KEY_MOD_0 = "mod_0"; public static final String KEY_MOD_1 = "mod_1"; public static final String KEY_MOD_2 = "mod_2"; public static final String KEY_MOD_3 = "mod_3"; public static final String KEY_MOD_4 = "mod_4"; public static final int VERSION = 1; static void initializeDefaults(SharedPreferences preferences, boolean restoreDefaults) { Apps.initializeDefaults(preferences, restoreDefaults); int version = preferences.getInt(KEY_DEFAULTS_VERSION, 0); if (version < VERSION) { preferences.edit(). putString(KEY_MOD_0, DEFAULT_MOD_0). putString(KEY_MOD_1, DEFAULT_MOD_1). putString(KEY_MOD_2, DEFAULT_MOD_2). putString(KEY_MOD_3, DEFAULT_MOD_3). putString(KEY_MOD_4, DEFAULT_MOD_4). putInt(KEY_DEFAULTS_VERSION, 1). apply(); } } static SharedPreferences.Editor setModuleOrder(SharedPreferences.Editor editor, String mod1, String mod2, String mod3, String mod4, String mod5) { return editor. putString(KEY_MOD_0, mod1). putString(KEY_MOD_1, mod2). putString(KEY_MOD_2, mod3). putString(KEY_MOD_3, mod4). putString(KEY_MOD_4, mod5); } public static class Apps { public static final String KEY_DISPLAY_MODE = "apps_display_mode"; public static final String KEY_DEFAULTS_SET = "apps_defaults_initialized"; public static final int DEFAULT_DISPLAY_MODE = VIEW_TYPE_TILES; static void initializeDefaults(SharedPreferences preferences, boolean restoreDefaults) { boolean defaultsInitialized = preferences.getBoolean(KEY_DEFAULTS_SET, false); if (!restoreDefaults && defaultsInitialized) return; preferences.edit(). putInt(KEY_DISPLAY_MODE, DEFAULT_DISPLAY_MODE). putBoolean(KEY_DEFAULTS_SET, true). apply(); } public static int getDisplayMode(SharedPreferences preferences) { return preferences.getInt(KEY_DISPLAY_MODE, DEFAULT_DISPLAY_MODE); } public static SharedPreferences.Editor setDisplayMode(SharedPreferences.Editor editor, int displayMode) { return editor.putInt(KEY_DISPLAY_MODE, displayMode); } } } }