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

View file

@ -58,22 +58,34 @@
android:id="@+id/account_avatar" android:id="@+id/account_avatar"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="80dp" android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:layout_marginRight="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_toLeftOf="@+id/follow_btn"
android:layout_toStartOf="@+id/follow_btn" android:layout_toStartOf="@+id/follow_btn"
android:src="@drawable/avatar_default"
app:shadow="true" /> app:shadow="true" />
<Button <Button
android:id="@+id/follow_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginTop="6dp" android:layout_marginTop="6dp" />
android:id="@+id/follow_btn"/>
<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 <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View file

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

View file

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