rounding hook fixes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user