Android - People and Domain list - synchronize cache and request code

This commit is contained in:
Cristian Luis Duarte 2018-08-21 18:40:10 -03:00
parent ed965babdf
commit 4227df30e6
2 changed files with 43 additions and 34 deletions

View file

@ -57,6 +57,7 @@ public class DomainAdapter extends RecyclerView.Adapter<DomainAdapter.ViewHolder
}
private void useTmpCachedDomains() {
synchronized (this) {
if (DOMAINS_TMP_CACHE != null && DOMAINS_TMP_CACHE.length > 0) {
mDomains = Arrays.copyOf(DOMAINS_TMP_CACHE, DOMAINS_TMP_CACHE.length);
notifyDataSetChanged();
@ -69,6 +70,7 @@ public class DomainAdapter extends RecyclerView.Adapter<DomainAdapter.ViewHolder
}
}
}
}
public void loadDomains(String filterText, boolean forceRefresh) {
domainProvider.retrieve(filterText, new DomainProvider.DomainCallback() {
@ -81,6 +83,7 @@ public class DomainAdapter extends RecyclerView.Adapter<DomainAdapter.ViewHolder
overrideDefaultThumbnails(domain);
mDomains = new Domain[domain.size()];
synchronized (this) {
domain.toArray(mDomains);
if (filterText.isEmpty()) {
DOMAINS_TMP_CACHE = Arrays.copyOf(mDomains, mDomains.length);
@ -94,6 +97,7 @@ public class DomainAdapter extends RecyclerView.Adapter<DomainAdapter.ViewHolder
}
}
}
}
@Override
public void retrieveError(Exception e, String message) {

View file

@ -55,6 +55,7 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.ViewHo
}
private void useTmpCachedUsers() {
synchronized (this) {
if (USERS_TMP_CACHE != null && USERS_TMP_CACHE.size() > 0) {
mUsers = new ArrayList<>(USERS_TMP_CACHE.size());
mUsers.addAll(USERS_TMP_CACHE);
@ -68,6 +69,7 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.ViewHo
}
}
}
}
public void loadUsers() {
mProvider.retrieve(new UsersProvider.UsersCallback() {
@ -76,6 +78,7 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.ViewHo
mUsers = new ArrayList<>(users);
notifyDataSetChanged();
synchronized (this) {
USERS_TMP_CACHE = new ArrayList<>(mUsers.size());
USERS_TMP_CACHE.addAll(mUsers);
@ -87,6 +90,7 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.ViewHo
}
}
}
}
@Override
public void retrieveError(Exception e, String message) {
@ -269,4 +273,5 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.ViewHo
void onNonEmptyAdapter(boolean shouldStopRefreshing);
void onError(Exception e, String message);
}
}