120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler/* 220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * Copyright (C) 2015 The Android Open Source Project 320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * 420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * Licensed under the Apache License, Version 2.0 (the "License"); 520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * you may not use this file except in compliance with the License. 620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * You may obtain a copy of the License at 720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * 820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * http://www.apache.org/licenses/LICENSE-2.0 920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * 1020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * Unless required by applicable law or agreed to in writing, software 1120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * distributed under the License is distributed on an "AS IS" BASIS, 1220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * See the License for the specific language governing permissions and 1420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler * limitations under the License 1520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler */ 1620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 1720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerpackage com.android.tv.quicksettings; 1820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 1920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerimport android.content.Context; 2020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerimport android.content.SharedPreferences; 2120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerimport android.content.res.Resources; 2220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerimport android.text.TextUtils; 2320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 2420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantlerpublic class PresetSettingsListener implements SharedPreferences.OnSharedPreferenceChangeListener { 2520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 2620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler private final Context mContext; 2720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 2820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler PresetSettingsListener(Context context) { 2920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler mContext = context; 3020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 3120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 3220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler @Override 3320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 3420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler if (!TextUtils.equals(key, "preset")) { 3520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler return; 3620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 3720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler final String preset = sharedPreferences.getString(key, "standard"); 3820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler final Resources res = mContext.getResources(); 3920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler final int[] newValues; 4020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler switch (preset) { 4120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler case "standard": 4220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler newValues = res.getIntArray(R.array.standard_setting_values); 4320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler break; 4420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler case "cinema": 4520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler newValues = res.getIntArray(R.array.cinema_setting_values); 4620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler break; 4720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler case "vivid": 4820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler newValues = res.getIntArray(R.array.vivid_setting_values); 4920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler break; 5020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler case "game": 5120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler newValues = res.getIntArray(R.array.game_setting_values); 5220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler break; 5320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler default: 5420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler case "custom": 5520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler return; 5620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 5720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler final String[] keys = res.getStringArray(R.array.setting_keys); 5820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 5920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler final SharedPreferences.Editor prefs = sharedPreferences.edit(); 6020b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler try { 6120b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler for (int i = 0; i < keys.length; i++) { 6220b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler prefs.putInt(keys[i], newValues[i]); 6320b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 6420b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } finally { 6520b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler prefs.apply(); 6620b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 6720b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler 6820b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler } 6920b1a50b536c8c68ceda1ce529d62e52e39f653dTony Mantler} 70