package org.intermine.app.fragment;
/*
* Copyright (C) 2015 InterMine
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. See the LICENSE file for more
* information or http://www.gnu.org/copyleft/lesser.html.
*
*/
import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import org.intermine.app.InterMineApplication;
import org.intermine.app.R;
import org.intermine.app.activity.MinesActivity;
import org.intermine.app.storage.Storage;
import org.intermine.app.util.Strs;
import java.util.Set;
import javax.inject.Inject;
/**
* @author Daria Komkova <Daria_Komkova @ hotmail.com>
*/
public class PreferencesFragment extends PreferenceFragment {
private static final String MINES_KEY = "mines";
public static final String COMMA = ", ";
@Inject
Storage mStorage;
private Preference mMinesPreference;
// --------------------------------------------------------------------------------------------
// Lifecycle
// --------------------------------------------------------------------------------------------
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
InterMineApplication app = InterMineApplication.get(getActivity());
app.inject(this);
addPreferencesFromResource(R.xml.preferences);
mMinesPreference = findPreference(MINES_KEY);
mMinesPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivity(new Intent(getActivity(), MinesActivity.class));
return true;
}
});
}
@Override
public void onResume() {
super.onResume();
mMinesPreference.setSummary(generateMinesSummary(mStorage.getSelectedMineNames()));
}
// --------------------------------------------------------------------------------------------
// Helper Methods
// --------------------------------------------------------------------------------------------
protected String generateMinesSummary(Set<String> mines) {
return Strs.join(mines, COMMA);
}
}