diff options
author | Oguz Kocer <oguz.kocer@automattic.com> | 2016-06-22 14:12:42 +0300 |
---|---|---|
committer | Oguz Kocer <oguz.kocer@automattic.com> | 2016-06-22 14:12:42 +0300 |
commit | 38c670cafdee1f2632ceb1538534136a337a4e7e (patch) | |
tree | 72ffd1cae47014d87a329744beb9652914f2b2b1 /WordPress/src/main | |
parent | 34a2971d0bd8385317da2e0dcb3a3186e111db4e (diff) | |
download | gradle-perf-android-medium-38c670cafdee1f2632ceb1538534136a337a4e7e.tar.gz |
Getting a person from db should use isFollower parameter
Diffstat (limited to 'WordPress/src/main')
3 files changed, 16 insertions, 8 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 9a99b0d15..7e8cc78bd 100644 --- a/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java +++ b/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java @@ -213,12 +213,14 @@ public class PeopleTable { * retrieve a single person * @param personId - id of a person in a particular blog * @param localTableBlogId - the local blog id the user belongs to + * @param isFollower - if the person is a follower * @return Person if found, null otherwise */ - public static Person getPerson(long personId, int localTableBlogId) { - String[] args = { Long.toString(personId), Integer.toString(localTableBlogId) }; + public static Person getPerson(long personId, int localTableBlogId, boolean isFollower) { + String[] args = { Long.toString(personId), Integer.toString(localTableBlogId), + Integer.toString(isFollower ? 1 : 0)}; Cursor c = getReadableDb().rawQuery("SELECT * FROM " + PEOPLE_TABLE + - " WHERE person_id=? AND local_blog_id=?", args); + " WHERE person_id=? AND local_blog_id=? AND is_follower=?", args); try { if (!c.moveToFirst()) { return null; 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 93b2c3ac8..dbb7d101e 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 @@ -350,8 +350,9 @@ public class PeopleManagementActivity extends AppCompatActivity long personID = person.getPersonID(); int localTableBlogID = person.getLocalTableBlogId(); + boolean isFollower = person.isFollower(); if (personDetailFragment == null) { - personDetailFragment = PersonDetailFragment.newInstance(personID, localTableBlogID); + personDetailFragment = PersonDetailFragment.newInstance(personID, localTableBlogID, isFollower); } else { personDetailFragment.setPersonDetails(personID, localTableBlogID); } @@ -377,7 +378,8 @@ public class PeopleManagementActivity extends AppCompatActivity return; } - final Person person = PeopleTable.getPerson(event.personID, event.localTableBlogId); + // You can't change a follower's role, so it's always false + final Person person = PeopleTable.getPerson(event.personID, event.localTableBlogId, false); if (person == null || event.newRole == null || event.newRole.equalsIgnoreCase(person.getRole())) { return; } @@ -453,7 +455,7 @@ public class PeopleManagementActivity extends AppCompatActivity } // remove the person from db, navigate back to list fragment and refresh it - Person person = PeopleTable.getPerson(personID, localTableBlogId); + Person person = PeopleTable.getPerson(personID, localTableBlogId, isFollower); String text; if (person != null) { PeopleTable.deletePerson(personID, localTableBlogId); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/people/PersonDetailFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/people/PersonDetailFragment.java index 4aa366417..24877d9a4 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/people/PersonDetailFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/people/PersonDetailFragment.java @@ -28,9 +28,11 @@ import org.wordpress.android.widgets.WPNetworkImageView; public class PersonDetailFragment extends Fragment { private static String ARG_PERSON_ID = "person_id"; private static String ARG_LOCAL_TABLE_BLOG_ID = "local_table_blog_id"; + private static String ARG_IS_FOLLOWER = "is_follower"; private long mPersonID; private int mLocalTableBlogID; + private boolean mIsFollower; private WPNetworkImageView mAvatarImageView; private TextView mDisplayNameTextView; @@ -38,11 +40,12 @@ public class PersonDetailFragment extends Fragment { private LinearLayout mRoleContainer; private TextView mRoleTextView; - public static PersonDetailFragment newInstance(long personID, int localTableBlogID) { + public static PersonDetailFragment newInstance(long personID, int localTableBlogID, boolean isFollower) { PersonDetailFragment personDetailFragment = new PersonDetailFragment(); Bundle bundle = new Bundle(); bundle.putLong(ARG_PERSON_ID, personID); bundle.putInt(ARG_LOCAL_TABLE_BLOG_ID, localTableBlogID); + bundle.putBoolean(ARG_IS_FOLLOWER, isFollower); personDetailFragment.setArguments(bundle); return personDetailFragment; } @@ -72,6 +75,7 @@ public class PersonDetailFragment extends Fragment { mPersonID = getArguments().getLong(ARG_PERSON_ID); mLocalTableBlogID = getArguments().getInt(ARG_LOCAL_TABLE_BLOG_ID); + mIsFollower = getArguments().getBoolean(ARG_IS_FOLLOWER); mAvatarImageView = (WPNetworkImageView) rootView.findViewById(R.id.person_avatar); mDisplayNameTextView = (TextView) rootView.findViewById(R.id.person_display_name); @@ -174,6 +178,6 @@ public class PersonDetailFragment extends Fragment { } public Person loadPerson() { - return PeopleTable.getPerson(mPersonID, mLocalTableBlogID); + return PeopleTable.getPerson(mPersonID, mLocalTableBlogID, mIsFollower); } } |