From 02f9145a806c5cbbd40c432054ed9c0166466416 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Thu, 25 Jan 2018 13:38:20 +0800 Subject: [PATCH] feat: use glide as image loader for built apk --- inrt/build.gradle | 4 ++ .../java/com/stardust/auojs/inrt/App.java | 60 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/inrt/build.gradle b/inrt/build.gradle index 027da00e..55498db0 100644 --- a/inrt/build.gradle +++ b/inrt/build.gradle @@ -49,6 +49,10 @@ dependencies { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.4.0' + //Glide + compile('com.github.bumptech.glide:glide:4.2.0', { + exclude group: 'com.android.support' + }) testCompile 'junit:junit:4.12' compile project(':automator') compile project(':common') diff --git a/inrt/src/main/java/com/stardust/auojs/inrt/App.java b/inrt/src/main/java/com/stardust/auojs/inrt/App.java index 1fe428f4..0aa175b3 100644 --- a/inrt/src/main/java/com/stardust/auojs/inrt/App.java +++ b/inrt/src/main/java/com/stardust/auojs/inrt/App.java @@ -1,9 +1,19 @@ package com.stardust.auojs.inrt; import android.app.Application; +import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.view.View; +import android.widget.ImageView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.target.SimpleTarget; +import com.bumptech.glide.request.transition.Transition; import com.stardust.auojs.inrt.autojs.AutoJs; import com.stardust.auojs.inrt.autojs.GlobalKeyObserver; +import com.stardust.autojs.core.ui.inflater.ImageLoader; +import com.stardust.autojs.core.ui.inflater.util.Drawables; /** * Created by Stardust on 2017/7/1. @@ -23,6 +33,56 @@ public class App extends Application { sApp = this; AutoJs.initInstance(this); GlobalKeyObserver.init(); + Drawables.setDefaultImageLoader(new ImageLoader() { + @Override + public void loadInto(ImageView imageView, Uri uri) { + Glide.with(App.this) + .load(uri) + .into(imageView); + } + + @Override + public void loadIntoBackground(View view, Uri uri) { + Glide.with(App.this) + .load(uri) + .into(new SimpleTarget() { + @Override + public void onResourceReady(Drawable resource, Transition transition) { + view.setBackground(resource); + } + }); + } + + @Override + public Drawable load(View view, Uri uri) { + throw new UnsupportedOperationException(); + } + + @Override + public void load(View view, Uri uri, DrawableCallback drawableCallback) { + Glide.with(App.this) + .load(uri) + .into(new SimpleTarget() { + @Override + public void onResourceReady(Drawable resource, Transition transition) { + drawableCallback.onLoaded(resource); + } + }); + } + + @Override + public void load(View view, Uri uri, BitmapCallback bitmapCallback) { + Glide.with(App.this) + .asBitmap() + .load(uri) + .into(new SimpleTarget() { + @Override + public void onResourceReady(Bitmap resource, Transition transition) { + bitmapCallback.onLoaded(resource); + } + }); + } + }); } }