aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/main
diff options
context:
space:
mode:
authorOguz Kocer <oguz.kocer@automattic.com>2016-06-22 14:12:42 +0300
committerOguz Kocer <oguz.kocer@automattic.com>2016-06-22 14:12:42 +0300
commit38c670cafdee1f2632ceb1538534136a337a4e7e (patch)
tree72ffd1cae47014d87a329744beb9652914f2b2b1 /WordPress/src/main
parent34a2971d0bd8385317da2e0dcb3a3186e111db4e (diff)
downloadgradle-perf-android-medium-38c670cafdee1f2632ceb1538534136a337a4e7e.tar.gz
Getting a person from db should use isFollower parameter
Diffstat (limited to 'WordPress/src/main')
-rw-r--r--WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java8
-rw-r--r--WordPress/src/main/java/org/wordpress/android/ui/people/PeopleManagementActivity.java8
-rw-r--r--WordPress/src/main/java/org/wordpress/android/ui/people/PersonDetailFragment.java8
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);
}
}