diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
index 3c2fec8b..103bfb10 100644
--- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
+++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
@@ -166,7 +166,7 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
ThemeUtils.setDrawableTint(context, toolbar.getOverflowIcon(), attribute);
}
- if(floatingBtn != null && hideFab) {
+ if(floatingBtn != null && hideFab && !isSelf && !blocking) {
if (verticalOffset > oldOffset) {
floatingBtn.show();
}
@@ -367,10 +367,6 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
this.blocking = relation.blocking;
this.muting = relation.muting;
- if (followState != FollowState.NOT_FOLLOWING || !blocking || !muting) {
- invalidateOptionsMenu();
- }
-
if(relation.followedBy) {
followsYouView.setVisibility(View.VISIBLE);
} else {
@@ -424,6 +420,9 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
updateFollowButton(followBtn);
}
});
+ } else {
+ floatingBtn.hide();
+ followBtn.setVisibility(View.GONE);
}
}
@@ -668,7 +667,10 @@ public class AccountActivity extends BaseActivity implements ActionButtonActivit
@Nullable
@Override
public FloatingActionButton getActionButton() {
- return floatingBtn;
+ if(!isSelf && !blocking) {
+ return floatingBtn;
+ }
+ return null;
}
}
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.java
index 996c4206..a3f81c0d 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.java
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.java
@@ -178,15 +178,16 @@ public class AccountListFragment extends BaseFragment implements AccountActionLi
if (actionButtonPresent()) {
/* Use a modified scroll listener that both loads more statuses as it goes, and hides
* the follow button on down-scroll. */
- ActionButtonActivity actionButtonActivity = (ActionButtonActivity) getActivity();
- final FloatingActionButton composeButton = actionButtonActivity.getActionButton();
- final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
hideFab = preferences.getBoolean("fabHide", false);
scrollListener = new EndlessOnScrollListener(layoutManager) {
@Override
public void onScrolled(RecyclerView view, int dx, int dy) {
super.onScrolled(view, dx, dy);
+ ActionButtonActivity actionButtonActivity = (ActionButtonActivity) getActivity();
+ FloatingActionButton composeButton = actionButtonActivity.getActionButton();
+
if (composeButton != null) {
if (hideFab) {
if (dy > 0 && composeButton.isShown()) {
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java
index 8375bf86..f4de5665 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java
@@ -40,6 +40,7 @@ import com.keylesspalace.tusky.adapter.NotificationsAdapter;
import com.keylesspalace.tusky.R;
import com.keylesspalace.tusky.entity.Notification;
import com.keylesspalace.tusky.entity.Status;
+import com.keylesspalace.tusky.interfaces.ActionButtonActivity;
import com.keylesspalace.tusky.interfaces.StatusActionListener;
import com.keylesspalace.tusky.receiver.TimelineReceiver;
import com.keylesspalace.tusky.util.HttpHeaderLink;
@@ -172,9 +173,7 @@ public class NotificationsFragment extends SFragment implements
* guaranteed to be set until then.
* Use a modified scroll listener that both loads more notifications as it goes, and hides
* the compose button on down-scroll. */
- final FloatingActionButton composeButton = activity.getActionButton();
- final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(
- activity);
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity);
preferences.registerOnSharedPreferenceChangeListener(this);
hideFab = preferences.getBoolean("fabHide", false);
scrollListener = new EndlessOnScrollListener(layoutManager) {
@@ -182,6 +181,9 @@ public class NotificationsFragment extends SFragment implements
public void onScrolled(RecyclerView view, int dx, int dy) {
super.onScrolled(view, dx, dy);
+ ActionButtonActivity activity = (ActionButtonActivity) getActivity();
+ FloatingActionButton composeButton = activity.getActionButton();
+
if(composeButton != null) {
if (hideFab) {
if (dy > 0 && composeButton.isShown()) {
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java
index 379b9c42..103f7e81 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java
@@ -198,15 +198,16 @@ public class TimelineFragment extends SFragment implements
if (actionButtonPresent()) {
/* Use a modified scroll listener that both loads more statuses as it goes, and hides
* the follow button on down-scroll. */
- ActionButtonActivity activity = (ActionButtonActivity) getActivity();
- final FloatingActionButton composeButton = activity.getActionButton();
- final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
hideFab = preferences.getBoolean("fabHide", false);
scrollListener = new EndlessOnScrollListener(layoutManager) {
@Override
public void onScrolled(RecyclerView view, int dx, int dy) {
super.onScrolled(view, dx, dy);
+ ActionButtonActivity activity = (ActionButtonActivity) getActivity();
+ FloatingActionButton composeButton = activity.getActionButton();
+
if (composeButton != null) {
if (hideFab) {
if (dy > 0 && composeButton.isShown()) {
diff --git a/app/src/main/java/com/keylesspalace/tusky/interfaces/ActionButtonActivity.java b/app/src/main/java/com/keylesspalace/tusky/interfaces/ActionButtonActivity.java
index 35d2b9c0..faf2352d 100644
--- a/app/src/main/java/com/keylesspalace/tusky/interfaces/ActionButtonActivity.java
+++ b/app/src/main/java/com/keylesspalace/tusky/interfaces/ActionButtonActivity.java
@@ -19,6 +19,8 @@ import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
public interface ActionButtonActivity {
+
+ /* return the ActionButton of the Activity to hide or show it on scroll */
@Nullable
FloatingActionButton getActionButton();
}
diff --git a/app/src/main/res/layout/activity_account.xml b/app/src/main/res/layout/activity_account.xml
index bd1ecce0..a1788cb4 100644
--- a/app/src/main/res/layout/activity_account.xml
+++ b/app/src/main/res/layout/activity_account.xml
@@ -1,6 +1,7 @@
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_below="@id/account_avatar"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:textColor="?android:textColorPrimary"
+ android:textSize="18sp"
+ android:textStyle="normal|bold"
+ tools:text="Tusky Mastodon Client" />
+
+
+
+
+ android:textColor="?android:textColorTertiary"
+ tools:text="This is a test description" />
-
+
@@ -179,11 +177,6 @@
-
-
+
+