package br.com.dgimenes.nasapic.control.activity;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import br.com.dgimenes.nasapic.R;
import br.com.dgimenes.nasapic.service.PeriodicWallpaperChangeService;
public class SettingsActivity extends TrackedActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment()).commit();
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
LinearLayout root = (LinearLayout) findViewById(android.R.id.list)
.getParent().getParent().getParent();
Toolbar settingsToolbar = (Toolbar) LayoutInflater.from(this).inflate(
R.layout.settings_toolbar, root, false);
root.addView(settingsToolbar, 0); // insert at top
settingsToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
String preferenceKey = getActivity().getResources()
.getString(R.string.periodic_change_preference);
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
findPreference(preferenceKey).setEnabled(false);
} else {
findPreference(preferenceKey)
.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean periodicChange = (Boolean) newValue;
if (periodicChange) {
PeriodicWallpaperChangeService
.setupIfNeededPeriodicWallpaperChange(getActivity());
} else {
PeriodicWallpaperChangeService
.unschedulePeriodicWallpaperChange(getActivity());
}
return true;
}
});
}
}
}
}