mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 11:39:42 +01:00
Fix caching
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
55d78401ad
commit
6852a4d103
@ -25,7 +25,9 @@ import android.text.format.DateUtils;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
import com.bumptech.glide.load.model.GlideUrl;
|
import com.bumptech.glide.load.model.GlideUrl;
|
||||||
|
import com.bumptech.glide.load.model.LazyHeaders;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
import com.nextcloud.talk.api.helpers.api.ApiHelper;
|
import com.nextcloud.talk.api.helpers.api.ApiHelper;
|
||||||
import com.nextcloud.talk.api.models.json.rooms.Room;
|
import com.nextcloud.talk.api.models.json.rooms.Room;
|
||||||
@ -111,16 +113,21 @@ public class RoomItem extends AbstractFlexibleItem<RoomItem.RoomItemViewHolder>
|
|||||||
holder.avatarImageView.setVisibility(View.VISIBLE);
|
holder.avatarImageView.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(room.getName())) {
|
if (!TextUtils.isEmpty(room.getName())) {
|
||||||
String glideUrl = new GlideUrl(ApiHelper.getUrlForAvatarWithName(userEntity.getBaseUrl(),
|
GlideUrl glideUrl = new GlideUrl(ApiHelper.getUrlForAvatarWithName(userEntity.getBaseUrl(),
|
||||||
room.getName())).toString();
|
room.getName()), new LazyHeaders.Builder()
|
||||||
|
.setHeader("Accept", "*/*")
|
||||||
|
.build());
|
||||||
|
|
||||||
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
|
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
|
||||||
.asBitmap()
|
.asBitmap()
|
||||||
.skipMemoryCache(true)
|
.skipMemoryCache(true)
|
||||||
|
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
.load(glideUrl)
|
.load(glideUrl)
|
||||||
|
.placeholder(holder.avatarImageViewInvisible.getDrawable())
|
||||||
.circleCrop()
|
.circleCrop()
|
||||||
.centerInside()
|
.centerInside()
|
||||||
.into(holder.avatarImageView);
|
.into(holder.avatarImageView);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
holder.avatarImageView.setDrawable(holder.avatarImageViewInvisible.getDrawable());
|
holder.avatarImageView.setDrawable(holder.avatarImageViewInvisible.getDrawable());
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,9 @@ package com.nextcloud.talk.adapters.items;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
import com.bumptech.glide.load.model.GlideUrl;
|
import com.bumptech.glide.load.model.GlideUrl;
|
||||||
|
import com.bumptech.glide.load.model.LazyHeaders;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
import com.nextcloud.talk.api.helpers.api.ApiHelper;
|
import com.nextcloud.talk.api.helpers.api.ApiHelper;
|
||||||
import com.nextcloud.talk.api.models.User;
|
import com.nextcloud.talk.api.models.User;
|
||||||
@ -97,13 +99,17 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
|
|||||||
holder.avatarImageView.setTextAndColorSeed(String.valueOf(user.getName().
|
holder.avatarImageView.setTextAndColorSeed(String.valueOf(user.getName().
|
||||||
toUpperCase().charAt(0)), ColorUtils.colorSeed);
|
toUpperCase().charAt(0)), ColorUtils.colorSeed);
|
||||||
|
|
||||||
|
GlideUrl glideUrl = new GlideUrl(ApiHelper.getUrlForAvatarWithName(userEntity.getBaseUrl(),
|
||||||
String glideUrl = new GlideUrl(ApiHelper.getUrlForAvatarWithName(userEntity.getBaseUrl(),
|
user.getUserId()), new LazyHeaders.Builder()
|
||||||
user.getUserId())).toString();
|
.setHeader("Accept", "*/*")
|
||||||
|
.setHeader("Cache-Control", "max-age=0")
|
||||||
|
.build());
|
||||||
|
|
||||||
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
|
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
|
||||||
.asBitmap()
|
.asBitmap()
|
||||||
.skipMemoryCache(true)
|
.skipMemoryCache(true)
|
||||||
|
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
|
.placeholder(holder.avatarImageViewInvisible.getDrawable())
|
||||||
.load(glideUrl)
|
.load(glideUrl)
|
||||||
.circleCrop()
|
.circleCrop()
|
||||||
.centerInside()
|
.centerInside()
|
||||||
|
@ -255,7 +255,9 @@ public class CallsListController extends BaseController implements SearchView.On
|
|||||||
}
|
}
|
||||||
, () -> {
|
, () -> {
|
||||||
dispose(roomsQueryDisposable);
|
dispose(roomsQueryDisposable);
|
||||||
swipeRefreshLayout.setRefreshing(false);
|
if (swipeRefreshLayout != null) {
|
||||||
|
swipeRefreshLayout.setRefreshing(false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
cacheQueryDisposable = cacheUtils.getViewCache(userEntity.getId(), TAG)
|
cacheQueryDisposable = cacheUtils.getViewCache(userEntity.getId(), TAG)
|
||||||
|
@ -52,8 +52,7 @@ public class CachingGlideModule extends AppGlideModule {
|
|||||||
@Override
|
@Override
|
||||||
public void registerComponents(Context context, Glide glide, Registry registry) {
|
public void registerComponents(Context context, Glide glide, Registry registry) {
|
||||||
NextcloudTalkApplication.getSharedApplication().getComponentApplication().inject(this);
|
NextcloudTalkApplication.getSharedApplication().getComponentApplication().inject(this);
|
||||||
registry.replace(GlideUrl.class, InputStream.class,
|
registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(okHttpClient));
|
||||||
new OkHttpUrlLoader.Factory(okHttpClient));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user