Skip to content

Commit

Permalink
Migrate to Glide v4.
Browse files Browse the repository at this point in the history
  • Loading branch information
nickbutcher committed Aug 15, 2017
1 parent 71d4d49 commit c32520b
Show file tree
Hide file tree
Showing 22 changed files with 332 additions and 442 deletions.
7 changes: 4 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,16 @@ dependencies {
implementation "com.android.support:palette-v7:${versions.supportLibrary}"
implementation "com.android.support:recyclerview-v7:${versions.supportLibrary}"
implementation "com.android.support:support-dynamic-animation:${versions.supportLibrary}"
implementation 'com.github.bumptech.glide:glide:3.8.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:1.5.0@aar'
implementation "com.github.bumptech.glide:glide:${versions.glide}"
annotationProcessor "com.github.bumptech.glide:compiler:${versions.glide}"
implementation "com.github.bumptech.glide:okhttp3-integration:${versions.glide}"
implementation 'com.google.code.gson:gson:2.8.1'
implementation "com.jakewharton:butterknife:${versions.butterknife}"
annotationProcessor "com.jakewharton:butterknife-compiler:${versions.butterknife}"
implementation "com.squareup.retrofit2:retrofit:${versions.retrofit}"
implementation "com.squareup.retrofit2:converter-gson:${versions.retrofit}"
implementation 'com.squareup.okhttp3:okhttp:3.8.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:${versions.kotlin}"
implementation 'org.jsoup:jsoup:1.10.3'
implementation project(':bypass')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:${versions.kotlin}"
}
7 changes: 2 additions & 5 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,8 @@
-keep class android.support.v7.widget.LinearLayoutManager {
public protected *;
}
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep class com.bumptech.glide.GeneratedAppGlideModuleImpl
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-keep class in.uncod.android.bypass.** { *; }
Expand Down
7 changes: 0 additions & 7 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -154,13 +154,6 @@
android:resource="@xml/glide_disk_cache_path" />
</provider>

<!-- Glide configurations for image loading -->
<meta-data
android:name="io.plaidapp.util.glide.GlideConfiguration"
android:value="GlideModule" />
<meta-data
android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
android:value="GlideModule" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
Expand Down
57 changes: 34 additions & 23 deletions app/src/main/java/io/plaidapp/ui/AboutActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
Expand All @@ -40,9 +41,6 @@
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.DrawableRequestBuilder;
import com.bumptech.glide.Glide;

import java.security.InvalidParameterException;

import butterknife.BindView;
Expand All @@ -53,19 +51,23 @@
import io.plaidapp.ui.widget.InkPageIndicator;
import io.plaidapp.util.HtmlUtils;
import io.plaidapp.util.customtabs.CustomTabActivityHelper;
import io.plaidapp.util.glide.CircleTransform;
import io.plaidapp.util.glide.GlideApp;
import io.plaidapp.util.glide.GlideRequest;

/**
* About screen. This displays 3 pages in a ViewPager:
* – About Plaid
* – Credit Roman for the awesome icon
* – Credit libraries
* – About Plaid
* – Credit Roman for the awesome icon
* – Credit libraries
*/
public class AboutActivity extends Activity {

@BindView(R.id.draggable_frame) ElasticDragDismissFrameLayout draggableFrame;
@BindView(R.id.pager) ViewPager pager;
@BindView(R.id.indicator) InkPageIndicator pageIndicator;
@BindView(R.id.draggable_frame)
ElasticDragDismissFrameLayout draggableFrame;
@BindView(R.id.pager)
ViewPager pager;
@BindView(R.id.indicator)
InkPageIndicator pageIndicator;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -96,11 +98,17 @@ public void onDragDismissed() {
static class AboutPagerAdapter extends PagerAdapter {

private View aboutPlaid;
@Nullable @BindView(R.id.about_description) TextView plaidDescription;
@Nullable
@BindView(R.id.about_description)
TextView plaidDescription;
private View aboutIcon;
@Nullable @BindView(R.id.icon_description) TextView iconDescription;
@Nullable
@BindView(R.id.icon_description)
TextView iconDescription;
private View aboutLibs;
@Nullable @BindView(R.id.libs_list) RecyclerView libsList;
@Nullable
@BindView(R.id.libs_list)
RecyclerView libsList;

private final LayoutInflater layoutInflater;
private final Bypass markdown;
Expand Down Expand Up @@ -226,14 +234,12 @@ private static class LibraryAdapter extends RecyclerView.Adapter<RecyclerView.Vi
"A type-safe HTTP client for Android and Java.",
"http://square.github.io/retrofit/",
"https://avatars.githubusercontent.com/u/82592",
false) };
false)};

