/* * Copyright (C) 2011 Alex Kuiper * * This file is part of PageTurner * * PageTurner is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PageTurner is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with PageTurner. If not, see <http://www.gnu.org/licenses/>.* */ package net.nightwhistler.pageturner.activity; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; import android.preference.*; import com.github.rtyley.android.sherlock.roboguice.activity.RoboSherlockPreferenceActivity; import net.nightwhistler.pageturner.Configuration; import net.nightwhistler.pageturner.PageTurner; import net.nightwhistler.pageturner.R; import roboguice.RoboGuice; public class PageTurnerPrefsActivity extends RoboSherlockPreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { Configuration config = RoboGuice.getInjector(this).getInstance(Configuration.class); PageTurner.changeLanguageSetting(this, config); setTheme( config.getTheme() ); super.onCreate(savedInstanceState); SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); if ( ! settings.contains("device_name") ) { SharedPreferences.Editor editor = settings.edit(); editor.putString("device_name", Build.MODEL ); // Commit the edits! editor.commit(); } addPreferencesFromResource(R.xml.pageturner_prefs); final PreferenceScreen screen = getPreferenceScreen(); if(!Configuration.IS_NOOK_TOUCH) { // Disable Nook-specific preferences screen.removePreference(screen.findPreference("nook_prefs")); } else { // Enable only builtin fonts on Nook Touch. This is because // Nook Touch can't render OTF fonts (causes segfault), also most thin weighted fonts look terrible // because the Nook Touch libskia uses antialiasing, but then the Nook Touch screen can't adequately // render any antialiasing... final String[] font_prefs = { "font_face", "serif_font", "sans_serif_font" }; for(String font_pref : font_prefs) { ListPreference pref = (ListPreference) screen.findPreference(font_pref); pref.setEntries(getResources().getStringArray(R.array.builtinFontLabels)); pref.setEntryValues(getResources().getStringArray(R.array.builtinFonts)); } } if ( Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB ) { Preference uiPref = screen.findPreference(Configuration.KEY_DIM_SYSTEM_UI); PreferenceGroup group = (PreferenceGroup) screen.findPreference("visual_prefs"); group.removePreference(uiPref); } } }