rounding hook fixes

This commit is contained in:
gdlbo
2022-08-06 13:40:40 +03:00
parent 448a169bc3
commit 7656468636
5 changed files with 35 additions and 20 deletions
@@ -5,7 +5,9 @@ import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.drawable.Drawable;
import com.facebook.drawee.generic.RoundingParams;
@@ -17,25 +19,33 @@ public class PicRoundingHook{
public static RoundingParams inject() {
if (pref > 0) {
return customParams();
} else {
return new RoundingParams().a(true);
}
return new RoundingParams().a(true);
}
public static RoundingParams inject(float orig) {
if (pref > 0) {
return customParams();
} else {
return new RoundingParams().b(orig);
}
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(AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref));
} else {
return new RoundingParams().a(orig, orig2, orig3, orig4);
}
}
return new RoundingParams().a(orig, orig2, orig3, orig4);
public static void inject(float orig, Canvas canvas, Paint paint){
if (pref > 0) {
canvas.drawRoundRect(new RectF(0, 0, canvas.getWidth(), canvas.getHeight()), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), paint);
} else {
canvas.drawCircle(orig, orig, orig, paint);
}
}
public static void inject(Bitmap bitmap, Bitmap bitmap2, Paint b2) {
@@ -46,10 +56,9 @@ public class PicRoundingHook{
if (pref > 0) {
canvas.drawRoundRect(0, 0, bitmap.getWidth(), bitmap.getHeight(), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), b2);
return;
} else {
canvas.drawCircle(width, width, width, b2);
}
canvas.drawCircle(width, width, width, b2);
}
private static RoundingParams customParams(){
@@ -17,7 +17,7 @@ public class RoundingSeekbarDialog{
public static void dialog(Context context) {
LinearLayout mContainer = new LinearLayout(context);
SeekBar seek = new SeekBar(context);
seek.setMax(10);
seek.setMax(15);
seek.setKeyProgressIncrement(0);
seek.setProgress(getPreferences().getInt("pic_rounding", 0));
seek.setPadding(dp2px(16f), dp2px(16f), dp2px(16f), dp2px(16f));
@@ -65,8 +65,6 @@ import ru.vtosters.lite.utils.CacheUtils;
import ru.vtosters.lite.utils.SSFSUtils;
public class VTSettings extends MaterialPreferenceToolbarFragment {
public int hideitems = 0;
public static String getValAsString(String stringid, Boolean value) {
if (disableSettingsSumms()) return null;
@@ -3,12 +3,14 @@ package ru.vtosters.lite.utils;
import static android.graphics.Bitmap.createBitmap;
import static android.graphics.Bitmap.createScaledBitmap;
import static androidx.core.content.ContextCompat.getDrawable;
import static ru.vtosters.lite.utils.Preferences.preferences;
import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PorterDuff;
import android.graphics.RectF;
@@ -27,7 +29,7 @@ import okhttp3.Response;
public class ImageUtils {
private static OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = new OkHttpClient();
public static Bitmap bmp = null;
@@ -105,15 +107,21 @@ public class ImageUtils {
final int width = bitmap.getWidth();
final int height = bitmap.getHeight();
final Bitmap outputBitmap = createBitmap(width, height, Bitmap.Config.ARGB_8888);
int pref = preferences.getInt("pic_rounding", 0);
final Canvas canvas = new Canvas(outputBitmap);
final Path path = new Path();
path.addCircle(
(float) (width / 2),
(float) (height / 2),
(float) Math.min(width, (height / 2)),
Path.Direction.CCW);
final Canvas canvas = new Canvas(outputBitmap);
if (pref > 0) {
path.addRoundRect(new RectF(0, 0, width, height), pref, pref, Path.Direction.CCW);
} else {
path.addCircle(
(float) (width / 2),
(float) (height / 2),
(float) Math.min(width, (height / 2)),
Path.Direction.CCW);
}
canvas.clipPath(path);
canvas.drawBitmap(bitmap, 0, 0, null);
return outputBitmap;
@@ -769,7 +769,7 @@
.line 33
sget-object v1, Lcom/vk/im/ui/views/avatars/AvatarDataSource;->o:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v0, v0, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
invoke-static {v0, p1, v1}, Lru/vtosters/lite/hooks/PicRoundingHook;->inject(FLandroid/graphics/Canvas;Landroid/graphics/Paint;)V
return-void
.end method