some code imp
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
<Preference
|
||||
android:key="select_photo_search_engine"
|
||||
android:title="Выбор движка для поиска фото" />
|
||||
<Preference
|
||||
android:key="customrounding"
|
||||
android:title="Размер закруглений картинок" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/vkx_title">
|
||||
<Preference
|
||||
|
||||
@@ -74,13 +74,9 @@
|
||||
.method public static b(FFFF)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
.locals 1
|
||||
|
||||
.line 4
|
||||
new-instance v0, Lcom/facebook/drawee/generic/RoundingParams;
|
||||
invoke-static {p0, p1, p2, p3}, Lru/vtosters/lite/hooks/PicRoundingHook;->inject(FFFF)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
|
||||
invoke-direct {v0}, Lcom/facebook/drawee/generic/RoundingParams;-><init>()V
|
||||
|
||||
.line 5
|
||||
invoke-virtual {v0, p0, p1, p2, p3}, Lcom/facebook/drawee/generic/RoundingParams;->a(FFFF)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
@@ -88,12 +84,9 @@
|
||||
.method public static d(F)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
.locals 1
|
||||
|
||||
.line 2
|
||||
new-instance v0, Lcom/facebook/drawee/generic/RoundingParams;
|
||||
invoke-static {p0}, Lru/vtosters/lite/hooks/PicRoundingHook;->inject(F)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
|
||||
invoke-direct {v0}, Lcom/facebook/drawee/generic/RoundingParams;-><init>()V
|
||||
|
||||
invoke-virtual {v0, p0}, Lcom/facebook/drawee/generic/RoundingParams;->b(F)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
@@ -101,14 +94,9 @@
|
||||
.method public static i()Lcom/facebook/drawee/generic/RoundingParams;
|
||||
.locals 2
|
||||
|
||||
.line 1
|
||||
new-instance v0, Lcom/facebook/drawee/generic/RoundingParams;
|
||||
invoke-static {}, Lru/vtosters/lite/hooks/PicRoundingHook;->inject()Lcom/facebook/drawee/generic/RoundingParams;
|
||||
|
||||
invoke-direct {v0}, Lcom/facebook/drawee/generic/RoundingParams;-><init>()V
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
invoke-virtual {v0, v1}, Lcom/facebook/drawee/generic/RoundingParams;->a(Z)Lcom/facebook/drawee/generic/RoundingParams;
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
Reference in New Issue
Block a user