private final CircleTransform circleCrop;
final Activity host;

LibraryAdapter(Activity host) {
this.host = host;
circleCrop = new CircleTransform(host);
}

@Override
Expand All @@ -248,7 +254,8 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
throw new InvalidParameterException();
}

private @NonNull LibraryHolder createLibraryHolder(ViewGroup parent) {
private @NonNull
LibraryHolder createLibraryHolder(ViewGroup parent) {
final LibraryHolder holder = new LibraryHolder(LayoutInflater.from(parent.getContext())
.inflate(R.layout.library, parent, false));
View.OnClickListener clickListener = new View.OnClickListener() {
Expand Down Expand Up @@ -290,22 +297,26 @@ public int getItemCount() {
private void bindLibrary(final LibraryHolder holder, final Library lib) {
holder.name.setText(lib.name);
holder.description.setText(lib.description);
DrawableRequestBuilder<String> request = Glide.with(holder.image.getContext())
GlideRequest<Drawable> request = GlideApp.with(holder.image.getContext())
.load(lib.imageUrl)
.placeholder(R.drawable.avatar_placeholder);
if (lib.circleCrop) {
request.transform(circleCrop);
request.circleCrop();
}
request.into(holder.image);
}
}

static class LibraryHolder extends RecyclerView.ViewHolder {

@BindView(R.id.library_image) ImageView image;
@BindView(R.id.library_name) TextView name;
@BindView(R.id.library_description) TextView description;
@BindView(R.id.library_link) Button link;
@BindView(R.id.library_image)
ImageView image;
@BindView(R.id.library_name)
TextView name;
@BindView(R.id.library_description)
TextView description;
@BindView(R.id.library_link)
Button link;

LibraryHolder(View itemView) {
super(itemView);
Expand Down
8 changes: 3 additions & 5 deletions app/src/main/java/io/plaidapp/ui/DesignerNewsLogin.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
Expand All @@ -72,7 +70,7 @@
import io.plaidapp.ui.transitions.FabTransform;
import io.plaidapp.ui.transitions.MorphTransform;
import io.plaidapp.util.ScrimUtil;
import io.plaidapp.util.glide.CircleTransform;
import io.plaidapp.util.glide.GlideApp;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
Expand Down Expand Up @@ -226,10 +224,10 @@ public void onResponse(Call<User> call, Response<User> response) {
.toast_logged_in_confirmation, null, false);
((TextView) v.findViewById(R.id.name)).setText(user.display_name.toLowerCase());
// need to use app context here as the activity will be destroyed shortly
Glide.with(getApplicationContext())
GlideApp.with(getApplicationContext())
.load(user.portrait_url)
.placeholder(R.drawable.avatar_placeholder)
.transform(new CircleTransform(getApplicationContext()))
.circleCrop()
.into((ImageView) v.findViewById(R.id.avatar));
v.findViewById(R.id.scrim).setBackground(ScrimUtil
.makeCubicGradientScrimDrawable(
Expand Down
18 changes: 8 additions & 10 deletions app/src/main/java/io/plaidapp/ui/DesignerNewsStory.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,12 @@
import io.plaidapp.ui.widget.CollapsingTitleLayout;
import io.plaidapp.ui.widget.ElasticDragDismissFrameLayout;
import io.plaidapp.ui.widget.PinnedOffsetView;
import io.plaidapp.util.HtmlUtils;
import io.plaidapp.util.DrawableUtils;
import io.plaidapp.util.HtmlUtils;
import io.plaidapp.util.ImeUtils;
import io.plaidapp.util.ViewUtils;
import io.plaidapp.util.customtabs.CustomTabActivityHelper;
import io.plaidapp.util.glide.CircleTransform;
import io.plaidapp.util.glide.GlideApp;
import io.plaidapp.util.glide.ImageSpanTarget;
import retrofit2.Call;
import retrofit2.Callback;
Expand Down Expand Up @@ -130,7 +130,6 @@ public class DesignerNewsStory extends Activity {
private DesignerNewsPrefs designerNewsPrefs;
private Bypass markdown;
private CustomTabActivityHelper customTab;
private CircleTransform circleTransform;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -149,7 +148,6 @@ protected void onCreate(Bundle savedInstanceState) {
.setPreImageLinebreakHeight(4) //dps
.setBlockQuoteIndentSize(TypedValue.COMPLEX_UNIT_DIP, 2f)
.setBlockQuoteTextColor(ContextCompat.getColor(this, R.color.designer_news_quote)));
circleTransform = new CircleTransform(this);
designerNewsPrefs = DesignerNewsPrefs.get(this);
layoutManager = new LinearLayoutManager(this);
commentsList.setLayoutManager(layoutManager);
Expand Down Expand Up @@ -452,9 +450,9 @@ private void bindDescription() {
new Bypass.LoadImageCallback() {
@Override
public void loadImage(String src, ImageLoadingSpan loadingSpan) {
Glide.with(DesignerNewsStory.this)
.load(src)
GlideApp.with(DesignerNewsStory.this)
.asBitmap()
.load(src)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new ImageSpanTarget(storyComment, loadingSpan));
}
Expand Down Expand Up @@ -499,10 +497,10 @@ public void onClick(View v) {
storyPosterTime.setText(TextUtils.concat(poster, job, "\n", timeAgo));
ImageView avatar = (ImageView) header.findViewById(R.id.story_poster_avatar);
if (!TextUtils.isEmpty(story.user_portrait_url)) {
Glide.with(this)
GlideApp.with(this)
.load(story.user_portrait_url)
.placeholder(R.drawable.avatar_placeholder)
.transform(circleTransform)
.circleCrop()
.into(avatar);
} else {
avatar.setVisibility(View.GONE);
Expand Down Expand Up @@ -806,9 +804,9 @@ private void bindComment(final CommentHolder holder, List<Object> partialChanges
new Bypass.LoadImageCallback() {
@Override
public void loadImage(String src, ImageLoadingSpan loadingSpan) {
Glide.with(DesignerNewsStory.this)
.load(src)
GlideApp.with(DesignerNewsStory.this)
.asBitmap()
.load(src)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new ImageSpanTarget(holder.comment, loadingSpan));
}
Expand Down
8 changes: 3 additions & 5 deletions app/src/main/java/io/plaidapp/ui/DribbbleLogin.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;

import butterknife.BindView;
import butterknife.ButterKnife;
import io.plaidapp.BuildConfig;
Expand All @@ -46,7 +44,7 @@
import io.plaidapp.ui.transitions.FabTransform;
import io.plaidapp.ui.transitions.MorphTransform;
import io.plaidapp.util.ScrimUtil;
import io.plaidapp.util.glide.CircleTransform;
import io.plaidapp.util.glide.GlideApp;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
Expand Down Expand Up @@ -134,10 +132,10 @@ public void onResponse(Call<User> call, Response<User> response) {
.toast_logged_in_confirmation, null, false);
((TextView) v.findViewById(R.id.name)).setText(user.name.toLowerCase());
// need to use app context here as the activity will be destroyed shortly
Glide.with(getApplicationContext())
GlideApp.with(getApplicationContext())
.load(user.avatar_url)
.placeholder(R.drawable.ic_player)
.transform(new CircleTransform(getApplicationContext()))
.circleCrop()
.into((ImageView) v.findViewById(R.id.avatar));
v.findViewById(R.id.scrim).setBackground(ScrimUtil.makeCubicGradientScrimDrawable
(ContextCompat.getColor(DribbbleLogin.this, R.color.scrim),
Expand Down
Loading

0 comments on commit c32520b

Please sign in to comment.