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);
}
}