package com.wigwamlabs.veckify;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.view.MenuItem;
import com.wigwamlabs.spotify.ui.SpotifyPreferenceFragment;
import java.util.List;
public class SettingsActivity extends PreferenceActivity {
private static final boolean ALWAYS_SIMPLE_PREFS = false;
private static boolean isXLargeTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
}
private static boolean isSimplePreferences(Context context) {
return ALWAYS_SIMPLE_PREFS
|| Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
|| !isXLargeTablet(context);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
setupSimplePreferencesScreen();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
startActivity(getParentActivityIntent());
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
private void setupSimplePreferencesScreen() {
if (!isSimplePreferences(this)) {
return;
}
// General
GeneralPreferenceFragment.onCreateSimple(this);
// Spotify
PreferenceCategory header = new PreferenceCategory(this);
header.setTitle(R.string.pref_header_spotify);
getPreferenceScreen().addPreference(header);
SpotifyPreferenceFragment.onCreateSimple(this);
// Legal
header = new PreferenceCategory(this);
header.setTitle(R.string.pref_header_legal);
getPreferenceScreen().addPreference(header);
LegalPreferenceFragment.onCreateSimple(this);
}
@Override
public boolean onIsMultiPane() {
return isXLargeTablet(this) && !isSimplePreferences(this);
}
@Override
public void onBuildHeaders(List<Header> target) {
if (!isSimplePreferences(this)) {
loadHeadersFromResource(R.xml.pref_headers, target);
}
}
public static class GeneralPreferenceFragment extends PreferenceFragment {
public static void onCreateSimple(SettingsActivity activity) {
activity.addPreferencesFromResource(R.xml.pref_general);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_general);
}
}
}