52 lines
1.9 KiB
Java
52 lines
1.9 KiB
Java
|
package org.schabi.newpipe.util;
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.content.SharedPreferences;
|
||
|
|
||
|
import androidx.preference.PreferenceManager;
|
||
|
|
||
|
import org.schabi.newpipe.R;
|
||
|
|
||
|
/**
|
||
|
* For preferences with dependencies and multiple use case,
|
||
|
* this class can be used to reduce the lines of code.
|
||
|
*/
|
||
|
public final class DependentPreferenceHelper {
|
||
|
|
||
|
private DependentPreferenceHelper() {
|
||
|
// no instance
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Option `Resume playback` depends on `Watch history`, this method can be used to retrieve if
|
||
|
* `Resume playback` and its dependencies are all enabled.
|
||
|
*
|
||
|
* @param context the Android context
|
||
|
* @return returns true if `Resume playback` and `Watch history` are both enabled
|
||
|
*/
|
||
|
public static boolean getResumePlaybackEnabled(final Context context) {
|
||
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||
|
|
||
|
return prefs.getBoolean(context.getString(
|
||
|
R.string.enable_watch_history_key), true)
|
||
|
&& prefs.getBoolean(context.getString(
|
||
|
R.string.enable_playback_resume_key), true);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Option `Position in lists` depends on `Watch history`, this method can be used to retrieve if
|
||
|
* `Position in lists` and its dependencies are all enabled.
|
||
|
*
|
||
|
* @param context the Android context
|
||
|
* @return returns true if `Positions in lists` and `Watch history` are both enabled
|
||
|
*/
|
||
|
public static boolean getPositionsInListsEnabled(final Context context) {
|
||
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||
|
|
||
|
return prefs.getBoolean(context.getString(
|
||
|
R.string.enable_watch_history_key), true)
|
||
|
&& prefs.getBoolean(context.getString(
|
||
|
R.string.enable_playback_state_lists_key), true);
|
||
|
}
|
||
|
}
|