2017-09-03 08:04:18 +02:00
|
|
|
package org.schabi.newpipe.settings;
|
|
|
|
|
|
|
|
import android.os.Bundle;
|
2017-09-26 17:29:38 +02:00
|
|
|
import android.support.v7.preference.ListPreference;
|
|
|
|
import android.support.v7.preference.Preference;
|
2017-09-03 08:04:18 +02:00
|
|
|
|
|
|
|
import org.schabi.newpipe.R;
|
|
|
|
|
|
|
|
public class ContentSettingsFragment extends BasePreferenceFragment {
|
2017-09-28 15:36:15 +02:00
|
|
|
|
2017-09-03 08:04:18 +02:00
|
|
|
@Override
|
|
|
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
2017-09-28 15:36:15 +02:00
|
|
|
|
2017-09-03 08:04:18 +02:00
|
|
|
addPreferencesFromResource(R.xml.content_settings);
|
2017-09-26 17:29:38 +02:00
|
|
|
|
2017-09-28 15:36:15 +02:00
|
|
|
final ListPreference mainPageContentPref = (ListPreference) findPreference(getString(R.string.main_page_content_key));
|
|
|
|
|
|
|
|
mainPageContentPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
2017-09-26 17:29:38 +02:00
|
|
|
@Override
|
|
|
|
public boolean onPreferenceChange(Preference preference, Object newValueO) {
|
|
|
|
final String newValue = newValueO.toString();
|
|
|
|
|
2017-09-28 15:36:15 +02:00
|
|
|
final String mainPrefOldValue =
|
|
|
|
defaultPreferences.getString(getString(R.string.main_page_content_key), "blank_page");
|
|
|
|
final String mainPrefOldSummary = getMainPagePrefSummery(mainPrefOldValue, mainPageContentPref);
|
|
|
|
|
2017-09-26 17:29:38 +02:00
|
|
|
if(newValue.equals(getString(R.string.kiosk_page_key))) {
|
|
|
|
//todo on multyservice support show a kiosk an service selector here
|
|
|
|
} else if(newValue.equals(getString(R.string.channel_page_key))) {
|
|
|
|
SelectChannelFragment selectChannelFragment = new SelectChannelFragment();
|
|
|
|
selectChannelFragment.setOnSelectedLisener(new SelectChannelFragment.OnSelectedLisener() {
|
|
|
|
@Override
|
|
|
|
public void onChannelSelected(String url, String name, int service) {
|
|
|
|
defaultPreferences.edit()
|
|
|
|
.putInt(getString(R.string.main_page_selected_service), service).apply();
|
|
|
|
defaultPreferences.edit()
|
|
|
|
.putString(getString(R.string.main_page_selected_channel_url), url).apply();
|
|
|
|
defaultPreferences.edit()
|
|
|
|
.putString(getString(R.string.main_page_selected_channel_name), name).apply();
|
|
|
|
|
|
|
|
//change summery
|
2017-09-28 15:36:15 +02:00
|
|
|
mainPageContentPref.setSummary(name);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
selectChannelFragment.setOnCancelListener(new SelectChannelFragment.OnCancelListener() {
|
|
|
|
@Override
|
|
|
|
public void onCancel() {
|
|
|
|
//defaultPreferences.edit()
|
|
|
|
// .putString(getString(R.string.main_page_content_key), mainPrefOldValue).apply();
|
|
|
|
mainPageContentPref.setSummary(mainPrefOldSummary);
|
|
|
|
mainPageContentPref.setValue(mainPrefOldValue);
|
2017-09-26 17:29:38 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
selectChannelFragment.show(getFragmentManager(), "select_channel");
|
|
|
|
}
|
|
|
|
|
2017-09-28 15:36:15 +02:00
|
|
|
if(!newValue.equals(getString(R.string.channel_page_key))) {
|
|
|
|
mainPageContentPref.setSummary(getMainPageSummeryByKey(newValue));
|
|
|
|
}
|
|
|
|
|
2017-09-26 17:29:38 +02:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onResume() {
|
|
|
|
super.onResume();
|
|
|
|
|
|
|
|
final String mainPageContentKey = getString(R.string.main_page_content_key);
|
|
|
|
if(defaultPreferences.getString(mainPageContentKey,
|
|
|
|
getString(R.string.blank_page_key))
|
|
|
|
.equals(getString(R.string.channel_page_key))) {
|
|
|
|
Preference pref = findPreference(getString(R.string.main_page_content_key));
|
|
|
|
pref.setSummary(defaultPreferences.getString(getString(R.string.main_page_selected_channel_name), "error"));
|
|
|
|
}
|
2017-09-03 08:04:18 +02:00
|
|
|
}
|
2017-09-28 15:36:15 +02:00
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
// Utils
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
private String getMainPagePrefSummery(final String mainPrefOldValue, final ListPreference mainPageContentPref) {
|
|
|
|
if(mainPrefOldValue.equals(getString(R.string.channel_page_key))) {
|
|
|
|
return defaultPreferences.getString(getString(R.string.main_page_selected_channel_name), "error");
|
|
|
|
} else {
|
|
|
|
return mainPageContentPref.getSummary().toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private int getMainPageSummeryByKey(final String key) {
|
|
|
|
if(key.equals(getString(R.string.blank_page_key))) {
|
|
|
|
return R.string.blank_page_summary;
|
|
|
|
} else if(key.equals(getString(R.string.kiosk_page_key))) {
|
|
|
|
return R.string.kiosk_page_summary;
|
|
|
|
} else if(key.equals(getString(R.string.feed_page_key))) {
|
|
|
|
return R.string.feed_page_summary;
|
2017-09-28 16:15:09 +02:00
|
|
|
} else if(key.equals(getString(R.string.subscription_page_key))) {
|
|
|
|
return R.string.subscription_page_summary;
|
2017-09-28 15:36:15 +02:00
|
|
|
} else if(key.equals(getString(R.string.channel_page_key))) {
|
|
|
|
return R.string.channel_page_summary;
|
|
|
|
}
|
|
|
|
return R.string.blank_page_summary;
|
|
|
|
}
|
2017-09-03 08:04:18 +02:00
|
|
|
}
|