a.java 源代码


package l2;

import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Environment;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import o0.i;
import o2.f;
import t0.c;

public class a implements c<InputStream> {

    private b f23802a;

    private final PackageManager f23803b;

    public a(Context context, b bVar) {
        this.f23802a = bVar;
        this.f23803b = context.getPackageManager();
    }

    private InputStream c(Bitmap bitmap) {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
        return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    }

    private Bitmap d(Drawable drawable) {
        Bitmap createBitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(createBitmap);
        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
        drawable.draw(canvas);
        return createBitmap;
    }

    @Override
    public void b() {
    }

    @Override
    public void cancel() {
    }

    @Override
    public InputStream a(i iVar) throws Exception {
        Bitmap decodeFile;
        File file = new File(Environment.getExternalStorageDirectory(), "x8zs/app_icon/" + this.f23802a.a() + ".png");
        try {
            Drawable loadIcon = this.f23803b.getApplicationInfo(this.f23802a.a(), 0).loadIcon(this.f23803b);
            if (loadIcon instanceof BitmapDrawable) {
                decodeFile = ((BitmapDrawable) loadIcon).getBitmap();
            } else {
                decodeFile = d(loadIcon);
            }
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
            }
            f.m0(file, decodeFile);
        } catch (Exception unused) {
            decodeFile = BitmapFactory.decodeFile(file.getAbsolutePath());
        }
        return c(decodeFile);
    }

    @Override
    public String getId() {
        return this.f23802a.a();
    }
}