/*
* Copyright (C) 2010-2015 ParanoidAndroid Project
* Portions Copyright (C) 2015 Fusion & Cyanidel Project
*
* 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.aokp.romcontrol.fragments.pie;
import android.app.Activity;
import android.app.Fragment;
import android.content.ContentResolver;
import android.content.res.Resources;
import android.content.Context;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import android.preference.SwitchPreference;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.aokp.romcontrol.R;
import org.cyanogenmod.internal.logging.CMMetricsLogger;
public class PieControlFragment extends Fragment {
public PieControlFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_pie_settings_main, container, false);
Resources res = getResources();
super.onCreate(savedInstanceState);
getChildFragmentManager().beginTransaction()
.replace(R.id.pie_settings_main, new PieControlPreferenceFragment())
.commit();
return v;
}
public static class PieControlPreferenceFragment extends PreferenceFragment
implements OnPreferenceChangeListener {
public PieControlPreferenceFragment() {
}
private static final String PA_PIE_SIZE = "pa_pie_size";
private static final String PA_PIE_GRAVITY = "pa_pie_gravity";
private static final String PA_PIE_MODE = "pa_pie_mode";
private static final String PA_PIE_ANGLE = "pa_pie_angle";
private static final String PA_PIE_GAP = "pa_pie_gap";
private ListPreference mPieSize;
private ListPreference mPieGravity;
private ListPreference mPieMode;
private ListPreference mPieAngle;
private ListPreference mPieGap;
private ContentResolver mResolver;
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
protected int getMetricsCategory() {
return CMMetricsLogger.DONT_LOG;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.fragment_pa_pie_control);
PreferenceScreen prefSet = getPreferenceScreen();
Context context = getActivity();
mResolver = context.getContentResolver();
mPieSize = (ListPreference) prefSet.findPreference(PA_PIE_SIZE);
float pieSize = Settings.System.getFloat(mResolver,
Settings.System.PA_PIE_SIZE, 1.0f);
mPieSize.setValue(String.valueOf(pieSize));
mPieSize.setOnPreferenceChangeListener(this);
mPieGravity = (ListPreference) prefSet.findPreference(PA_PIE_GRAVITY);
int pieGravity = Settings.System.getInt(mResolver,
Settings.System.PA_PIE_GRAVITY, 2);
mPieGravity.setValue(String.valueOf(pieGravity));
mPieGravity.setOnPreferenceChangeListener(this);
mPieMode = (ListPreference) prefSet.findPreference(PA_PIE_MODE);
int pieMode = Settings.System.getInt(mResolver,
Settings.System.PA_PIE_MODE, 2);
mPieMode.setValue(String.valueOf(pieMode));
mPieMode.setOnPreferenceChangeListener(this);
mPieGap = (ListPreference) prefSet.findPreference(PA_PIE_GAP);
int pieGap = Settings.System.getInt(mResolver,
Settings.System.PA_PIE_GAP, 2);
mPieGap.setValue(String.valueOf(pieGap));
mPieGap.setOnPreferenceChangeListener(this);
mPieAngle = (ListPreference) prefSet.findPreference(PA_PIE_ANGLE);
int pieAngle = Settings.System.getInt(mResolver,
Settings.System.PA_PIE_ANGLE, 12);
mPieAngle.setValue(String.valueOf(pieAngle));
mPieAngle.setOnPreferenceChangeListener(this);
}
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == mPieSize) {
float pieSize = Float.valueOf((String) newValue);
Settings.System.putFloat(getActivity().getContentResolver(),
Settings.System.PA_PIE_SIZE, pieSize);
return true;
} else if (preference == mPieGravity) {
int pieGravity = Integer.valueOf((String) newValue);
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.PA_PIE_GRAVITY, pieGravity);
return true;
} else if (preference == mPieMode) {
int pieMode = Integer.valueOf((String) newValue);
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.PA_PIE_MODE, pieMode);
return true;
} else if (preference == mPieAngle) {
int pieAngle = Integer.valueOf((String) newValue);
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.PA_PIE_ANGLE, pieAngle);
return true;
} else if (preference == mPieGap) {
int pieGap = Integer.valueOf((String) newValue);
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.PA_PIE_GAP, pieGap);
return true;
}
return false;
}
}
}