mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 08:30:44 +00:00
preference screen previews set values
This commit is contained in:
parent
0da1aef763
commit
a8830e2ede
@ -1,6 +1,5 @@
|
|||||||
package org.schabi.newpipe;
|
package org.schabi.newpipe;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
@ -22,7 +21,8 @@ public class Localization {
|
|||||||
public static Locale getPreferredLocale(Context context) {
|
public static Locale getPreferredLocale(Context context) {
|
||||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
|
||||||
String languageCode = sp.getString(String.valueOf(R.string.searchLanguage), "en");
|
String languageCode = sp.getString(String.valueOf(R.string.searchLanguagePreference),
|
||||||
|
context.getString(R.string.defaultLanguageItem));
|
||||||
|
|
||||||
if(languageCode.length() == 2) {
|
if(languageCode.length() == 2) {
|
||||||
return new Locale(languageCode);
|
return new Locale(languageCode);
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
package org.schabi.newpipe;
|
package org.schabi.newpipe;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.SharedElementCallback;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.preference.EditTextPreference;
|
||||||
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
import android.preference.PreferenceFragment;
|
import android.preference.PreferenceFragment;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.support.annotation.LayoutRes;
|
import android.support.annotation.LayoutRes;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
@ -59,17 +64,52 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SettingsFragment extends PreferenceFragment {
|
public static class SettingsFragment extends PreferenceFragment{
|
||||||
|
SharedPreferences.OnSharedPreferenceChangeListener prefListener;
|
||||||
|
|
||||||
|
// get keys
|
||||||
|
String DEFAULT_RESOLUTION_PREFERENCE;
|
||||||
|
String DEFAULT_AUDIO_FORMAT_PREFERENCE;
|
||||||
|
String SEARCH_LANGUAGE_PREFERENCE;
|
||||||
|
String DOWNLOAD_PATH_PREFERENCE;
|
||||||
|
String USE_TOR_KEY;
|
||||||
|
|
||||||
|
private ListPreference defaultResolutionPreference;
|
||||||
|
private ListPreference defaultAudioFormatPreference;
|
||||||
|
private ListPreference searchLanguagePreference;
|
||||||
|
private EditTextPreference downloadPathPreference;
|
||||||
private CheckBoxPreference useTorCheckBox;
|
private CheckBoxPreference useTorCheckBox;
|
||||||
|
private SharedPreferences defaultPreferences;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.settings_screen);
|
addPreferencesFromResource(R.xml.settings_screen);
|
||||||
|
|
||||||
// if Orbot is installed, then default to using Tor, the user can still override
|
|
||||||
useTorCheckBox = (CheckBoxPreference) findPreference(getString(R.string.useTor));
|
|
||||||
final Activity activity = getActivity();
|
final Activity activity = getActivity();
|
||||||
|
|
||||||
|
defaultPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||||
|
|
||||||
|
// get keys
|
||||||
|
DEFAULT_RESOLUTION_PREFERENCE =getString(R.string.defaultResolutionPreference);
|
||||||
|
DEFAULT_AUDIO_FORMAT_PREFERENCE =getString(R.string.defaultAudioFormatPreference);
|
||||||
|
SEARCH_LANGUAGE_PREFERENCE =getString(R.string.searchLanguagePreference);
|
||||||
|
DOWNLOAD_PATH_PREFERENCE = getString(R.string.downloadPathPreference);
|
||||||
|
USE_TOR_KEY = getString(R.string.useTorKey);
|
||||||
|
|
||||||
|
// get pref objects
|
||||||
|
defaultResolutionPreference =
|
||||||
|
(ListPreference) findPreference(DEFAULT_RESOLUTION_PREFERENCE);
|
||||||
|
defaultAudioFormatPreference =
|
||||||
|
(ListPreference) findPreference(DEFAULT_AUDIO_FORMAT_PREFERENCE);
|
||||||
|
searchLanguagePreference =
|
||||||
|
(ListPreference) findPreference(SEARCH_LANGUAGE_PREFERENCE);
|
||||||
|
downloadPathPreference =
|
||||||
|
(EditTextPreference) findPreference(DOWNLOAD_PATH_PREFERENCE);
|
||||||
|
useTorCheckBox = (CheckBoxPreference) findPreference(USE_TOR_KEY);
|
||||||
|
|
||||||
|
// if Orbot is installed, then default to using Tor, the user can still override
|
||||||
final boolean useTor = OrbotHelper.isOrbotInstalled(activity);
|
final boolean useTor = OrbotHelper.isOrbotInstalled(activity);
|
||||||
useTorCheckBox.setDefaultValue(useTor);
|
useTorCheckBox.setDefaultValue(useTor);
|
||||||
useTorCheckBox.setChecked(useTor);
|
useTorCheckBox.setChecked(useTor);
|
||||||
@ -90,6 +130,33 @@ public class SettingsActivity extends PreferenceActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
prefListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
|
||||||
|
String key) {
|
||||||
|
updateSummary();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
defaultPreferences.registerOnSharedPreferenceChangeListener(prefListener);
|
||||||
|
|
||||||
|
updateSummary();
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is used to show the status of some preference in the description
|
||||||
|
private void updateSummary() {
|
||||||
|
defaultResolutionPreference.setSummary(
|
||||||
|
defaultPreferences.getString(DEFAULT_RESOLUTION_PREFERENCE,
|
||||||
|
getString(R.string.defaultResolutionListItem)));
|
||||||
|
defaultAudioFormatPreference.setSummary(
|
||||||
|
defaultPreferences.getString(DEFAULT_AUDIO_FORMAT_PREFERENCE,
|
||||||
|
getString(R.string.defaultAudioFormat)));
|
||||||
|
searchLanguagePreference.setSummary(
|
||||||
|
defaultPreferences.getString(SEARCH_LANGUAGE_PREFERENCE,
|
||||||
|
getString(R.string.defaultLanguageItem)));
|
||||||
|
downloadPathPreference.setSummary(
|
||||||
|
defaultPreferences.getString(DOWNLOAD_PATH_PREFERENCE,
|
||||||
|
getString(R.string.downloadLocationSummary)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,8 +99,9 @@ public class VideoItemListFragment extends ListFragment {
|
|||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());
|
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||||
String searchLanguageKey = getContext().getString(R.string.searchLanguage);
|
String searchLanguageKey = getContext().getString(R.string.searchLanguagePreference);
|
||||||
String searchLanguage = sp.getString(searchLanguageKey, "en");
|
String searchLanguage = sp.getString(searchLanguageKey,
|
||||||
|
getString(R.string.defaultLanguageItem));
|
||||||
SearchEngine.Result result = engine.search(query, page, searchLanguage);
|
SearchEngine.Result result = engine.search(query, page, searchLanguage);
|
||||||
Log.i(TAG, "language code passed:\""+searchLanguage+"\"");
|
Log.i(TAG, "language code passed:\""+searchLanguage+"\"");
|
||||||
if(run) {
|
if(run) {
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
</string-array>
|
</string-array>
|
||||||
<string name="defaultAudioFormat">m4a</string>
|
<string name="defaultAudioFormat">m4a</string>
|
||||||
<string name="showNextVideo">show_next_video</string>
|
<string name="showNextVideo">show_next_video</string>
|
||||||
<string name="searchLanguage">search_language</string>
|
<string name="searchLanguagePreference">search_language</string>
|
||||||
|
<string name="useTorKey">use_tor</string>
|
||||||
<!-- TODO: scrape these programmatically, then store in a local cache -->
|
<!-- TODO: scrape these programmatically, then store in a local cache -->
|
||||||
<!-- alternatively, load these from some local android data store -->
|
<!-- alternatively, load these from some local android data store -->
|
||||||
<string-array name='languageCodes'>
|
<string-array name='languageCodes'>
|
||||||
@ -111,6 +112,7 @@
|
|||||||
<item>ja</item>
|
<item>ja</item>
|
||||||
<item>ko</item>
|
<item>ko</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
<string name="defaultLanguageItem">en</string>
|
||||||
<string-array name='languageNames'>
|
<string-array name='languageNames'>
|
||||||
<item>Afrikaans</item>
|
<item>Afrikaans</item>
|
||||||
<item>Azərbaycan</item>
|
<item>Azərbaycan</item>
|
||||||
|
@ -43,11 +43,11 @@
|
|||||||
android:defaultValue="false" />
|
android:defaultValue="false" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="@string/searchLanguage"
|
android:key="@string/searchLanguagePreference"
|
||||||
android:title="@string/searchLanguageTitle"
|
android:title="@string/searchLanguageTitle"
|
||||||
android:entries="@array/languageNames"
|
android:entries="@array/languageNames"
|
||||||
android:entryValues="@array/languageCodes"
|
android:entryValues="@array/languageCodes"
|
||||||
android:defaultValue="en" />
|
android:defaultValue="@string/defaultLanguageItem" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="@string/showNextVideo"
|
android:key="@string/showNextVideo"
|
||||||
@ -73,7 +73,7 @@
|
|||||||
android:defaultValue="false" />
|
android:defaultValue="false" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="@string/useTor"
|
android:key="@string/useTorKey"
|
||||||
android:title="@string/useTor"
|
android:title="@string/useTor"
|
||||||
android:summary="@string/useTorSummary" />
|
android:summary="@string/useTorSummary" />
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user