show if an account follows you back in AccountActivity

This commit is contained in:
Conny Duck 2017-08-05 10:09:17 +02:00
parent c6f2cc55ea
commit 45ae9ed0ef
4 changed files with 38 additions and 13 deletions

View File

@ -84,6 +84,7 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
private ImageView header;
private FloatingActionButton floatingBtn;
private Button followBtn;
private TextView followsYouView;
private TabLayout tabLayout;
private ImageView accountLockedView;
private View container;
@ -99,6 +100,7 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
header = (ImageView) findViewById(R.id.account_header);
floatingBtn = (FloatingActionButton) findViewById(R.id.floating_btn);
followBtn = (Button) findViewById(R.id.follow_btn);
followsYouView = (TextView) findViewById(R.id.account_follows_you);
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
accountLockedView = (ImageView) findViewById(R.id.account_locked);
container = findViewById(R.id.activity_account);
@ -179,6 +181,7 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
// Initialise the default UI states.
floatingBtn.hide();
followBtn.setVisibility(View.GONE);
followsYouView.setVisibility(View.GONE);
// Obtain information to fill out the profile.
obtainAccount();
@ -340,8 +343,7 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
Response<List<Relationship>> response) {
if (response.isSuccessful()) {
Relationship relationship = response.body().get(0);
onObtainRelationshipsSuccess(relationship.requested, relationship.following,
relationship.blocking, relationship.muting);
onObtainRelationshipsSuccess(relationship);
} else {
onObtainRelationshipsFailure(new Exception(response.message()));
}
@ -354,22 +356,27 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
});
}
private void onObtainRelationshipsSuccess(boolean followRequested, boolean following,
boolean blocking, boolean muting) {
if (following) {
private void onObtainRelationshipsSuccess(Relationship relation) {
if (relation.following) {
followState = FollowState.FOLLOWING;
} else if (followRequested) {
} else if (relation.requested) {
followState = FollowState.REQUESTED;
} else {
followState = FollowState.NOT_FOLLOWING;
}
this.blocking = blocking;
this.muting = muting;
this.blocking = relation.blocking;
this.muting = relation.muting;
if (followState != FollowState.NOT_FOLLOWING || !blocking || !muting) {
invalidateOptionsMenu();
}
if(relation.followedBy) {
followsYouView.setVisibility(View.VISIBLE);
} else {
followsYouView.setVisibility(View.GONE);
}
updateButtons();
}

View File

@ -58,22 +58,34 @@
android:id="@+id/account_avatar"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:src="@drawable/avatar_default"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/follow_btn"
android:layout_toStartOf="@+id/follow_btn"
android:src="@drawable/avatar_default"
app:shadow="true" />
<Button
android:id="@+id/follow_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="6dp"
android:id="@+id/follow_btn"/>
android:layout_marginTop="6dp" />
<TextView
android:id="@+id/account_follows_you"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@id/follow_btn"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:text="Follows you"
android:textColor="?android:textColorPrimary" />
<LinearLayout
android:layout_width="match_parent"

View File

@ -192,5 +192,8 @@
<string name="pref_title_status_filter">Timeline-Filter</string>
<string name="title_saved_toot">Gespeicherte Tröts</string>
<string name="follows_you">Folgt dir</string>
</resources>

View File

@ -211,4 +211,7 @@
<string name="abbreviated_minutes_ago">%dm</string>
<string name="abbreviated_seconds_ago">%ds</string>
<string name="follows_you">Follows you</string>
</resources>