diff --git a/app/build.gradle b/app/build.gradle index c557bf7db..013f3da92 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -74,13 +74,14 @@ dependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.2' implementation 'com.android.support:support-v4:27.1.1' implementation 'com.android.support:palette-v7:27.1.1' - implementation 'com.squareup.picasso:picasso:2.5.2' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.github.percolate:caffeine:0.4.7' implementation 'com.github.florent37:shapeofview:1.1.1' implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' + implementation 'com.github.bumptech.glide:glide:4.7.1' + annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1' } private Integer generateVersionCode() { @@ -92,7 +93,7 @@ private String generateVersionName() { if (ext.versionClassifier == null) { if (ext.isSnapshot) ext.versionClassifier = "SNAPSHOT" - else if(ext.isBeta) + else if (ext.isBeta) ext.versionClassifier = "β" else ext.versionClassifier = "α" diff --git a/app/src/main/java/com/dragons/aurora/CircleTransform.java b/app/src/main/java/com/dragons/aurora/CircleTransform.java deleted file mode 100644 index 00a052fde..000000000 --- a/app/src/main/java/com/dragons/aurora/CircleTransform.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Aurora Store - * Copyright (C) 2018 Rahul Kumar Patel - * - * Yalp Store - * Copyright (C) 2018 Sergey Yeriomin - * - * Aurora Store (a fork of Yalp Store )is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * Aurora Store is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Aurora Store. If not, see . - */ - -package com.dragons.aurora; - -import android.graphics.Bitmap; -import android.graphics.BitmapShader; -import android.graphics.Canvas; -import android.graphics.Paint; - -import com.squareup.picasso.Transformation; - -/** - * Created by julian on 13/6/21. - */ -public class CircleTransform implements Transformation { - @Override - public Bitmap transform(Bitmap source) { - int size = Math.min(source.getWidth(), source.getHeight()); - - int x = (source.getWidth() - size) / 2; - int y = (source.getHeight() - size) / 2; - - Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size); - if (squaredBitmap != source) { - source.recycle(); - } - - Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig()); - - Canvas canvas = new Canvas(bitmap); - Paint paint = new Paint(); - BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP); - paint.setShader(shader); - paint.setAntiAlias(true); - - float r = size / 2f; - canvas.drawCircle(r, r, r, paint); - - squaredBitmap.recycle(); - return bitmap; - } - - @Override - public String key() { - return "circle"; - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dragons/aurora/activities/ManualDownloadActivity.java b/app/src/main/java/com/dragons/aurora/activities/ManualDownloadActivity.java index fdbb9147e..855ae41b5 100644 --- a/app/src/main/java/com/dragons/aurora/activities/ManualDownloadActivity.java +++ b/app/src/main/java/com/dragons/aurora/activities/ManualDownloadActivity.java @@ -24,8 +24,8 @@ package com.dragons.aurora.activities; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; -import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; +import android.support.annotation.Nullable; import android.support.v7.graphics.Palette; import android.text.Editable; import android.text.TextWatcher; @@ -37,13 +37,19 @@ import android.widget.ImageView; import android.widget.ScrollView; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.Target; import com.dragons.aurora.R; import com.dragons.aurora.Util; import com.dragons.aurora.fragment.details.DownloadOrInstall; import com.dragons.aurora.model.App; import com.dragons.aurora.task.playstore.PurchaseCheckTask; -import com.squareup.picasso.Callback; -import com.squareup.picasso.Picasso; import java.util.Timer; import java.util.TimerTask; @@ -133,23 +139,28 @@ public class ManualDownloadActivity extends DetailsActivity { }); ImageView appIcon = findViewById(R.id.icon); - Picasso - .with(this) + + Glide.with(this) + .asBitmap() .load(app.getIconInfo().getUrl()) - .placeholder(R.color.transparent) - .into((ImageView) findViewById(R.id.icon), new Callback() { + .apply(new RequestOptions() + .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) + .placeholder(R.color.transparent)) + .transition(new BitmapTransitionOptions().crossFade()) + .listener(new RequestListener() { @Override - public void onSuccess() { - Bitmap bitmap = ((BitmapDrawable) appIcon.getDrawable()).getBitmap(); - if (bitmap != null && COLOR_UI) - getPalette(bitmap); + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + return false; } @Override - public void onError() { - + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + if (COLOR_UI) + getPalette(resource); + return false; } - }); + }) + .into(appIcon); } private void getPalette(Bitmap bitmap) { diff --git a/app/src/main/java/com/dragons/aurora/adapters/BigScreenshotsAdapter.java b/app/src/main/java/com/dragons/aurora/adapters/BigScreenshotsAdapter.java index 420712da9..8df323705 100644 --- a/app/src/main/java/com/dragons/aurora/adapters/BigScreenshotsAdapter.java +++ b/app/src/main/java/com/dragons/aurora/adapters/BigScreenshotsAdapter.java @@ -29,8 +29,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.R; -import com.squareup.picasso.Picasso; import java.util.List; @@ -57,9 +58,10 @@ public class BigScreenshotsAdapter extends RecyclerView.Adapter() { @Override - public void onSuccess() { - Bitmap bitmap = ((BitmapDrawable) holder.appBackground.getDrawable()).getBitmap(); - if (bitmap != null) - getPalette(bitmap, holder); + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + return false; } @Override - public void onError() { - holder.appName.setTextColor(Color.WHITE); - holder.appData.setBackgroundColor(Color.DKGRAY); + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + getPalette(resource, holder); + return false; } - }); + }) + .into(holder.appBackground); } private void drawIcon(App app, ViewHolder holder) { - Picasso.with(context) + Glide.with(context) .load(app.getIconInfo().getUrl()) - .placeholder(R.color.transparent) + .apply(new RequestOptions() + .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) + .placeholder(R.color.transparent)) .into(holder.appIcon); } private void getPalette(Bitmap bitmap, ViewHolder holder) { Palette.from(bitmap) - .generate(palette -> { - Palette.Swatch mySwatch = palette.getDarkVibrantSwatch(); - if (mySwatch != null) { - paintEmAll(palette.getDarkVibrantColor(Color.DKGRAY), holder); - } - }); + .generate(palette -> paintEmAll(palette, holder)); } - private void paintEmAll(int color, ViewHolder holder) { - GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, - new int[]{ColorUtils.setAlphaComponent(color, 150), 0x05000000}); - gradientDrawable.setCornerRadius(0f); - holder.appData.setBackground(gradientDrawable); + private void paintEmAll(Palette palette, ViewHolder holder) { + Palette.Swatch swatch = palette.getDarkVibrantSwatch(); + if (swatch != null) { + GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, + new int[]{ColorUtils.setAlphaComponent(swatch.getRgb(), 150), 0x05000000}); + holder.appData.setBackground(gradientDrawable); + } } protected void setText(TextView textView, String text) { @@ -181,7 +189,6 @@ public class FeaturedAppsAdapter extends RecyclerView.Adapter { Intent intent = new Intent(context, FullscreenImageActivity.class); intent.putExtra(FullscreenImageActivity.INTENT_SCREENSHOT_NUMBER, position); diff --git a/app/src/main/java/com/dragons/aurora/fragment/AccountsFragment.java b/app/src/main/java/com/dragons/aurora/fragment/AccountsFragment.java index d7ec5353e..7ee143b34 100755 --- a/app/src/main/java/com/dragons/aurora/fragment/AccountsFragment.java +++ b/app/src/main/java/com/dragons/aurora/fragment/AccountsFragment.java @@ -33,7 +33,9 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; -import com.dragons.aurora.CircleTransform; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.PlayStoreApiAuthenticator; import com.dragons.aurora.R; import com.dragons.aurora.Util; @@ -41,7 +43,6 @@ import com.dragons.aurora.activities.LoginActivity; import com.dragons.aurora.task.UserProvidedCredentialsTask; import com.github.florent37.shapeofview.shapes.CircleView; import com.percolate.caffeine.ViewUtils; -import com.squareup.picasso.Picasso; import static com.dragons.aurora.Util.hide; import static com.dragons.aurora.Util.isConnected; @@ -184,10 +185,13 @@ public class AccountsFragment extends AccountsHelper { } private void loadAvatar(String Url) { - Picasso.with(getActivity()) + Glide + .with(getContext()) .load(Url) - .placeholder(ContextCompat.getDrawable(getContext(),R.drawable.ic_dummy_avatar)) - .transform(new CircleTransform()) + .apply(new RequestOptions() + .placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_dummy_avatar)) + .circleCrop() + .diskCacheStrategy(DiskCacheStrategy.DATA)) .into(((ImageView) v.findViewById(R.id.accounts_AvatarG))); } diff --git a/app/src/main/java/com/dragons/aurora/fragment/HomeFragment.java b/app/src/main/java/com/dragons/aurora/fragment/HomeFragment.java index 18659beac..16230a96b 100755 --- a/app/src/main/java/com/dragons/aurora/fragment/HomeFragment.java +++ b/app/src/main/java/com/dragons/aurora/fragment/HomeFragment.java @@ -33,10 +33,10 @@ import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.RelativeLayout; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.CategoryManager; -import com.dragons.aurora.CircleTransform; import com.dragons.aurora.R; -import com.dragons.aurora.Util; import com.dragons.aurora.activities.AccountsActivity; import com.dragons.aurora.activities.CategoryAppsActivity; import com.dragons.aurora.playstoreapiv2.GooglePlayAPI; @@ -45,7 +45,6 @@ import com.dragons.aurora.task.FeaturedTaskHelper; import com.dragons.aurora.view.AdaptiveToolbar; import com.dragons.aurora.view.MoreAppsCard; import com.dragons.custom.TagView; -import com.squareup.picasso.Picasso; import static com.dragons.aurora.Util.isConnected; @@ -97,10 +96,12 @@ public class HomeFragment extends AccountsHelper { protected void setUser() { if (isGoogle()) { - Picasso.with(getActivity()) + Glide + .with(getContext()) .load(PreferenceFragment.getString(getActivity(), "GOOGLE_URL")) - .placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_user_placeholder)) - .transform(new CircleTransform()) + .apply(new RequestOptions() + .placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_user_placeholder)) + .circleCrop()) .into(adtb.getAvatar_icon()); } else { (adtb.getAvatar_icon()).setImageDrawable(getResources() @@ -186,7 +187,8 @@ public class HomeFragment extends AccountsHelper { case "3": subcategory = GooglePlayAPI.SUBCATEGORY.MOVERS_SHAKERS; break; - default:subcategory = GooglePlayAPI.SUBCATEGORY.TOP_GROSSING; + default: + subcategory = GooglePlayAPI.SUBCATEGORY.TOP_GROSSING; } return subcategory; } diff --git a/app/src/main/java/com/dragons/aurora/fragment/SpoofFragment.java b/app/src/main/java/com/dragons/aurora/fragment/SpoofFragment.java index 37c8dc229..edd365b8d 100644 --- a/app/src/main/java/com/dragons/aurora/fragment/SpoofFragment.java +++ b/app/src/main/java/com/dragons/aurora/fragment/SpoofFragment.java @@ -38,6 +38,8 @@ import android.widget.ScrollView; import android.widget.Spinner; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.PlayStoreApiAuthenticator; import com.dragons.aurora.R; import com.dragons.aurora.SpoofDeviceManager; @@ -45,7 +47,6 @@ import com.dragons.aurora.Util; import com.dragons.aurora.activities.DeviceInfoActivity; import com.dragons.aurora.activities.LoginActivity; import com.dragons.aurora.task.SpoofTask; -import com.squareup.picasso.Picasso; import java.io.IOException; import java.util.HashMap; @@ -67,7 +68,6 @@ public class SpoofFragment extends AccountsHelper { private String deviceName; private View view; - private List
addresses; @Override public void onCreate(Bundle savedInstanceState) { @@ -122,12 +122,7 @@ public class SpoofFragment extends AccountsHelper { } public void drawDevice() { - Picasso - .with(getContext()) - .load(LineageURl + Build.DEVICE + ".png") - .placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_device)) - .into((ImageView) view.findViewById(R.id.device_avatar)); - + getDeviceImg(LineageURl + Build.DEVICE + ".png"); setText(R.id.device_model, R.string.device_model, Build.MODEL, Build.DEVICE); setText(R.id.device_manufacturer, Build.MANUFACTURER); setText(R.id.device_architect, Build.BOARD); @@ -136,13 +131,7 @@ public class SpoofFragment extends AccountsHelper { public void drawSpoofedDevice() { Properties properties = new SpoofDeviceManager(this.getActivity()).getProperties(deviceName); String Model = properties.getProperty("UserReadableName"); - - Picasso - .with(getContext()) - .load(LineageURl + properties.getProperty("Build.DEVICE") + ".png") - .placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_device)) - .into((ImageView) view.findViewById(R.id.device_avatar)); - + getDeviceImg(LineageURl + properties.getProperty("Build.DEVICE") + ".png"); setText(R.id.device_model, R.string.device_model, Model.substring(0, Model.indexOf('(')), properties.getProperty("Build.DEVICE")); setText(R.id.device_manufacturer, properties.getProperty("Build.MANUFACTURER")); setText(R.id.device_architect, properties.getProperty("Build.HARDWARE")); @@ -255,6 +244,15 @@ public class SpoofFragment extends AccountsHelper { }); } + protected void getDeviceImg(String url) { + Glide + .with(getContext()) + .load(url) + .apply(new RequestOptions().placeholder(ContextCompat.getDrawable(getContext(), R.drawable.ic_device))) + .into((ImageView) view.findViewById(R.id.device_avatar)); + + } + protected void setText(int viewId, String text) { TextView textView = (TextView) view.findViewById(viewId); if (null != textView) diff --git a/app/src/main/java/com/dragons/aurora/fragment/details/GeneralDetails.java b/app/src/main/java/com/dragons/aurora/fragment/details/GeneralDetails.java index 115c94aad..e4006498f 100644 --- a/app/src/main/java/com/dragons/aurora/fragment/details/GeneralDetails.java +++ b/app/src/main/java/com/dragons/aurora/fragment/details/GeneralDetails.java @@ -25,7 +25,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.Color; -import android.graphics.drawable.BitmapDrawable; +import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.support.v7.graphics.Palette; import android.support.v7.widget.CardView; @@ -37,9 +37,18 @@ import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.PopupMenu; -import android.widget.RelativeLayout; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.Priority; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions; +import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.Target; import com.dragons.aurora.CategoryManager; import com.dragons.aurora.R; import com.dragons.aurora.Util; @@ -47,8 +56,6 @@ import com.dragons.aurora.activities.AuroraActivity; import com.dragons.aurora.fragment.DetailsFragment; import com.dragons.aurora.model.App; import com.dragons.aurora.model.ImageSource; -import com.squareup.picasso.Callback; -import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.Collections; @@ -75,7 +82,6 @@ public class GeneralDetails extends AbstractHelper { if (view != null) { ImageView appIcon = view.findViewById(R.id.icon); ImageView app_menu3dot = view.findViewById(R.id.app_menu3dot); - RelativeLayout relativeLayout = view.findViewById(R.id.details_header); ImageSource imageSource = app.getIconInfo(); if (null != imageSource.getApplicationInfo()) { appIcon.setImageDrawable(context.getPackageManager().getApplicationIcon(imageSource.getApplicationInfo())); @@ -84,26 +90,28 @@ public class GeneralDetails extends AbstractHelper { getPalette(bitmap); } } else { - Picasso - .with(context) + Glide.with(context) + .asBitmap() .load(imageSource.getUrl()) - .placeholder(R.color.transparent) - .into(appIcon, new Callback() { + .apply(new RequestOptions() + .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) + .placeholder(R.color.transparent) + .priority(Priority.HIGH)) + .transition(new BitmapTransitionOptions().crossFade()) + .listener(new RequestListener() { @Override - public void onSuccess() { - Bitmap bitmap = ((BitmapDrawable) appIcon.getDrawable()).getBitmap(); - if (bitmap != null && COLOR_UI) - getPalette(bitmap); + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + return false; } @Override - public void onError() { - if (Util.isDark(fragment.getContext())) - relativeLayout.setBackgroundColor(Color.LTGRAY); - else - relativeLayout.setBackgroundColor(Color.DKGRAY); + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + if (COLOR_UI) + getPalette(resource); + return false; } - }); + }) + .into(appIcon); } setText(view, R.id.displayName, app.getDisplayName()); @@ -133,10 +141,12 @@ public class GeneralDetails extends AbstractHelper { private void drawBackground(ImageView appBackground) { if (null != app.getPageBackgroundImage().getUrl()) - Picasso + Glide .with(context) .load(app.getPageBackgroundImage().getUrl()) - .placeholder(R.color.transparent) + .apply(new RequestOptions() + .placeholder(R.color.transparent) + .priority(Priority.HIGH)) .into(appBackground); else appBackground.setVisibility(View.GONE); @@ -194,15 +204,18 @@ public class GeneralDetails extends AbstractHelper { ImageView categoryImg = view.findViewById(R.id.categoryImage); ImageView ratingImg = view.findViewById(R.id.rating_img); - Picasso - .with(context) + Glide.with(context) .load(app.getCategoryIconUrl()) - .placeholder(ContextCompat.getDrawable(context, R.drawable.ic_categories)) + .apply(new RequestOptions() + .placeholder(ContextCompat.getDrawable(context, R.drawable.ic_categories)) + .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)) .into(categoryImg); - Picasso - .with(context) + + Glide.with(context) .load(app.getRatingURL()) - .placeholder(ContextCompat.getDrawable(context, R.drawable.ic_audience)) + .apply(new RequestOptions() + .placeholder(ContextCompat.getDrawable(context,R.drawable.ic_audience)) + .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)) .into(ratingImg); drawOfferDetails(app); diff --git a/app/src/main/java/com/dragons/aurora/fragment/details/Review.java b/app/src/main/java/com/dragons/aurora/fragment/details/Review.java index 78c68b833..13200da10 100644 --- a/app/src/main/java/com/dragons/aurora/fragment/details/Review.java +++ b/app/src/main/java/com/dragons/aurora/fragment/details/Review.java @@ -29,6 +29,9 @@ import android.widget.LinearLayout; import android.widget.RatingBar; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.R; import com.dragons.aurora.ReviewStorageIterator; import com.dragons.aurora.builders.UserReviewDialogBuilder; @@ -36,7 +39,6 @@ import com.dragons.aurora.fragment.DetailsFragment; import com.dragons.aurora.model.App; import com.dragons.aurora.task.playstore.ReviewDeleteTask; import com.dragons.aurora.task.playstore.ReviewLoadTask; -import com.squareup.picasso.Picasso; import java.util.List; @@ -152,10 +154,13 @@ public class Review extends AbstractHelper { review.getTitle() )); ((TextView) reviewLayout.findViewById(R.id.comment)).setText(review.getComment()); - Picasso - .with(fragment.getActivity()) + Glide + .with(context) .load(review.getUserPhotoUrl()) - .placeholder(R.color.transparent) + .apply(new RequestOptions() + .placeholder(R.color.transparent) + .circleCrop()) + .transition(new DrawableTransitionOptions().crossFade()) .into((ImageView) reviewLayout.findViewById(R.id.avatar)); parent.addView(reviewLayout); } diff --git a/app/src/main/java/com/dragons/aurora/fragment/details/Video.java b/app/src/main/java/com/dragons/aurora/fragment/details/Video.java index 104e36033..dfc6cc28e 100644 --- a/app/src/main/java/com/dragons/aurora/fragment/details/Video.java +++ b/app/src/main/java/com/dragons/aurora/fragment/details/Video.java @@ -29,10 +29,12 @@ import android.util.Log; import android.view.View; import android.widget.ImageView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.R; import com.dragons.aurora.fragment.DetailsFragment; import com.dragons.aurora.model.App; -import com.squareup.picasso.Picasso; public class Video extends AbstractHelper { @@ -61,11 +63,11 @@ public class Video extends AbstractHelper { ImageView imageView = view.findViewById(R.id.thumbnail); - Picasso.with(context) + Glide + .with(context) .load(URL) - .fit() - .placeholder(android.R.color.transparent) - .centerCrop() + .apply(new RequestOptions().centerCrop().placeholder(android.R.color.transparent)) + .transition(new DrawableTransitionOptions().crossFade()) .into(imageView); view.findViewById(R.id.app_video).setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/dragons/aurora/view/AppBadge.java b/app/src/main/java/com/dragons/aurora/view/AppBadge.java index 896d2570a..dbad71ad1 100644 --- a/app/src/main/java/com/dragons/aurora/view/AppBadge.java +++ b/app/src/main/java/com/dragons/aurora/view/AppBadge.java @@ -28,12 +28,15 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; +import com.bumptech.glide.request.RequestOptions; import com.dragons.aurora.NetworkState; import com.dragons.aurora.R; import com.dragons.aurora.fragment.PreferenceFragment; import com.dragons.aurora.model.App; import com.dragons.aurora.model.ImageSource; -import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.List; @@ -74,10 +77,13 @@ public abstract class AppBadge extends ListItem { if (null != imageSource.getApplicationInfo() && !noImages()) { imageView.setImageDrawable(imageView.getContext().getPackageManager().getApplicationIcon(imageSource.getApplicationInfo())); } else if (!noImages()) { - Picasso + Glide .with(view.getContext()) .load(imageSource.getUrl()) - .placeholder(ContextCompat.getDrawable(view.getContext(),R.drawable.ic_placeholder)) + .apply(RequestOptions + .placeholderOf(ContextCompat.getDrawable(view.getContext(), R.drawable.ic_placeholder)) + .diskCacheStrategy(DiskCacheStrategy.ALL)) + .transition(new DrawableTransitionOptions().crossFade()) .into(imageView); } } diff --git a/app/src/main/java/com/dragons/aurora/view/InstalledAppBadge.java b/app/src/main/java/com/dragons/aurora/view/InstalledAppBadge.java index 7c355b12b..c8c35859a 100644 --- a/app/src/main/java/com/dragons/aurora/view/InstalledAppBadge.java +++ b/app/src/main/java/com/dragons/aurora/view/InstalledAppBadge.java @@ -43,7 +43,7 @@ public class InstalledAppBadge extends AppBadge { if (manager.contains(app.getPackageName())) { line3.add(c.getString(manager.isBlack() ? R.string.list_app_blacklisted : R.string.list_app_whitelisted)); } - drawIcon((ImageView) view.findViewById(R.id.icon)); + drawIcon(view.findViewById(R.id.icon)); super.draw(); } } diff --git a/app/src/main/res/layout/app_details_inc.xml b/app/src/main/res/layout/app_details_inc.xml index 3f6444ef1..5c20f8a4f 100644 --- a/app/src/main/res/layout/app_details_inc.xml +++ b/app/src/main/res/layout/app_details_inc.xml @@ -117,7 +117,6 @@ android:layout_width="28dp" android:layout_height="28dp" android:alpha="0.7" - android:src="@drawable/ic_categories" android:tint="?android:attr/colorForeground" /> + android:alpha="0.7" /> - - - - - \ No newline at end of file + android:layout_margin="4dp" + android:clickable="true" + android:focusable="true" + android:scaleType="centerCrop" /> \ No newline at end of file diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 4e6a80c56..41db84abc 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -113,7 +113,7 @@ JavaXDelta Chainfire SuperSU - SquareUp Picasso + Bumptech Glide SquareUp OKHTTP Play Store API AOSP CardView