diff options
author | Oguz Kocer <oguz.kocer@automattic.com> | 2016-05-24 15:15:07 +0300 |
---|---|---|
committer | Oguz Kocer <oguz.kocer@automattic.com> | 2016-05-24 15:15:07 +0300 |
commit | 9b40515d3a69d6534f92ceaa05df757193717b96 (patch) | |
tree | 47da307127cdba09a30616cc9d9a2bb9e9a720aa /WordPress | |
parent | 117d7feca466eb0a268a0ea7955f9b3211e954fd (diff) | |
download | gradle-perf-android-medium-9b40515d3a69d6534f92ceaa05df757193717b96.tar.gz |
Use offset parameter and only remove users from blog if it's a fresh list
Diffstat (limited to 'WordPress')
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java | 6 | ||||
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java | 11 |
2 files changed, 10 insertions, 7 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java b/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java index bdd547568..0107bf8f1 100644 --- a/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java +++ b/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java @@ -65,11 +65,13 @@ public class PeopleTable { database.insertWithOnConflict(PEOPLE_TABLE, null, values, SQLiteDatabase.CONFLICT_REPLACE); } - public static void savePeople(List<Person> peopleList, int localTableBlogId) { + public static void savePeople(List<Person> peopleList, int localTableBlogId, boolean isFreshList) { getWritableDb().beginTransaction(); try { //We have a fresh list, remove the previous list of people in case it was deleted on remote - PeopleTable.deletePeopleForLocalBlogId(localTableBlogId); + if (isFreshList) { + PeopleTable.deletePeopleForLocalBlogId(localTableBlogId); + } for (Person person : peopleList) { PeopleTable.save(person); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java index 6d3394911..728889b25 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java @@ -57,7 +57,7 @@ public class PeopleManagementActivity extends AppCompatActivity .commit(); } - fetchUsersList(blog.getDotComBlogId(), blog.getLocalTableBlogId()); + fetchUsersList(blog.getDotComBlogId(), blog.getLocalTableBlogId(), 0); } @Override @@ -85,11 +85,12 @@ public class PeopleManagementActivity extends AppCompatActivity return super.onOptionsItemSelected(item); } - private void fetchUsersList(String dotComBlogId, final int localTableBlogId) { - PeopleUtils.fetchUsers(dotComBlogId, localTableBlogId, new PeopleUtils.FetchUsersCallback() { + private void fetchUsersList(String dotComBlogId, final int localTableBlogId, final int offset) { + PeopleUtils.fetchUsers(dotComBlogId, localTableBlogId, offset, new PeopleUtils.FetchUsersCallback() { @Override - public void onSuccess(List<Person> peopleList) { - PeopleTable.savePeople(peopleList, localTableBlogId); + public void onSuccess(List<Person> peopleList, boolean isEndOfList) { + boolean isFreshList = (offset == 0); + PeopleTable.savePeople(peopleList, localTableBlogId, isFreshList); refreshOnScreenFragmentDetails(); } |