some code imp

This commit is contained in:
gdlbo
2022-08-05 19:28:27 +03:00
parent be65e6816d
commit c481d5fca9
7 changed files with 95 additions and 21 deletions
@@ -1,7 +1,6 @@
package com.vk.im.ui.views.dialogs;
import static com.vk.im.ui.d.vkim_administration_title;
import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor;
import android.content.Context;
@@ -23,7 +22,6 @@ import androidx.annotation.ColorInt;
import androidx.appcompat.widget.AppCompatImageView;
import com.vk.core.extensions.AnimationExtKt;
import com.vk.core.ui.themes.VKThemeHelper;
import com.vk.core.util.ContextExtKt;
import com.vk.core.util.Screen;
import com.vk.core.utils.VerifyInfoHelper;
@@ -0,0 +1,38 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.preferences;
import com.facebook.drawee.generic.RoundingParams;
import ru.vtosters.lite.utils.AndroidUtils;
public class PicRoundingHook{
private static final int pref = preferences.getInt("pic_rounding", 0);
public static RoundingParams inject() {
if (pref > 0) {
return customParams();
}
return new RoundingParams().a(true);
}
public static RoundingParams inject(float orig) {
if (pref > 0) {
return customParams();
}
return new RoundingParams().b(orig);
}
public static RoundingParams inject(float orig, float orig2, float orig3, float orig4) {
if (pref > 0) {
orig = orig2 = orig3 = orig4 = AndroidUtils.dp2px(pref);
}
return new RoundingParams().a(orig, orig2, orig3, orig4);
}
private static RoundingParams customParams(){
return RoundingParams.b(AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref));
}
}
@@ -0,0 +1,41 @@
package ru.vtosters.lite.ui.dialogs;
import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getPreferences;
import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer;
import android.content.Context;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import com.vk.core.dialogs.alert.VkAlertDialog;
import ru.vtosters.lite.utils.LayoutUtils;
public class RoundingSeekbarDialog{
public static void dialog(Context context) {
LinearLayout mContainer = new LinearLayout(context);
SeekBar seek = new SeekBar(context);
seek.setMax(10);
seek.setKeyProgressIncrement(0);
seek.setProgress(getPreferences().getInt("pic_rounding", 0));
seek.setPadding(dp2px(16f), dp2px(16f), dp2px(16f), dp2px(16f));
mContainer.addView(seek, LayoutUtils.createLinear(-1, -2));
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context);
builder.setTitle("Выберите размер закругления углов");
builder.setMessage("Для отключения функции закругления углов введите 0");
builder.setCancelable(true);
builder.setNegativeButton("Отмена", null);
builder.setView(mContainer);
builder.setPositiveButton("Применить", (dialog, which) -> {
edit().putInt("pic_rounding", seek.getProgress()).commit();
restartApplicationWithTimer();
});
builder.show();
}
}
@@ -40,6 +40,7 @@ import okhttp3.Request;
import ru.vtosters.lite.downloaders.VideoDownloader;
import ru.vtosters.lite.music.Scrobbler;
import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter;
import ru.vtosters.lite.ui.dialogs.RoundingSeekbarDialog;
public class MediaFragment extends MaterialPreferenceToolbarFragment {
public static void download(Context ctx) {
@@ -162,6 +163,11 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
return true;
});
findPreference("customrounding").setOnPreferenceClickListener(preference -> {
RoundingSeekbarDialog.dialog(getContext());
return true;
});
if (isLoggedIn()) {
findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName());
} else {
@@ -42,7 +42,7 @@ public class AndroidUtils {
@NonNull
public static Context getGlobalContext() {
try {
return (Context) ReflectionUtils.invokeStaticMethod("android.app.AppGlobals", "getInitialApplication");
return ReflectionUtils.invokeStaticMethod("android.app.AppGlobals", "getInitialApplication");
} catch (Exception e) {
e.printStackTrace();
}