refactor PreferencesUtil.java to PreferenceFragmentUtils.java

This commit is contained in:
Vologhat
2022-12-29 19:08:15 +03:00
parent 93b28b0a8f
commit 9f4b5990b7
12 changed files with 950 additions and 787 deletions
@@ -191,7 +191,7 @@ public class DownloadUtils {
if (!file.exists()) {
return false;
}
Intent intent = new Intent("android.intent.action.VIEW");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
var mimeType = FileUtils.f(file);
var uri = FileUtils.uriFromFile(file);
@@ -222,7 +222,7 @@ public class DownloadUtils {
var mimeType = FileUtils.f(file);
var uri = FileUtils.uriFromFile(file);
Intent intent = new Intent("android.intent.action.VIEW");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, mimeType);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Log.d("DownloadUtils", "openFile: " + file.getAbsolutePath() + "| mimetype " + mimeType + "| uri " + uri);
@@ -0,0 +1,340 @@
package ru.vtosters.lite.ui;
import android.graphics.drawable.Drawable;
import android.preference.PreferenceManager;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vtosters.lite.ui.MaterialSwitchPreference;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.ImageUtils;
import ru.vtosters.lite.utils.ThemesUtils;
public class PreferenceFragmentUtils {
public static ListPreference addListPreference(
PreferenceScreen screen,
String key,
String def,
int titleRes,
CharSequence[] entries,
CharSequence[] entriesValue
) {
return addListPreference(screen, key, def, titleRes, 0, 0, entries, entriesValue, null);
}
public static ListPreference addListPreference(
PreferenceScreen screen,
String key,
String def,
CharSequence title,
CharSequence[] entries,
CharSequence[] entriesValue
) {
return addListPreference(screen, key, def, title, null, "", entries, entriesValue, null);
}
// change icon accent color
public static ListPreference addListPreference(
PreferenceScreen screen,
String key,
String def,
int titleRes,
int iconRes,
int summaryRes,
CharSequence[] entries,
CharSequence[] entriesValue,
Preference.OnPreferenceChangeListener listener
) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), ContextCompat.getDrawable(screen.getContext(), iconRes))
: null;
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
var summary = summaryRes > 0
? screen.getContext().getString(summaryRes)
: "";
return addListPreference(screen, key, def, title, icon, summary, entries, entriesValue, listener);
}
// change icon accent color
public static ListPreference addListPreference(
PreferenceScreen screen,
String key,
String def,
CharSequence title,
int iconRes,
CharSequence summary,
CharSequence[] entries,
CharSequence[] entriesValue,
Preference.OnPreferenceChangeListener listener
) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), ContextCompat.getDrawable(screen.getContext(), iconRes))
: null;
return addListPreference(screen, key, def, title, icon, summary, entries, entriesValue, listener);
}
public static ListPreference addListPreference(
PreferenceScreen screen,
String key,
String def,
CharSequence title,
@Nullable Drawable icon,
CharSequence summary,
CharSequence[] entries,
CharSequence[] entriesValue,
Preference.OnPreferenceChangeListener listener
) {
ListPreference preference = new ListPreference(screen.getContext());
preference.setEntries(entries);
preference.setEntryValues(entriesValue);
preference.setSummary(summary);
preference.setTitle(title);
preference.setDialogTitle(title);
preference.setKey(key);
preference.setDefaultValue(def);
preference.setValue(def);
preference.setOnPreferenceChangeListener(listener);
if (icon != null)
preference.setIcon(icon);
screen.addPreference(preference);
return preference;
}
public static MaterialSwitchPreference addMaterialSwitchPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary,
boolean defValue
) {
return addMaterialSwitchPreference(screen, key, title, summary, 0, defValue, null);
}
// change icon accent color
public static MaterialSwitchPreference addMaterialSwitchPreference(
PreferenceScreen screen,
String key,
int titleRes,
int summaryRes,
int iconRes,
boolean defValue,
Preference.OnPreferenceChangeListener listener
) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), ContextCompat.getDrawable(screen.getContext(), iconRes))
: null;
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
var summary = summaryRes > 0
? screen.getContext().getString(summaryRes)
: "";
return addMaterialSwitchPreference(screen, key, title, summary, icon, defValue, listener);
}
// change icon accent color
public static MaterialSwitchPreference addMaterialSwitchPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary,
int iconRes,
boolean defValue,
Preference.OnPreferenceChangeListener listener
) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), ContextCompat.getDrawable(screen.getContext(), iconRes))
: null;
return addMaterialSwitchPreference(screen, key, title, summary, icon, defValue, listener);
}
public static MaterialSwitchPreference addMaterialSwitchPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary,
@Nullable Drawable icon,
boolean defValue,
Preference.OnPreferenceChangeListener listener
) {
MaterialSwitchPreference preference = new MaterialSwitchPreference(screen.getContext());
preference.setTitle(title);
preference.setSummary(summary);
preference.setKey(key);
preference.setDefaultValue(defValue);
if (icon != null)
preference.setIcon(icon);
preference.setOnPreferenceChangeListener(listener);
screen.addPreference(preference);
return preference;
}
public static Preference addPreference(
PreferenceScreen screen,
String key,
int titleRes,
int summaryRes
) {
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
var summary = summaryRes > 0
? screen.getContext().getString(summaryRes)
: "";
return addPreference(screen, key, title, summary, null, null);
}
public static Preference addPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary
) {
return addPreference(screen, key, title, summary, null, null);
}
// change icon accent color
public static Preference addPreference(
PreferenceScreen screen,
String key,
int titleRes,
int summaryRes,
int iconRes,
Preference.OnPreferenceClickListener listener) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), screen.getContext().getDrawable(iconRes))
: null;
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
var summary = summaryRes > 0
? screen.getContext().getString(summaryRes)
: "";
return addPreference(screen, key, title, summary, icon, listener);
}
// change icon accent color
public static Preference addPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary,
int iconRes,
Preference.OnPreferenceClickListener listener) {
var icon = iconRes > 0
? ImageUtils.setTint(screen.getContext(), screen.getContext().getDrawable(iconRes))
: null;
return addPreference(screen, key, title, summary, icon, listener);
}
public static Preference addPreference(
PreferenceScreen screen,
String key,
CharSequence title,
CharSequence summary,
@Nullable Drawable icon,
Preference.OnPreferenceClickListener listener
) {
Preference preference = new Preference(screen.getContext());
preference.setSummary(summary);
preference.setTitle(title);
preference.setKey(key);
if (icon != null)
preference.setIcon(icon);
preference.setOnPreferenceClickListener(listener);
screen.addPreference(preference);
return preference;
}
public static PreferenceCategory addPreferenceCategory(PreferenceScreen screen, int titleRes) {
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
return addPreferenceCategory(screen, title);
}
public static PreferenceCategory addPreferenceCategory(PreferenceScreen screen, CharSequence title) {
PreferenceCategory preference = new PreferenceCategory(screen.getContext(), null);
preference.setTitle(title);
screen.addPreference(preference);
return preference;
}
public static Preference addEditTextPreference(
PreferenceScreen screen,
String key,
int titleRes,
onPreferenceTextValueChangeListener editTextPrefChangeListener
) {
var title = titleRes > 0
? screen.getContext().getString(titleRes)
: "";
return addEditTextPreference(screen, key, title, editTextPrefChangeListener);
}
public static Preference addEditTextPreference(
PreferenceScreen screen,
String key,
CharSequence title,
onPreferenceTextValueChangeListener editTextPrefChangeListener
) {
return addPreference(screen, key, title, null, null, preference -> {
LinearLayout linearLayout = new LinearLayout(screen.getContext());
final EditText editText = new EditText(screen.getContext());
editText.setText(PreferenceManager.getDefaultSharedPreferences(screen.getContext()).getString(key, ""));
editText.setHint(title);
editText.setTextColor(ThemesUtils.getTextAttr());
editText.setHintTextColor(ThemesUtils.getSTextAttr());
editText.setBackgroundTintList(ThemesUtils.getAccenedColorStateList());
linearLayout.addView(editText);
editText.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
ViewGroup.MarginLayoutParams margin = ((ViewGroup.MarginLayoutParams) editText.getLayoutParams());
margin.setMargins(AndroidUtils.dp2px(20f), 0, AndroidUtils.dp2px(20f), 0);
editText.setLayoutParams(margin);
new VkAlertDialog.Builder(screen.getContext())
.setTitle(title)
.setView(linearLayout)
.setPositiveButton("OK", (dialog, which) -> {
boolean change = editTextPrefChangeListener.onChanged(preference, editText.getText().toString());
if (!change)
return;
PreferenceManager.getDefaultSharedPreferences(screen.getContext())
.edit()
.putString(key, editText.getText().toString())
.apply();
})
.show();
return false;
});
}
public interface onPreferenceTextValueChangeListener {
boolean onChanged(Preference preference, String newValue);
}
}
@@ -1,274 +0,0 @@
package ru.vtosters.lite.ui;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.preference.PreferenceManager;
import android.util.TypedValue;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import com.vtosters.lite.ui.MaterialSwitchPreference;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.ImageUtils;
import ru.vtosters.lite.utils.ThemesUtils;
public class PreferencesUtil {
public static void addListPreference(
MaterialPreferenceToolbarFragment fragment,
String key,
String def,
CharSequence title,
CharSequence[] entries,
CharSequence[] entriesValue
) {
ListPreference preference = new ListPreference(fragment.requireContext());
preference.setEntries(entries);
preference.setEntryValues(entriesValue);
preference.setTitle(title); // setTitle
preference.setDialogTitle(title); // setDialogTitle
preference.setKey(key); // setKey
preference.setDefaultValue(def); // setDefaultValue
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addListPreferenceIcon(
MaterialPreferenceToolbarFragment fragment,
String key,
String def,
CharSequence title,
int iconRes,
CharSequence summary,
CharSequence[] entries,
CharSequence[] entriesValue,
Preference.OnPreferenceChangeListener listener
) {
ListPreference preference = new ListPreference(fragment.requireContext());
preference.setEntries(entries);
preference.setEntryValues(entriesValue);
preference.setSummary(summary); // setSummary
preference.setTitle(title); // setTitle
preference.setDialogTitle(title); // setDialogTitle
preference.setKey(key); // setKey
preference.setDefaultValue(def); // setDefaultValue
preference.setValue(def);
preference.setOnPreferenceChangeListener(listener);
if (iconRes != 0)
preference.setIcon(ImageUtils.setTint(fragment.requireContext(), getDrawable(fragment.requireContext(), iconRes))); // preference.setIcon
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addMaterialSwitchPreference(
MaterialPreferenceToolbarFragment materialPreferenceToolbarFragment,
String key,
CharSequence title,
CharSequence summary,
boolean defValue
) {
MaterialSwitchPreference materialSwitchPreference = new MaterialSwitchPreference(materialPreferenceToolbarFragment.requireContext());
materialSwitchPreference.setTitle(title); // setTitle
materialSwitchPreference.setSummary(summary); // setSummary
materialSwitchPreference.setKey(key); // setKey
materialSwitchPreference.setDefaultValue(defValue); // setDefaultValue
materialPreferenceToolbarFragment.getPreferenceScreen().addPreference(materialSwitchPreference); // materialPreferenceToolbarFragment.getPreferenceScreen().addPreference(preference)
}
// public static void addMaterialSwitchPreference(
// MaterialPreferenceToolbarFragment fragment,
// String key,
// CharSequence title,
// CharSequence summary,
// int iconRes,
// boolean defValue,
// Preference.OnPreferenceChangeListener listener
// ) {
// MaterialSwitchPreference materialSwitchPreference = new MaterialSwitchPreference(fragment.requireContext());
// materialSwitchPreference.setTitle(title); // setTitle
// materialSwitchPreference.setSummary(summary); // setSummary
// materialSwitchPreference.setKey(key); // setKey
// materialSwitchPreference.setDefaultValue(defValue); // setDefaultValue
// materialSwitchPreference.setOnPreferenceChangeListener(listener); // setOnPreferenceClickListener
//
// if (iconRes != 0)
// materialSwitchPreference.setIcon(setTint(fragment.requireContext(), Objects.requireNonNull(ContextCompat.getDrawable(fragment.requireContext(), iconRes)))); // preference.setIcon
//
// fragment.getPreferenceScreen().addPreference(materialSwitchPreference); // fragment.getPreferenceScreen().addPreference(preference)
// }
public static void addMaterialSwitchPreference(
MaterialPreferenceToolbarFragment fragment,
String key,
CharSequence title,
CharSequence summary,
int iconRes,
boolean defValue,
Preference.OnPreferenceChangeListener listener
) {
MaterialSwitchPreference materialSwitchPreference = new MaterialSwitchPreference(fragment.requireContext());
materialSwitchPreference.setTitle(title); // setTitle
materialSwitchPreference.setSummary(summary); // setSummary
materialSwitchPreference.setKey(key); // setKey
materialSwitchPreference.setDefaultValue(defValue); // setDefaultValue
fragment.getPreferenceScreen().addPreference(materialSwitchPreference); // materialPreferenceToolbarFragment.getPreferenceScreen().addPreference(preference)
if (iconRes != 0)
materialSwitchPreference.setIcon(ImageUtils.setTint(fragment.requireContext(), getDrawable(fragment.requireContext(), iconRes))); // preference.setIcon
materialSwitchPreference.setOnPreferenceChangeListener(listener); // setOnPreferenceClickListener(listener)
fragment.getPreferenceScreen().addPreference(materialSwitchPreference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreference(
MaterialPreferenceToolbarFragment fragment,
String key,
CharSequence title,
CharSequence summary
) {
Preference preference = new Preference(fragment.requireContext());
preference.setSummary(summary); // setSummary
preference.setTitle(title); // setTitle
preference.setKey(key); // setKey
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreference(
MaterialPreferenceToolbarFragment fragment,
CharSequence title,
CharSequence summary,
int iconRes,
Preference.OnPreferenceClickListener listener
) {
Preference preference = new Preference(fragment.requireContext());
preference.setSummary(summary); // setSummary
preference.setTitle(title); // setTitle
if (iconRes != 0)
preference.setIcon(ImageUtils.setTint(fragment.requireContext(), getDrawable(fragment.requireContext(), iconRes))); // preference.setIcon
preference.setOnPreferenceClickListener(listener); // preference.setOnPreferenceClickListener(listener)
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreference(
MaterialPreferenceToolbarFragment fragment,
String key,
CharSequence title,
CharSequence summary,
int iconRes,
Preference.OnPreferenceClickListener listener) {
Preference preference = new Preference(fragment.requireContext());
preference.setSummary(summary); // setSummary
preference.setTitle(title); // setTitle
preference.setKey(key); // setKey
if (iconRes != 0)
preference.setIcon(ImageUtils.setTint(fragment.requireContext(), getDrawable(fragment.requireContext(), iconRes))); // preference.setIcon
preference.setOnPreferenceClickListener(listener); // preference.setOnPreferenceClickListener(listener)
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreferenceDrawable(
MaterialPreferenceToolbarFragment fragment,
String key,
CharSequence title,
CharSequence summary,
@Nullable Drawable icon,
Preference.OnPreferenceClickListener listener
) {
Preference preference = new Preference(fragment.requireContext());
preference.setSummary(summary); // setSummary
preference.setTitle(title); // setTitle
preference.setKey(key); // setKey
if (icon != null)
preference.setIcon(icon); // preference.setIcon
preference.setOnPreferenceClickListener(listener); // preference.setOnPreferenceClickListener(listener)
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreferenceCategory(MaterialPreferenceToolbarFragment fragment, CharSequence title) {
PreferenceCategory preference = new PreferenceCategory(fragment.requireContext(), null);
preference.setTitle(title); // setTitle
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addPreferenceCategory(MaterialPreferenceToolbarFragment fragment, CharSequence title, int collapsedSize) {
PreferenceCategory preference = new PreferenceCategory(fragment.requireContext(), null);
preference.setTitle(title); // setTitle
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static void addEditTextPreference(MaterialPreferenceToolbarFragment fragment, String key, CharSequence title, EditTextPrefChangeListener editTextPrefChangeListener) {
Preference preference = new Preference(fragment.requireContext());
preference.setTitle(title); // setTitle
preference.setKey(key); // setKey
preference.setOnPreferenceClickListener(preference1 -> {
LinearLayout linearLayout = new LinearLayout(fragment.requireContext());
final EditText editText = new EditText(fragment.requireContext());
editText.setText(PreferenceManager.getDefaultSharedPreferences(fragment.requireContext()).getString(key, ""));
editText.setHint(title);
editText.setTextColor(ThemesUtils.getTextAttr());
editText.setHintTextColor(ThemesUtils.getSTextAttr());
editText.setBackgroundTintList(ThemesUtils.getAccenedColorStateList());
linearLayout.addView(editText);
editText.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
ViewGroup.MarginLayoutParams margin = ((ViewGroup.MarginLayoutParams) editText.getLayoutParams());
margin.setMargins(AndroidUtils.dp2px(20f), 0, AndroidUtils.dp2px(20f), 0);
editText.setLayoutParams(margin);
new VkAlertDialog.Builder(fragment.getContext())
.setTitle(title)
.setView(linearLayout)
.setPositiveButton("OK", (dialog, which) -> {
boolean change = editTextPrefChangeListener.onChanged(preference, editText.getText().toString());
if (!change)
return;
PreferenceManager.getDefaultSharedPreferences(fragment.requireContext())
.edit()
.putString(key, editText.getText().toString())
.apply();
})
.show();
return false;
}); // preference.setOnPreferenceClickListener(listener)
fragment.getPreferenceScreen().addPreference(preference); // fragment.getPreferenceScreen().addPreference(preference)
}
public static int getTextColor(Context ctx) {
TypedValue typedValue = new TypedValue();
ctx.getTheme().resolveAttribute(ThemesUtils.getTextAttr(), typedValue, true);
return typedValue.data;
}
public static int getSTextColor(Context ctx) {
TypedValue typedValue = new TypedValue();
ctx.getTheme().resolveAttribute(ThemesUtils.getSTextAttr(), typedValue, true);
return typedValue.data;
}
private static Drawable getDrawable(Context ctx, int drawableRes) {
return ContextCompat.getDrawable(ctx, drawableRes);
}
public interface EditTextPrefChangeListener {
boolean onChanged(Preference preference, Object obj);
}
}
@@ -52,7 +52,7 @@ public class CrashReporter {
foxbinIntent.putExtra("android.intent.extra.TEXT", logString);
foxbinIntent.setType("text/plain");
if (!isFoxbinInstalled()) {
foxbinIntent = new Intent("android.intent.action.VIEW");
foxbinIntent = new Intent(Intent.ACTION_VIEW);
foxbinIntent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.f0x1d.dogbin"));
foxbinIntent.addFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);
}
@@ -1,19 +1,17 @@
package ru.vtosters.lite.ui.dialogs;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vtosters.lite.R;
import ru.vtosters.lite.deviceinfo.OEMDetector;
import ru.vtosters.lite.utils.AndroidUtils;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
public class Start {
public static void alert(final Activity activity) {
if (Build.VERSION.SDK_INT >= 23) {
@@ -30,7 +28,7 @@ public class Start {
.setNeutralButton(R.string.startbtn1,
(dialogInterface, i) -> {
edit().putBoolean("showAlert", false).apply();
activity.startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/vtosters")));
activity.startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://t.me/vtosters")));
}
)
.show();
@@ -1,22 +1,5 @@
package ru.vtosters.lite.ui.fragments;
import static ru.vtosters.lite.ui.PreferencesUtil.addPreference;
import static ru.vtosters.lite.ui.PreferencesUtil.addPreferenceCategory;
import static ru.vtosters.lite.ui.PreferencesUtil.addPreferenceDrawable;
import static ru.vtosters.lite.ui.components.IconManager.icons;
import static ru.vtosters.lite.ui.components.IconManager.iconsValues;
import static ru.vtosters.lite.ui.components.IconManager.sIconsPlus;
import static ru.vtosters.lite.ui.components.IconManager.sIconsPlusNames;
import static ru.vtosters.lite.ui.components.IconManager.switchComponent;
import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.hasVerification;
import static ru.vtosters.lite.utils.Preferences.preferences;
import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -26,44 +9,47 @@ import android.os.Bundle;
import android.util.TypedValue;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import androidx.appcompat.view.ContextThemeWrapper;
import androidx.core.content.res.ResourcesCompat;
import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vtosters.lite.R;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
import ru.vtosters.lite.ui.components.IconManager;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.Preferences;
import ru.vtosters.lite.utils.ThemesUtils;
public class IconsFragment extends MaterialPreferenceToolbarFragment {
@SuppressLint("SetTextI18n")
public static void callSelectDialog(Context ctx, String appicon) {
var defname = preferences.getString("appname", "vt");
var deficon = preferences.getString("selectedicon", "vt");
var defname = Preferences.preferences.getString("appname", "vt");
var deficon = Preferences.preferences.getString("selectedicon", "vt");
RadioGroup rg = new RadioGroup(ctx);
RadioButton rgDefault = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton));
RadioButton rgVK = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton));
RadioButton rgVKontakte = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton));
RadioButton rgDefault = new RadioButton(new ContextThemeWrapper(ctx, R.style.Widget_AppCompat_CompoundButton_RadioButton));
RadioButton rgVK = new RadioButton(new ContextThemeWrapper(ctx, R.style.Widget_AppCompat_CompoundButton_RadioButton));
RadioButton rgVKontakte = new RadioButton(new ContextThemeWrapper(ctx, R.style.Widget_AppCompat_CompoundButton_RadioButton));
rg.addView(rgDefault);
rg.addView(rgVK);
rg.addView(rgVKontakte);
rgDefault.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
rgVK.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
rgVKontakte.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
rgDefault.setTextSize(TypedValue.COMPLEX_UNIT_PX, AndroidUtils.dp2px(14f));
rgVK.setTextSize(TypedValue.COMPLEX_UNIT_PX, AndroidUtils.dp2px(14f));
rgVKontakte.setTextSize(TypedValue.COMPLEX_UNIT_PX, AndroidUtils.dp2px(14f));
rg.setPadding(dp2px(18f), dp2px(12f), dp2px(18f), 0);
rg.setPadding(AndroidUtils.dp2px(18f), AndroidUtils.dp2px(12f), AndroidUtils.dp2px(18f), 0);
rgDefault.setText("VTLite");
rgDefault.setTextColor(getTextAttr());
rgDefault.setTextColor(ThemesUtils.getTextAttr());
rgVK.setText("VK");
rgVK.setTextColor(getTextAttr());
rgVK.setTextColor(ThemesUtils.getTextAttr());
rgVKontakte.setText(ctx.getString(R.string.app_name_alter));
rgVKontakte.setTextColor(getTextAttr());
rgVKontakte.setTextColor(ThemesUtils.getTextAttr());
rgVKontakte.setChecked(defname.contains("vkontakte"));
rgVK.setChecked(defname.contains("standard"));
@@ -74,20 +60,20 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
.setView(rg)
.setPositiveButton(R.string.vtl_confirm, ((dialog, which) -> {
if (rgDefault.isChecked()) {
edit().putString("appname", "vt").commit();
edit().putString("selectedicon", appicon).commit();
AndroidUtils.edit().putString("appname", "vt").commit();
AndroidUtils.edit().putString("selectedicon", appicon).commit();
switchComponent(appicon, "vt", deficon, defname);
IconManager.switchComponent(appicon, "vt", deficon, defname);
} else if (rgVK.isChecked()) {
edit().putString("appname", "standard").commit();
edit().putString("selectedicon", appicon).commit();
AndroidUtils.edit().putString("appname", "standard").commit();
AndroidUtils.edit().putString("selectedicon", appicon).commit();
switchComponent(appicon, "standard", deficon, defname);
IconManager.switchComponent(appicon, "standard", deficon, defname);
} else if (rgVKontakte.isChecked()) {
edit().putString("appname", "vkontakte").commit();
edit().putString("selectedicon", appicon).commit();
AndroidUtils.edit().putString("appname", "vkontakte").commit();
AndroidUtils.edit().putString("selectedicon", appicon).commit();
switchComponent(appicon, "vkontakte", deficon, defname);
IconManager.switchComponent(appicon, "vkontakte", deficon, defname);
}
}))
.setNegativeButton(R.string.cancel,
@@ -102,20 +88,20 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
this.addPreferencesFromResource(R.xml.empty);
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
addPreference(this, "", requireContext().getString(R.string.icons_warning), requireContext().getString(R.string.icons_warning_info), R.drawable.ic_about_outline_28, preference -> {
getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://vtosters.app/donate/")));
if (!Preferences.hasVerification() && !Preferences.getBoolValue("dialogrecomm", false)) {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", requireContext().getString(R.string.icons_warning), requireContext().getString(R.string.icons_warning_info), R.drawable.ic_about_outline_28, preference -> {
getContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://vtosters.app/donate/")));
return false;
});
}
addPreferenceCategory(this, requireContext().getString(R.string.icons_title));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.icons_title));
for (var i = 0; i < icons().size(); i++) {
if (icons().get(i) == null || iconsValues().get(i) == null) return;
for (var i = 0; i < IconManager.icons().size(); i++) {
if (IconManager.icons().get(i) == null || IconManager.iconsValues().get(i) == null) return;
String iconname = icons().get(i);
String icon = iconsValues().get(i);
String iconname = IconManager.icons().get(i);
String icon = IconManager.iconsValues().get(i);
int iconRes;
@@ -124,7 +110,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
} else if (icon.contains("standard")) {
iconRes = R.mipmap.ic_launcher_round;
} else {
iconRes = getIdentifier("ic_launcher_" + icon, "mipmap");
iconRes = AndroidUtils.getIdentifier("ic_launcher_" + icon, "mipmap");
}
Drawable drawable = ResourcesCompat.getDrawable(getResources(), iconRes, null);
@@ -133,20 +119,20 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_bug_outline_28, null);
}
addPreferenceDrawable(this, icon, iconname, "", drawable, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), icon, iconname, "", drawable, preference -> {
callSelectDialog(this.getContext(), icon);
return false;
});
}
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
addPreferenceCategory(this, requireContext().getString(R.string.unavailable_icons));
if (!Preferences.hasVerification() && !Preferences.getBoolValue("dialogrecomm", false)) {
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.unavailable_icons));
for (var i = 2; i < sIconsPlusNames.size(); i++) {
if (sIconsPlusNames.get(i) == null || sIconsPlus.get(i) == null) return;
for (var i = 2; i < IconManager.sIconsPlusNames.size(); i++) {
if (IconManager.sIconsPlusNames.get(i) == null || IconManager.sIconsPlus.get(i) == null) return;
String iconname = sIconsPlusNames.get(i);
String icon = sIconsPlus.get(i);
String iconname = IconManager.sIconsPlusNames.get(i);
String icon = IconManager.sIconsPlus.get(i);
int iconRes;
@@ -155,7 +141,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
} else if (icon.contains("standard")) {
iconRes = R.mipmap.ic_launcher_round;
} else {
iconRes = getIdentifier("ic_launcher_" + icon, "mipmap");
iconRes = AndroidUtils.getIdentifier("ic_launcher_" + icon, "mipmap");
}
Drawable drawable = ResourcesCompat.getDrawable(getResources(), iconRes, null);
@@ -164,8 +150,8 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_bug_outline_28, null);
}
addPreferenceDrawable(this, icon, iconname, "", drawable, preference -> {
sendToast(requireContext().getString(R.string.unavailable_icon_warning));
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), icon, iconname, "", drawable, preference -> {
AndroidUtils.sendToast(requireContext().getString(R.string.unavailable_icon_warning));
return false;
});
}
@@ -1,34 +1,17 @@
package ru.vtosters.lite.ui.fragments;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getEmuiVersionCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionIncrementalCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionName;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getOneUiMajorVersion;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getOneUiMinorVersion;
import static ru.vtosters.lite.deviceinfo.OEMDetector.hasMiuiIncrCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isEMUI;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isFlyme;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isMIUI;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isOneUi;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isSamsung;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isVivo;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isZenUI;
import static ru.vtosters.lite.ui.PreferencesUtil.addPreference;
import static ru.vtosters.lite.ui.PreferencesUtil.addPreferenceCategory;
import static ru.vtosters.lite.utils.About.getBuildNumber;
import static ru.vtosters.lite.utils.AndroidUtils.isTablet;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.Preferences.isValidSignature;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import com.vtosters.lite.R;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.deviceinfo.OEMDetector;
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
import ru.vtosters.lite.utils.About;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.Preferences;
public class SystemInfo extends MaterialPreferenceToolbarFragment {
@@ -37,8 +20,8 @@ public class SystemInfo extends MaterialPreferenceToolbarFragment {
super.onCreate(bundle);
addPreferencesFromResource(R.xml.empty);
var oneUiMajorVersion = String.valueOf(getOneUiMajorVersion());
var oneUiMinorVersion = String.valueOf(getOneUiMinorVersion());
var oneUiMajorVersion = String.valueOf(OEMDetector.getOneUiMajorVersion());
var oneUiMinorVersion = String.valueOf(OEMDetector.getOneUiMinorVersion());
var sdkVersion = String.valueOf(Build.VERSION.SDK_INT);
var productName = Build.PRODUCT;
var deviceName = Build.DEVICE;
@@ -46,145 +29,145 @@ public class SystemInfo extends MaterialPreferenceToolbarFragment {
var manufacturerName = Build.MANUFACTURER;
var brandName = Build.BRAND;
var modelName = Build.MODEL;
var miuiUiVersionName = getMiuiUiVersionName();
var miuiIncrementalCodeName = getMiuiUiVersionIncrementalCode();
var miuiUiVersionCodeName = getMiuiUiVersionCode();
var emuiVersionCode = getEmuiVersionCode();
var miuiUiVersionName = OEMDetector.getMiuiUiVersionName();
var miuiIncrementalCodeName = OEMDetector.getMiuiUiVersionIncrementalCode();
var miuiUiVersionCodeName = OEMDetector.getMiuiUiVersionCode();
var emuiVersionCode = OEMDetector.getEmuiVersionCode();
var packageName = requireContext().getPackageName();
var commit = getBuildNumber();
var commit = About.getBuildNumber();
var isMiui = isMIUI();
var isFlyme = isFlyme();
var isSamsung = isSamsung();
var isOneUi = isOneUi();
var isVivo = isVivo();
var isZenUI = isZenUI();
var isEMUI = isEMUI();
var hasMiuiIncrCode = hasMiuiIncrCode();
var isMiui = OEMDetector.isMIUI();
var isFlyme = OEMDetector.isFlyme();
var isSamsung = OEMDetector.isSamsung();
var isOneUi = OEMDetector.isOneUi();
var isVivo = OEMDetector.isVivo();
var isZenUI = OEMDetector.isZenUI();
var isEMUI = OEMDetector.isEMUI();
var hasMiuiIncrCode = OEMDetector.hasMiuiIncrCode();
var isValidSignature = isValidSignature();
var isTablet = isTablet();
var isValidSignature = Preferences.isValidSignature();
var isTablet = AndroidUtils.isTablet();
addPreferenceCategory(this, "App information");
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "App information");
addPreference(this, "", "Package name", packageName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Package name", packageName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", packageName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Commit", commit, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Commit", commit, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", commit));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Valid Signature", "Value: " + isValidSignature, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Valid Signature", "Value: " + isValidSignature, 0, null);
addPreference(this, "", "isTablet", "Value: " + isTablet, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isTablet", "Value: " + isTablet, 0, null);
addPreferenceCategory(this, "System information");
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "System information");
addPreference(this, "", "SDK Version", sdkVersion, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "SDK Version", sdkVersion, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", sdkVersion));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Product Name", productName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Product Name", productName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", productName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Device Name", deviceName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Device Name", deviceName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", deviceName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Board Name", boardName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Board Name", boardName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", boardName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Manufacturer Name", manufacturerName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Manufacturer Name", manufacturerName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", manufacturerName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Brand Name", brandName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Brand Name", brandName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", brandName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "Model Name", modelName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "Model Name", modelName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", modelName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreferenceCategory(this, "OEM Information");
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "OEM Information");
if (isOneUi) {
addPreference(this, "", "OneUiMajorVersion", oneUiMajorVersion, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "OneUiMajorVersion", oneUiMajorVersion, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", oneUiMajorVersion));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "OneUiMinorVersion", oneUiMinorVersion, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "OneUiMinorVersion", oneUiMinorVersion, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", oneUiMinorVersion));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
} else if (isMiui) {
addPreference(this, "", "miuiUiVersionName", miuiUiVersionName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "miuiUiVersionName", miuiUiVersionName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", miuiUiVersionName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
addPreference(this, "", "miuiUiVersionCodeName", miuiUiVersionCodeName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "miuiUiVersionCodeName", miuiUiVersionCodeName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", miuiUiVersionCodeName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
if (hasMiuiIncrCode) {
addPreference(this, "", "miuiIncrementalCodeName", miuiIncrementalCodeName, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "miuiIncrementalCodeName", miuiIncrementalCodeName, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", miuiIncrementalCodeName));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
}
} else if (isEMUI) {
addPreference(this, "", "emuiVersionCode", emuiVersionCode, 0, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "emuiVersionCode", emuiVersionCode, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", emuiVersionCode));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
AndroidUtils.sendToast(requireContext().getString(R.string.copied_to_clipboard));
return false;
});
} else {
addPreference(this, "", "No info", "No information about OEM", 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "No info", "No information about OEM", 0, null);
}
addPreferenceCategory(this, "OEM List");
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "OEM List");
addPreference(this, "", "isOneUi", "Value: " + isOneUi, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isOneUi", "Value: " + isOneUi, 0, null);
addPreference(this, "", "isMiui", "Value: " + isMiui, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isMiui", "Value: " + isMiui, 0, null);
addPreference(this, "", "isEMUI", "Value: " + isEMUI, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isEMUI", "Value: " + isEMUI, 0, null);
addPreference(this, "", "isFlyme", "Value: " + isFlyme, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isFlyme", "Value: " + isFlyme, 0, null);
addPreference(this, "", "isSamsung", "Value: " + isSamsung, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isSamsung", "Value: " + isSamsung, 0, null);
addPreference(this, "", "isVivo", "Value: " + isVivo, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isVivo", "Value: " + isVivo, 0, null);
addPreference(this, "", "isZenUI", "Value: " + isZenUI, 0, null);
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", "isZenUI", "Value: " + isZenUI, 0, null);
}
}
@@ -2,7 +2,6 @@ package ru.vtosters.lite.ui.fragments;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.WindowManager;
@@ -97,7 +96,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
findPreference("accentprefs").setVisible(!ThemesUtils.isMonetTheme() && ThemesUtils.isMilkshake());
if (AndroidUtils.isTablet()) {
if(AndroidUtils.isTablet()) {
PreferenceCategory dockbarSettingsPreferenceCategory = (PreferenceCategory) findPreference("dockbarsett");
dockbarSettingsPreferenceCategory.setVisible(false);
}
@@ -113,7 +112,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
new VkAlertDialog.Builder(requireContext())
.setTitle(AndroidUtils.getString("change_accent_color"))
.setItems(titles, (dialog, which) -> {
switch (which) {
switch(which) {
case 0:
showColorPicker();
break;
@@ -154,8 +153,8 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
void showPalettesDialog() {
final var manager = PalettesManager.getInstance();
final var titles = new String[manager.getPalettesCount()];
if (titles.length > 0) {
for (int i = 0; i < titles.length; ++i)
if(titles.length > 0) {
for(int i = 0; i < titles.length; ++i)
titles[i] = manager.getPalette(i).name;
new VkAlertDialog.Builder(requireContext())
.setTitle(AndroidUtils.getString("select_palette"))
@@ -178,7 +177,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
LifecycleUtils.restartApplicationWithTimer();
}
private void switchFragment(Class<? extends FragmentImpl> fragmentClz) {
private void switchFragment(Class< ? extends FragmentImpl > fragmentClz) {
var intent = new Navigator(fragmentClz)
.b(requireContext())
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -15,8 +15,9 @@ public class VKPayFragment extends FragmentImpl {
public void start() {
VKUIwrapper.setLink("https://vk.com/vkpay");
Intent a2 = new Navigator(VKUIwrapper.class).b(getActivity());
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a2);
Intent intent = new Navigator(VKUIwrapper.class)
.b(getActivity())
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
@@ -1,6 +1,5 @@
package ru.vtosters.lite.ui.fragments;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
@@ -9,6 +8,7 @@ import androidx.annotation.StringRes;
import com.aefyr.tsg.g2.TelegramStickersService;
import com.vk.about.AboutAppFragment;
import com.vk.balance.BalanceFragment;
import com.vk.core.fragments.FragmentImpl;
import com.vk.navigation.Navigator;
import com.vk.notifications.settings.NotificationsSettingsFragment;
import com.vk.webapp.fragments.PrivacyFragment;
@@ -25,30 +25,19 @@ import com.vtosters.lite.general.fragments.SettingsGeneralFragment;
import com.vtosters.lite.ui.MaterialSwitchPreference;
import ru.vtosters.lite.concurrent.VTExecutors;
import ru.vtosters.lite.hooks.ui.SystemThemeChangerHook;
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
import ru.vtosters.lite.ui.components.DockBarEditorManager;
import ru.vtosters.lite.ui.components.SuperAppEditorManager;
import ru.vtosters.lite.ui.dialogs.OTADialog;
import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.SSFSUtils;
import ru.vtosters.lite.utils.ThemesUtils;
import static ru.vtosters.lite.ui.PreferencesUtil.*;
import static ru.vtosters.lite.utils.About.getBuildNumber;
import static ru.vtosters.lite.utils.About.getCommitLink;
import static ru.vtosters.lite.utils.AccountManagerUtils.*;
import static ru.vtosters.lite.utils.AndroidUtils.*;
import static ru.vtosters.lite.utils.GmsUtils.isGmsInstalled;
import static ru.vtosters.lite.utils.ImageUtils.getDrawableFromUrl;
import static ru.vtosters.lite.utils.Preferences.*;
import static ru.vtosters.lite.utils.ThemesUtils.*;
import static ru.vtosters.lite.utils.VTVerifications.vtverif;
import ru.vtosters.lite.utils.*;
public class VTSettings extends MaterialPreferenceToolbarFragment {
public static String getValAsString(@StringRes int strRes, Boolean value) {
if (disableSettingsSumms()) return null;
if (value) {
public static String getValAsString(@StringRes int strRes, Boolean value) {
if(Preferences.disableSettingsSumms()) return null;
if(value) {
return AndroidUtils.getString(strRes) + ": " + AndroidUtils.getString(R.string.vtlsettenabled);
}
@@ -56,44 +45,44 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
}
public static String getSSFSsumm() {
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
if (hasSpecialVerif())
if(Preferences.hasSpecialVerif())
return AndroidUtils.getString(R.string.vtlssfssumm) + ": " + AndroidUtils.getString(R.string.vtlsettverifyes);
return AndroidUtils.getString(R.string.vtlssfssumm) + ": " + AndroidUtils.getString(R.string.vtlsettverifno);
}
public static String getDocksumm() {
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
return AndroidUtils.getString(R.string.vtldocksumm) + ": " + DockBarEditorManager.getInstance().getSelectedTabs().size();
}
public static String getTGSsumm() {
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
return AndroidUtils.getString(R.string.vtltgssumm) + ": " + TelegramStickersService.getInstance(AndroidUtils.getGlobalContext()).getPacksListReference().size();
}
public static String getProxysumm() {
var type = getPrefsValue("proxy");
var type = AndroidUtils.getPrefsValue("proxy");
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
if (type.equals("noproxy") || type.isEmpty())
if(type.equals("noproxy") || type.isEmpty())
type = AndroidUtils.getString(R.string.vtlsettdisabled);
return AndroidUtils.getString(R.string.vtlproxysumm) + ": " + type;
}
public static String getThemesumm() {
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
String str;
String[] themeTypeName = AndroidUtils.getArray("theme_type_name");
switch (getPrefsValue("currsystemtheme")) {
switch(AndroidUtils.getPrefsValue("currsystemtheme")) {
default:
case "system":
str = themeTypeName[0];
@@ -110,45 +99,31 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
}
public static String getSuperappsumm() {
if (disableSettingsSumms()) return null;
if(Preferences.disableSettingsSumms()) return null;
return AndroidUtils.getString(R.string.elements_hidden_count) + ": " + SuperAppEditorManager.getInstance().getDisabledTabs().size();
}
private void switchTheme(boolean isDarkTheme) {
setTheme(isDarkTheme ? getDarkTheme() : getLightTheme(), requireActivity());
ThemesUtils.setTheme(isDarkTheme ? ThemesUtils.getDarkTheme() : ThemesUtils.getLightTheme(), requireActivity());
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
var feedsumm = getValAsString(R.string.vtlfeedsumm, ads());
var docksumm = getDocksumm();
var msgsumm = isTablet() ? getValAsString(R.string.autotranslate_title, autotranslate()) : getValAsString(R.string.vtlmsgsumm, vkme());
var activitysumm = getValAsString(R.string.vtlactivitysumm, offline());
var themessumm = getValAsString(R.string.vtlthemessumm, navbar());
var tgssumm = getTGSsumm();
var superapp = getSuperappsumm();
var mediasumm = getValAsString(R.string.vtlinterfacesumm, shortinfo());
var interfacesumm = getValAsString(R.string.showstories, stories());
var proxysumm = getProxysumm();
var othersumm = getValAsString(R.string.vtlothersumm, vtverif());
var ssfs = getSSFSsumm();
var about = "Commit: " + getBuildNumber();
this.addPreferencesFromResource(R.xml.empty);
addPreferenceDrawable(
this,
var accountSwitcher = PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"account_switcher",
getUsername(),
AccountManagerUtils.getUsername(),
requireContext().getString(R.string.vtllogout),
requireContext().getDrawable(R.drawable.ic_user_circle_outline_28),
preference -> {
try {
VKAuth.a("logout", false);
} catch (Exception ignored) {
} catch(Exception ignored) {
}
var intent = new Intent(requireContext(), MainActivity.class)
@@ -158,310 +133,475 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
requireContext().startActivity(intent);
return false;
});
});
VTExecutors.getIoScheduler().a(() -> {
var icon = getDrawableFromUrl(getUserPhoto(), 0, true, true);
if (icon == null) return;
var icon = ImageUtils.getDrawableFromUrl(AccountManagerUtils.getUserPhoto(), 0, true, true);
if(icon == null) return;
requireActivity().runOnUiThread(() -> {
findPreference("account_switcher").setIcon(icon);
accountSwitcher.setIcon(icon);
});
});
addPreference(this, "", requireContext().getString(R.string.vtssfs), ssfs, R.drawable.ic_link_circle_outline_28, preference -> {
Context context = requireContext();
VKUIwrapper.setLink(SSFSUtils.getSSFSLink());
Intent a2 = new Navigator(VKUIwrapper.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtssfs),
getSSFSsumm(),
R.drawable.ic_link_circle_outline_28,
preference -> {
VKUIwrapper.setLink(SSFSUtils.getSSFSLink());
launchFragment(VKUIwrapper.class);
return false;
}
);
addPreferenceCategory(this, requireContext().getString(R.string.appearance_theme_use_system));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), R.string.appearance_theme_use_system);
if (Build.VERSION.SDK_INT >= 28 && milkshake()) {
addListPreferenceIcon(
this,
if(Build.VERSION.SDK_INT >= 28 && Preferences.milkshake()) {
PreferenceFragmentUtils.addListPreference(
getPreferenceScreen(),
"currsystemtheme",
"system",
requireContext().getString(R.string.appearance_theme_use_system),
R.drawable.ic_palette_outline_28, getThemesumm(),
R.drawable.ic_palette_outline_28,
getThemesumm(),
AndroidUtils.getArray("theme_type_name_checkbox"),
new String[]{"system", "dark", "light"},
new String[] { "system", "dark", "light" },
(preference, o) -> {
String value = (String) o;
if (!value.equals("system")) {
if(!value.equals("system")) {
var theme = value.equals("dark") ? ThemesUtils.getDarkTheme() : ThemesUtils.getLightTheme();
ThemesUtils.applyTheme(theme);
}
edit().putString("currsystemtheme", value).commit();
AndroidUtils.edit().putString("currsystemtheme", value).commit();
SystemThemeChangerHook.onThemeChanged(getResources().getConfiguration());
return true;
});
} else {
addMaterialSwitchPreference(this, "", requireContext().getString(R.string.vtsettdarktheme), "", R.drawable.ic_palette_outline_28, isDarkTheme(), (preference, o) -> {
final var switchPreference = (MaterialSwitchPreference) preference;
final var isDarkTheme = !switchPreference.isChecked();
switchTheme(isDarkTheme);
return true;
});
PreferenceFragmentUtils.addMaterialSwitchPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtsettdarktheme),
"",
R.drawable.ic_palette_outline_28,
ThemesUtils.isDarkTheme(),
(preference, o) -> {
final var switchPreference = (MaterialSwitchPreference) preference;
final var isDarkTheme = !switchPreference.isChecked();
switchTheme(isDarkTheme);
return true;
}
);
}
if (!isGmsInstalled()) {
addPreferenceCategory(this, requireContext().getString(R.string.gmsname));
if(!GmsUtils.isGmsInstalled()) {
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), R.string.gmsname);
addPreference(this, "", requireContext().getString(R.string.installgms), "", R.drawable.ic_about_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(InstallGMSFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.installgms),
"",
R.drawable.ic_about_outline_28,
preference -> {
launchFragment(InstallGMSFragment.class);
return false;
}
);
}
if (devmenu()) {
addPreferenceCategory(this, requireContext().getString(R.string.sett_debug));
if(Preferences.devmenu()) {
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), R.string.sett_debug);
addPreference(this, "", requireContext().getString(R.string.sett_debug), "", R.drawable.ic_bug_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(SettingsDebugFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.sett_debug),
"",
R.drawable.ic_bug_outline_28,
preference -> {
launchFragment(SettingsDebugFragment.class);
return false;
}
);
addMaterialSwitchPreference(this, "ssl", requireContext().getString(R.string.debug_developer_force_ssl), requireContext().getString(R.string.debug_developer_force_ssl_summary), R.drawable.ic_globe_outline_28, true, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("ssl", value).commit();
return true;
});
PreferenceFragmentUtils.addMaterialSwitchPreference(
getPreferenceScreen(),
"ssl",
requireContext().getString(R.string.debug_developer_force_ssl),
requireContext().getString(R.string.debug_developer_force_ssl_summary),
R.drawable.ic_globe_outline_28,
true,
(preference, o) -> {
AndroidUtils.edit().putBoolean("ssl", (boolean) o).commit();
return true;
}
);
if (dev() && isValidSignature()) {
addMaterialSwitchPreference(this, "autoupdates", requireContext().getString(R.string.checkupdates), "", R.drawable.ic_camera_switch_outline_24, true, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("autoupdates", value).commit();
return true;
});
if(Preferences.dev() && Preferences.isValidSignature()) {
PreferenceFragmentUtils.addMaterialSwitchPreference(
getPreferenceScreen(),
"autoupdates",
requireContext().getString(R.string.checkupdates),
"",
R.drawable.ic_camera_switch_outline_24,
true,
(preference, o) -> {
boolean value = (boolean) o;
AndroidUtils.edit().putBoolean("autoupdates", value).commit();
return true;
}
);
}
}
addPreferenceCategory(this, requireContext().getString(R.string.vtsettaccount));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), R.string.vtsettaccount);
addPreference(this, "", requireContext().getString(R.string.vkconnect), "", R.drawable.ic_user_circle_outline_28, preference -> {
Context context = requireContext();
VKUIwrapper.officalLinks("account");
Intent a2 = new Navigator(VKUIwrapper.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.privacy_settings), "", R.drawable.ic_privacy_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(PrivacyFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.sett_account), "", R.drawable.ic_user_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(SettingsAccountFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
if (isVKTester()) {
addPreference(this, "", requireContext().getString(R.string.bugs), "", R.drawable.ic_bug_outline_28, preference -> {
Context context = requireContext();
VKUIwrapper.officalLinks("bugs");
Intent a2 = new Navigator(VKUIwrapper.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
}
addPreferenceCategory(this, requireContext().getString(R.string.vtlvksettings));
addPreference(this, "", requireContext().getString(R.string.sett_general), "", R.drawable.ic_settings_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(SettingsGeneralFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.blacklist), "", R.drawable.ic_users_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(BlacklistFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.sett_notifications), "", R.drawable.ic_menu_notification_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(NotificationsSettingsFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
if (VKAccountManager.d().isMusicSubs()) {
addPreference(this, "", requireContext().getString(R.string.subscription_music), "", R.drawable.ic_music_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(MusicSubscriptionControlFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
}
addPreference(this, "", requireContext().getString(R.string.votes), "", R.drawable.ic_coins_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(BalanceFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreferenceCategory(this, requireContext().getString(R.string.vtsettmod));
if (vkme()) {
addPreference(this, "", requireContext().getString(R.string.warning), requireContext().getString(R.string.vkme_mode_info), R.drawable.ic_about_outline_28, preference -> false);
} else {
addPreference(this, "", requireContext().getString(R.string.vtlfeed), feedsumm, R.drawable.ic_newsfeed_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(FeedFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
}
addPreference(this, "", requireContext().getString(R.string.vtlmedia), mediasumm, R.drawable.ic_media_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(MediaFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.vtlmessages), msgsumm, R.drawable.ic_message_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(MessagesFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.vtltgs), tgssumm, R.drawable.ic_telegram_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(StickersFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.vtlthemes), themessumm, R.drawable.ic_write_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(ThemesFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
addPreference(this, "", requireContext().getString(R.string.vtlinterface), interfacesumm, R.drawable.ic_interface_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(InterfaceFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
if (!vkme()) {
if (!isTablet()) {
addPreference(this, "", requireContext().getString(R.string.dockbar_editor), docksumm, R.drawable.ic_list_outline_28, preference -> {
Context context = requireContext();
Intent intent = new Navigator(DockBarEditorFragment.class).b(context);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vkconnect),
"",
R.drawable.ic_user_circle_outline_28,
preference -> {
VKUIwrapper.officalLinks("account");
launchFragment(VKUIwrapper.class);
return false;
});
}
);
if (milkshake() && superapp()) {
addPreference(this, "", requireContext().getString(R.string.superapp_editor), superapp, R.drawable.ic_services_outline_28, (preference) -> {
Context context = requireContext();
Intent intent = new Navigator(SuperAppEditorFragment.class).b(context);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
return true;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.privacy_settings),
"",
R.drawable.ic_privacy_outline_28,
preference -> {
launchFragment(PrivacyFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.sett_account),
"",
R.drawable.ic_user_outline_28,
preference -> {
launchFragment(SettingsAccountFragment.class);
return false;
}
);
if(AccountManagerUtils.isVKTester()) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.bugs),
"",
R.drawable.ic_bug_outline_28,
preference -> {
VKUIwrapper.officalLinks("bugs");
launchFragment(VKUIwrapper.class);
return false;
}
);
}
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.vtlvksettings));
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.sett_general),
"",
R.drawable.ic_settings_outline_28,
preference -> {
launchFragment(SettingsGeneralFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.blacklist),
"",
R.drawable.ic_users_outline_28,
preference -> {
launchFragment(BlacklistFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.sett_notifications),
"",
R.drawable.ic_menu_notification_outline_28,
preference -> {
launchFragment(NotificationsSettingsFragment.class);
return false;
}
);
if(VKAccountManager.d().isMusicSubs()) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.subscription_music),
"",
R.drawable.ic_music_outline_28,
preference -> {
launchFragment(MusicSubscriptionControlFragment.class);
return false;
}
);
}
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.votes),
"",
R.drawable.ic_coins_outline_28,
preference -> {
launchFragment(BalanceFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.vtsettmod));
if(Preferences.vkme()) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.warning),
requireContext().getString(R.string.vkme_mode_info),
R.drawable.ic_about_outline_28,
preference -> false
);
} else {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlfeed),
getValAsString(R.string.vtlfeedsumm, Preferences.ads()),
R.drawable.ic_newsfeed_outline_28,
preference -> {
launchFragment(FeedFragment.class);
return false;
}
);
}
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlmedia),
getValAsString(R.string.vtlinterfacesumm, Preferences.shortinfo()),
R.drawable.ic_media_outline_28,
preference -> {
launchFragment(MediaFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlmessages),
AndroidUtils.isTablet()
? getValAsString(R.string.autotranslate_title, Preferences.autotranslate())
: getValAsString(R.string.vtlmsgsumm, Preferences.vkme()),
R.drawable.ic_message_outline_28,
preference -> {
launchFragment(MessagesFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtltgs),
getTGSsumm(),
R.drawable.ic_telegram_outline_28,
preference -> {
launchFragment(StickersFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlthemes),
getThemesumm(),
R.drawable.ic_write_outline_28,
preference -> {
launchFragment(ThemesFragment.class);
return false;
}
);
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlinterface),
getValAsString(R.string.showstories, Preferences.stories()),
R.drawable.ic_interface_outline_28,
preference -> {
launchFragment(InterfaceFragment.class);
return false;
}
);
if(!Preferences.vkme()) {
if(!AndroidUtils.isTablet()) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.dockbar_editor),
getDocksumm(),
R.drawable.ic_list_outline_28,
preference -> {
launchFragment(DockBarEditorFragment.class);
return false;
}
);
if(Preferences.milkshake() && Preferences.superapp()) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.superapp_editor),
getSuperappsumm(),
R.drawable.ic_services_outline_28,
(preference) -> {
launchFragment(SuperAppEditorFragment.class);
return true;
}
);
}
}
}
addPreference(this, "", requireContext().getString(R.string.vtlactivity), activitysumm, R.drawable.ic_write_outline_28_new_accent, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(ActivityFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlactivity),
getValAsString(R.string.vtlactivitysumm, Preferences.offline()),
R.drawable.ic_write_outline_28_new_accent,
preference -> {
launchFragment(ActivityFragment.class);
return false;
}
);
addPreference(this, "", requireContext().getString(R.string.vtlproxy), proxysumm, R.drawable.ic_globe_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(ProxySettingsFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlproxy),
getProxysumm(),
R.drawable.ic_globe_outline_28,
preference -> {
launchFragment(ProxySettingsFragment.class);
return false;
}
);
addPreference(this, "", requireContext().getString(R.string.vtlother), othersumm, R.drawable.ic_more_horizontal_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(OtherFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtlother),
getValAsString(R.string.vtlothersumm, VTVerifications.vtverif()),
R.drawable.ic_more_horizontal_28,
preference -> {
launchFragment(OtherFragment.class);
return false;
}
);
addPreferenceCategory(this, requireContext().getString(R.string.vtsettaboutmod));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.vtsettaboutmod));
addPreference(this, "", requireContext().getString(R.string.menu_about), about, R.drawable.ic_about_outline_28, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(AboutAppFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(a2);
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.menu_about),
"Commit: " + About.getBuildNumber(),
R.drawable.ic_about_outline_28,
preference -> {
launchFragment(AboutAppFragment.class);
return false;
}
);
addPreference(this, "", requireContext().getString(R.string.opencommit), "", R.drawable.ic_link_outline_28, preference -> {
requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse(getCommitLink())));
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.opencommit),
"",
R.drawable.ic_link_outline_28,
preference -> {
requireContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse(About.getCommitLink())));
return false;
}
);
addPreference(this, "", requireContext().getString(R.string.vtfaq), requireContext().getString(R.string.vtfaqsumm), R.drawable.ic_help_outline_28, preference -> {
requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/s/vtosters_faq")));
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.vtfaq),
requireContext().getString(R.string.vtfaqsumm),
R.drawable.ic_help_outline_28,
preference -> {
requireContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://t.me/s/vtosters_faq")));
return false;
}
);
addPreference(this, "", requireContext().getString(R.string.reportbug), requireContext().getString(R.string.reportbugsumm), R.drawable.ic_bug_outline_28, preference -> {
requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://github.com/vtosters/lite/issues")));
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.reportbug),
requireContext().getString(R.string.reportbugsumm),
R.drawable.ic_bug_outline_28,
preference -> {
requireContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://github.com/vtosters/lite/issues")));
return false;
}
);
if (isValidSignature()) {
addPreferenceCategory(this, requireContext().getString(R.string.updates));
if(Preferences.isValidSignature()) {
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.updates));
addPreference(this, "", requireContext().getString(R.string.checkforupdates), "", R.drawable.ic_download_outline_28, preference -> {
OTADialog.checkUpdates(getActivity());
return false;
});
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
requireContext().getString(R.string.checkforupdates),
"",
R.drawable.ic_download_outline_28,
preference -> {
OTADialog.checkUpdates(getActivity());
return false;
}
);
}
}
private void launchFragment(Class< ? extends FragmentImpl > fragmentClz) {
Intent intent = new Navigator(fragmentClz)
.b(requireContext())
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
requireContext().startActivity(intent);
}
@Override
public void onResume() {
super.onResume();
@@ -1,15 +1,13 @@
package ru.vtosters.lite.ui.fragments.tgstickers;
import android.os.Bundle;
import com.aefyr.tsg.g2.stickersgrabber.TelegramStickersGrabber;
import com.vk.core.util.ToastUtils;
import com.vtosters.lite.R;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.tgs.TGPref;
import ru.vtosters.lite.tgs.TGRoot;
import ru.vtosters.lite.ui.PreferencesUtil;
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
public class StickersPreferencesFragment extends MaterialPreferenceToolbarFragment {
@@ -20,17 +18,17 @@ public class StickersPreferencesFragment extends MaterialPreferenceToolbarFragme
int vtosterXml = R.xml.empty;
addPreferencesFromResource(vtosterXml);
PreferencesUtil.addPreferenceCategory(this, requireContext().getString(R.string.sprefsstickers));
PreferencesUtil.addPreference(this, "", requireContext().getString(R.string.sprefsdelkey), "", 0, preference -> {
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.sprefsstickers));
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", R.string.sprefsdelkey, 0, 0, preference -> {
TGPref.setTGBotKey(null);
ToastUtils.a(requireContext().getString(R.string.sprefsdelkey2));
return false;
});
PreferencesUtil.addPreferenceCategory(this, requireContext().getString(R.string.sprefsnetwork));
PreferencesUtil.addListPreference(this, "VTGS:CM", "0", requireContext().getString(R.string.sprefsctype), new CharSequence[]{
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.sprefsnetwork));
PreferenceFragmentUtils.addListPreference(getPreferenceScreen(), "VTGS:CM", "0", requireContext().getString(R.string.sprefsctype), new CharSequence[] {
requireContext().getString(R.string.ctypedirect), requireContext().getString(R.string.ctypesocks)
}, new String[]{
}, new String[] {
"0", "2"
});
@@ -40,40 +38,40 @@ public class StickersPreferencesFragment extends MaterialPreferenceToolbarFragme
String newData = (String) o;
TGPref.setTGConnectMethod(Integer.parseInt(newData));
TelegramStickersGrabber.updateURLs();
preference.setTitle(TGRoot.getSummary()); // setTitle
preference.setTitle(TGRoot.getSummary());
return true;
});
PreferencesUtil.addPreferenceCategory(this, requireContext().getString(R.string.ssocks));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), R.string.ssocks);
PreferencesUtil.addEditTextPreference(this, "tg_proxy_host", requireContext().getString(R.string.ssockshost), (preference, o) -> {
TGPref.setTGProxyIP((String) o);
PreferenceFragmentUtils.addEditTextPreference(getPreferenceScreen(), "tg_proxy_host", R.string.ssockshost, (preference, o) -> {
TGPref.setTGProxyIP(o);
return true;
});
PreferencesUtil.addEditTextPreference(this, "tg_proxy_port", requireContext().getString(R.string.ssocksport), (preference, o) -> {
PreferenceFragmentUtils.addEditTextPreference(getPreferenceScreen(), "tg_proxy_port", R.string.ssocksport, (preference, o) -> {
try {
TGPref.setTGProxyPort(Integer.parseInt((String) o));
TGPref.setTGProxyPort(Integer.parseInt(o));
return true;
} catch (Exception e) {
} catch(Exception e) {
ToastUtils.a(requireContext().getString(R.string.ssockswport));
return false;
}
});
PreferencesUtil.addMaterialSwitchPreference(this, "tg_proxy_auth", requireContext().getString(R.string.ssocksauth), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "tg_proxy_auth", requireContext().getString(R.string.ssocksauth), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
findPreference("tg_proxy_login").setEnabled(value); // findPreference("tg_proxy_login").setEnabled(value);
findPreference("tg_proxy_pass").setEnabled(value); // findPreference("tg_proxy_pass").setEnabled(booleanValue);
findPreference("tg_proxy_login").setEnabled(value);
findPreference("tg_proxy_pass").setEnabled(value);
TGPref.setTGProxyPassEnabled(value);
return true;
});
PreferencesUtil.addEditTextPreference(this, "tg_proxy_login", requireContext().getString(R.string.ssockslogin), (preference, o) -> {
TGPref.setTGProxyUserPass((String) o, TGPref.getTGProxyPass());
PreferenceFragmentUtils.addEditTextPreference(getPreferenceScreen(), "tg_proxy_login", R.string.ssockslogin, (preference, o) -> {
TGPref.setTGProxyUserPass(o, TGPref.getTGProxyPass());
return true;
});
PreferencesUtil.addEditTextPreference(this, "tg_proxy_pass", requireContext().getString(R.string.ssockspass), (preference, o) -> {
TGPref.setTGProxyUserPass(TGPref.getTGProxyUser(), (String) o);
PreferenceFragmentUtils.addEditTextPreference(getPreferenceScreen(), "tg_proxy_pass", R.string.ssockspass, (preference, o) -> {
TGPref.setTGProxyUserPass(TGPref.getTGProxyUser(), o);
return true;
});
@@ -1,36 +1,28 @@
package ru.vtosters.lite.ui.wallpapers;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getDimmingSummary;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getMosaicSummary;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getRadiusSummary;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getWallpaperFile;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.requestUpdateWallpaper;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.hasVerification;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.preference.ListPreference;
import com.vtosters.lite.R;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import com.vtosters.lite.im.ImEngineProvider;
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
import ru.vtosters.lite.utils.AndroidUtils;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import ru.vtosters.lite.ui.PreferencesUtil;
import ru.vtosters.lite.utils.AndroidUtils;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.*;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.hasVerification;
public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
@@ -55,20 +47,20 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
addPreferencesFromResource(R.xml.empty);
PreferencesUtil.addPreferenceCategory(this, requireContext().getString(R.string.vkim_settings_appearance_chat_preview_title));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.vkim_settings_appearance_chat_preview_title));
mWPPreviewPref = new WallpaperPreferences(getContext());
mWPPreviewPref.setIcon(null);
mWPPreviewPref.setIconSpaceReserved(false);
getPreferenceScreen().addPreference(mWPPreviewPref);
PreferencesUtil.addPreference(this, "wp_set", requireContext().getString(R.string.wallpaper_select), requireContext().getString(R.string.wallpaper_from_gallery), R.drawable.ic_picture_outline_28, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "wp_set", requireContext().getString(R.string.wallpaper_select), requireContext().getString(R.string.wallpaper_from_gallery), R.drawable.ic_picture_outline_28, preference -> {
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI), 1488);
removeStickCache();
return true;
});
PreferencesUtil.addPreference(this, "wp_clear", requireContext().getString(R.string.wallpaper_remove), "", R.drawable.ic_delete_outline_28, preference -> {
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "wp_clear", requireContext().getString(R.string.wallpaper_remove), "", R.drawable.ic_delete_outline_28, preference -> {
removeWallpaper();
requestUpdateWallpaper();
mWPPreviewPref.redraw();
@@ -76,30 +68,30 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addPreferenceCategory(this, requireContext().getString(R.string.vtlfilters));
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), requireContext().getString(R.string.vtlfilters));
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
PreferencesUtil.addPreference(this, "", requireContext().getString(R.string.filters_warning), requireContext().getString(R.string.icons_warning_info), 0, preference -> {
requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://vtosters.app/donate/")));
PreferenceFragmentUtils.addPreference(getPreferenceScreen(), "", requireContext().getString(R.string.filters_warning), requireContext().getString(R.string.icons_warning_info), 0, preference -> {
requireContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://vtosters.app/donate/")));
return false;
});
}
PreferencesUtil.addListPreference(this, "msg_blur_radius", "disabled", requireContext().getString(R.string.filter_blur), AndroidUtils.getArray(R.array.filter_types), new String[]{
PreferenceFragmentUtils.addListPreference(getPreferenceScreen(), "msg_blur_radius", "disabled", requireContext().getString(R.string.filter_blur), AndroidUtils.getArray(R.array.filter_types), new String[]{
"disabled", "low", "med", "high"
});
PreferencesUtil.addListPreference(this, "msg_dim", "off", requireContext().getString(R.string.filter_dim), AndroidUtils.getArray(R.array.filter_dim_types), new String[]{
PreferenceFragmentUtils.addListPreference(getPreferenceScreen(), "msg_dim", "off", requireContext().getString(R.string.filter_dim), AndroidUtils.getArray(R.array.filter_dim_types), new String[]{
"off", "dim_black", "dim_white"
});
PreferencesUtil.addListPreference(this, "msg_mosaic", "disabled", requireContext().getString(R.string.filter_mosaic), AndroidUtils.getArray(R.array.filter_types), new String[]{
PreferenceFragmentUtils.addListPreference(getPreferenceScreen(), "msg_mosaic", "disabled", requireContext().getString(R.string.filter_mosaic), AndroidUtils.getArray(R.array.filter_types), new String[]{
"disabled", "low", "med", "high"
});
if (hasVerification()) {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_monochrome", requireContext().getString(R.string.filter_monochrome), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_monochrome", requireContext().getString(R.string.filter_monochrome), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_monochrome", value).commit();
requestUpdateWallpaper();
@@ -107,7 +99,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_invert", requireContext().getString(R.string.filter_invert_colors), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_invert", requireContext().getString(R.string.filter_invert_colors), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_invert", value).commit();
requestUpdateWallpaper();
@@ -115,7 +107,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_sepia", requireContext().getString(R.string.filter_sepia), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_sepia", requireContext().getString(R.string.filter_sepia), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_sepia", value).commit();
requestUpdateWallpaper();
@@ -123,7 +115,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_emboss", requireContext().getString(R.string.filter_emboss), requireContext().getString(R.string.filter_maybe_lag), 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_emboss", requireContext().getString(R.string.filter_emboss), requireContext().getString(R.string.filter_maybe_lag), 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_emboss", value).commit();
requestUpdateWallpaper();
@@ -131,7 +123,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_engrave", requireContext().getString(R.string.filter_engrave), requireContext().getString(R.string.filter_maybe_lag), 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_engrave", requireContext().getString(R.string.filter_engrave), requireContext().getString(R.string.filter_maybe_lag), 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_engrave", value).commit();
requestUpdateWallpaper();
@@ -139,7 +131,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_flea", requireContext().getString(R.string.filter_flea), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_flea", requireContext().getString(R.string.filter_flea), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_flea", value).commit();
requestUpdateWallpaper();
@@ -147,7 +139,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_snow", requireContext().getString(R.string.filter_flea), "", 0, false, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "msg_snow", requireContext().getString(R.string.filter_flea), "", 0, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_snow", value).commit();
requestUpdateWallpaper();
@@ -156,7 +148,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
});
}
PreferencesUtil.addMaterialSwitchPreference(this, "compresswp", requireContext().getString(R.string.compress_wallpaper_title), requireContext().getString(R.string.compress_wallpaper_summ), 0, true, (preference, o) -> {
PreferenceFragmentUtils.addMaterialSwitchPreference(getPreferenceScreen(), "compresswp", requireContext().getString(R.string.compress_wallpaper_title), requireContext().getString(R.string.compress_wallpaper_summ), 0, true, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("compresswp", value).commit();
requestUpdateWallpaper();