more concise toScaledBitmapDrawable

This commit is contained in:
Helium314 2024-01-26 09:10:49 +01:00
parent 171c1f451b
commit 932d996c6b

View file

@ -7,8 +7,6 @@
package org.dslul.openboard.inputmethod.latin.settings; package org.dslul.openboard.inputmethod.latin.settings;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
@ -30,6 +28,7 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableKt;
import androidx.core.widget.TextViewKt; import androidx.core.widget.TextViewKt;
import org.dslul.openboard.inputmethod.latin.R; import org.dslul.openboard.inputmethod.latin.R;
@ -135,13 +134,8 @@ public class UserDictionaryAddWordFragment extends SubScreenFragment {
private BitmapDrawable toScaledBitmapDrawable(int drawableResId, float scale) { private BitmapDrawable toScaledBitmapDrawable(int drawableResId, float scale) {
final Drawable drawable = ContextCompat.getDrawable(requireContext(), drawableResId); final Drawable drawable = ContextCompat.getDrawable(requireContext(), drawableResId);
if (drawable == null) return null; if (drawable == null) return null;
final int height = (int) (scale * drawable.getIntrinsicHeight()); return new BitmapDrawable(getResources(), DrawableKt.toBitmap(drawable,
final int width = (int) (scale * drawable.getIntrinsicWidth()); (int) (scale * drawable.getIntrinsicHeight()), (int) (scale * drawable.getIntrinsicWidth()), null));
drawable.setBounds(0, 0, width, height);
final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(bitmap);
drawable.draw(canvas);
return new BitmapDrawable(getResources(), bitmap);
} }
private void addWord() { private void addWord() {