package com.blackice.control.fragments; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceScreen; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import com.blackice.control.R; import com.blackice.control.BlackICEPreferenceFragment; public class PowerMenu extends BlackICEPreferenceFragment { private static final String PREF_SCREENSHOT = "show_screenshot"; private static final String PREF_TORCH_TOGGLE = "show_torch_toggle"; private static final String PREF_NAVBAR_HIDE = "show_navbar_hide"; private static final String PREF_AIRPLANE_TOGGLE = "show_airplane_toggle"; private static final String PREF_SHOW_PROFILE_CHOOSER = "show_profile_chooser"; CheckBoxPreference mShowScreenShot; CheckBoxPreference mShowTorchToggle; CheckBoxPreference mShowAirplaneToggle; CheckBoxPreference mShowNavBarHide; CheckBoxPreference mShowProfileChooser; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.prefs_powermenu); mShowScreenShot = (CheckBoxPreference) findPreference(PREF_SCREENSHOT); mShowScreenShot.setChecked(Settings.System.getInt(getActivity() .getContentResolver(), Settings.System.POWER_DIALOG_SHOW_SCREENSHOT, 0) == 1); mShowTorchToggle = (CheckBoxPreference) findPreference(PREF_TORCH_TOGGLE); mShowTorchToggle.setChecked(Settings.System.getInt(getActivity() .getContentResolver(), Settings.System.POWER_DIALOG_SHOW_TORCH_TOGGLE, 0) == 1); mShowAirplaneToggle = (CheckBoxPreference) findPreference(PREF_AIRPLANE_TOGGLE); mShowAirplaneToggle.setChecked(Settings.System.getInt(getActivity() .getContentResolver(), Settings.System.POWER_DIALOG_SHOW_AIRPLANE_TOGGLE, 1) == 1); mShowNavBarHide = (CheckBoxPreference) findPreference(PREF_NAVBAR_HIDE); mShowNavBarHide.setChecked(Settings.System.getInt(getActivity() .getContentResolver(), Settings.System.POWER_DIALOG_SHOW_NAVBAR_HIDE, 0) == 1); mShowProfileChooser = (CheckBoxPreference) findPreference(PREF_SHOW_PROFILE_CHOOSER); mShowProfileChooser.setChecked(Settings.System.getInt(getActivity() .getContentResolver(), Settings.System.POWER_DIALOG_SHOW_PROFILE_CHOOSER, 0) == 1); if(!hasTorch) { getPreferenceScreen().removePreference(mShowTorchToggle); } // I took this code out to allow Tablets the ability to Hide Navbar. // Note going to completely delete it incase an issue arises and needs to // be re-implemented - Z //if (mTablet) { // getPreferenceScreen().removePreference(mShowNavBarHide); //} } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { if (preference == mShowScreenShot) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.POWER_DIALOG_SHOW_SCREENSHOT, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); return true; } else if (preference == mShowTorchToggle) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.POWER_DIALOG_SHOW_TORCH_TOGGLE, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); return true; } else if (preference == mShowAirplaneToggle) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.POWER_DIALOG_SHOW_AIRPLANE_TOGGLE, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); return true; } else if (preference == mShowNavBarHide) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.POWER_DIALOG_SHOW_NAVBAR_HIDE, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); return true; } else if (preference == mShowProfileChooser) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.POWER_DIALOG_SHOW_PROFILE_CHOOSER, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); return true; } return super.onPreferenceTreeClick(preferenceScreen, preference); } }