Added guidelines alert and preference entry
This commit is contained in:
parent
333e7f0ee7
commit
29bea3b1c6
3 changed files with 71 additions and 4 deletions
|
|
@ -1,7 +1,9 @@
|
|||
package pl.jakubweg;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.Uri;
|
||||
|
|
@ -29,6 +31,8 @@ import static pl.jakubweg.SponsorBlockSettings.PREFERENCES_KEY_UUID;
|
|||
import static pl.jakubweg.SponsorBlockSettings.PREFERENCES_NAME;
|
||||
import static pl.jakubweg.SponsorBlockSettings.adjustNewSegmentMillis;
|
||||
import static pl.jakubweg.SponsorBlockSettings.countSkips;
|
||||
import static pl.jakubweg.SponsorBlockSettings.getPreferences;
|
||||
import static pl.jakubweg.SponsorBlockSettings.setSeenGuidelines;
|
||||
import static pl.jakubweg.SponsorBlockSettings.showToastWhenSkippedAutomatically;
|
||||
import static pl.jakubweg.SponsorBlockSettings.uuid;
|
||||
import static pl.jakubweg.StringRef.str;
|
||||
|
|
@ -46,7 +50,7 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement
|
|||
|
||||
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
Activity context = this.getActivity();
|
||||
final Activity context = this.getActivity();
|
||||
|
||||
PreferenceScreen preferenceScreen = getPreferenceManager().createPreferenceScreen(context);
|
||||
setPreferenceScreen(preferenceScreen);
|
||||
|
|
@ -62,7 +66,8 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement
|
|||
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
enableCategoriesIfNeeded(((Boolean) newValue));
|
||||
final boolean value = (Boolean) newValue;
|
||||
enableCategoriesIfNeeded(value);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
|
@ -77,6 +82,26 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement
|
|||
preference.setTitle(str("enable_segmadding"));
|
||||
preference.setSummary(str("enable_segmadding_sum"));
|
||||
preferencesToDisableWhenSBDisabled.add(preference);
|
||||
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
final boolean value = (Boolean) o;
|
||||
if (value && !SponsorBlockSettings.seenGuidelinesPopup) {
|
||||
new AlertDialog.Builder(preference.getContext())
|
||||
.setTitle(str("sb_guidelines_popup_title"))
|
||||
.setMessage(str("sb_guidelines_popup_content"))
|
||||
.setNegativeButton(str("sb_guidelines_popup_already_read"), null)
|
||||
.setPositiveButton(str("sb_guidelines_popup_open"), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
openGuidelines();
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
addGeneralCategory(context, preferenceScreen);
|
||||
|
|
@ -86,6 +111,15 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement
|
|||
enableCategoriesIfNeeded(SponsorBlockSettings.isSponsorBlockEnabled);
|
||||
}
|
||||
|
||||
private void openGuidelines() {
|
||||
final Context context = getActivity();
|
||||
setSeenGuidelines(context);
|
||||
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://github.com/ajayyy/SponsorBlock/wiki/Guidelines"));
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
private void enableCategoriesIfNeeded(boolean enabled) {
|
||||
for (Preference preference : preferencesToDisableWhenSBDisabled)
|
||||
preference.setEnabled(enabled);
|
||||
|
|
@ -161,6 +195,20 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement
|
|||
screen.addPreference(category);
|
||||
category.setTitle(str("general"));
|
||||
|
||||
{
|
||||
Preference preference = new Preference(context);
|
||||
preference.setTitle(str("sb_guidelines_preference_title"));
|
||||
preference.setSummary(str("sb_guidelines_preference_sum"));
|
||||
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
openGuidelines();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
screen.addPreference(preference);
|
||||
}
|
||||
|
||||
{
|
||||
Preference preference = new SwitchPreference(context);
|
||||
preference.setTitle(str("general_skiptoast"));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue