package com.nitrogen.settings.fragments;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import android.app.Activity;
import android.content.Context;
import android.content.ContentResolver;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v14.preference.SwitchPreference;
import android.provider.Settings;
import com.android.settings.R;
import java.util.Arrays;
import java.util.HashSet;
import com.android.settings.SettingsPreferenceFragment;
public class RecentsSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
private static final String IMMERSIVE_RECENTS = "immersive_recents";
private static final String RECENTS_CLEAR_ALL_LOCATION = "recents_clear_all_location";
private ListPreference mRecentsClearAllLocation;
private SwitchPreference mRecentsClearAll;
private ListPreference mImmersiveRecents;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.nitrogen_settings_recents);
ContentResolver resolver = getActivity().getContentResolver();
mImmersiveRecents = (ListPreference) findPreference(IMMERSIVE_RECENTS);
mImmersiveRecents.setValue(String.valueOf(Settings.System.getInt(
resolver, Settings.System.IMMERSIVE_RECENTS, 0)));
mImmersiveRecents.setSummary(mImmersiveRecents.getEntry());
mImmersiveRecents.setOnPreferenceChangeListener(this);
// clear all recents
mRecentsClearAllLocation = (ListPreference) findPreference(RECENTS_CLEAR_ALL_LOCATION);
int location = Settings.System.getIntForUser(resolver,
Settings.System.RECENTS_CLEAR_ALL_LOCATION, 3, UserHandle.USER_CURRENT);
mRecentsClearAllLocation.setValue(String.valueOf(location));
mRecentsClearAllLocation.setSummary(mRecentsClearAllLocation.getEntry());
mRecentsClearAllLocation.setOnPreferenceChangeListener(this);
}
@Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
if (preference == mImmersiveRecents) {
Settings.System.putInt(getContentResolver(), Settings.System.IMMERSIVE_RECENTS,
Integer.valueOf((String) objValue));
mImmersiveRecents.setValue(String.valueOf(objValue));
mImmersiveRecents.setSummary(mImmersiveRecents.getEntry());
return true;
} else if (preference == mRecentsClearAllLocation) {
int location = Integer.valueOf((String) objValue);
int index = mRecentsClearAllLocation.findIndexOfValue((String) objValue);
Settings.System.putIntForUser(getActivity().getContentResolver(),
Settings.System.RECENTS_CLEAR_ALL_LOCATION, location, UserHandle.USER_CURRENT);
mRecentsClearAllLocation.setSummary(mRecentsClearAllLocation.getEntries()[index]);
return true;
}
return false;
}
@Override
protected int getMetricsCategory() {
return MetricsEvent.NITROGEN_SETTINGS;
}
}