aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-11-02 18:24:59 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-11-02 18:24:59 +0100
commit00c972b6a83d1101503ca3ceb28332e9b76dd177 (patch)
tree0fadcf90fcedbdac83054bbe41341cd2f4cc0884 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
parent989df66d18707211dcf4e8a088abe563538eafa3 (diff)
downloadopen-keychain-00c972b6a83d1101503ca3ceb28332e9b76dd177.tar.gz
open-keychain-00c972b6a83d1101503ca3ceb28332e9b76dd177.tar.bz2
open-keychain-00c972b6a83d1101503ca3ceb28332e9b76dd177.zip
Properly hide fab in ViewKeyActivity, fixes #1580
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java33
1 files changed, 28 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
index cbc7b88bf..0184527b7 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
@@ -38,6 +38,7 @@ import android.os.Handler;
import android.provider.ContactsContract;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CollapsingToolbarLayout;
+import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentManager;
@@ -869,7 +870,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements
mActionEncryptFile.setVisibility(View.INVISIBLE);
mActionEncryptText.setVisibility(View.INVISIBLE);
mActionNfc.setVisibility(View.INVISIBLE);
- mFab.setVisibility(View.GONE);
+ hideFab();
mQrCodeLayout.setVisibility(View.GONE);
} else if (mIsExpired) {
if (mIsSecret) {
@@ -885,7 +886,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements
mActionEncryptFile.setVisibility(View.INVISIBLE);
mActionEncryptText.setVisibility(View.INVISIBLE);
mActionNfc.setVisibility(View.INVISIBLE);
- mFab.setVisibility(View.GONE);
+ hideFab();
mQrCodeLayout.setVisibility(View.GONE);
} else if (mIsSecret) {
mStatusText.setText(R.string.view_key_my_key);
@@ -927,7 +928,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements
} else {
mActionNfc.setVisibility(View.GONE);
}
- mFab.setVisibility(View.VISIBLE);
+ showFab();
// noinspection deprecation (no getDrawable with theme at current minApi level 15!)
mFab.setImageDrawable(getResources().getDrawable(R.drawable.ic_repeat_white_24dp));
} else {
@@ -944,7 +945,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements
color = getResources().getColor(R.color.key_flag_green);
photoTask.execute(mMasterKeyId);
- mFab.setVisibility(View.GONE);
+ hideFab();
} else {
mStatusText.setText(R.string.view_key_unverified);
mStatusImage.setVisibility(View.VISIBLE);
@@ -952,7 +953,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements
State.UNVERIFIED, R.color.icons, true);
color = getResources().getColor(R.color.key_flag_orange);
- mFab.setVisibility(View.VISIBLE);
+ showFab();
}
}
@@ -982,6 +983,28 @@ public class ViewKeyActivity extends BaseNfcActivity implements
}
}
+ /**
+ * Helper to show Fab, from http://stackoverflow.com/a/31047038
+ */
+ private void showFab() {
+ CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) mFab.getLayoutParams();
+ p.setBehavior(new FloatingActionButton.Behavior());
+ p.setAnchorId(R.id.app_bar_layout);
+ mFab.setLayoutParams(p);
+ mFab.setVisibility(View.VISIBLE);
+ }
+
+ /**
+ * Helper to hide Fab, from http://stackoverflow.com/a/31047038
+ */
+ private void hideFab() {
+ CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) mFab.getLayoutParams();
+ p.setBehavior(null); //should disable default animations
+ p.setAnchorId(View.NO_ID); //should let you set visibility
+ mFab.setLayoutParams(p);
+ mFab.setVisibility(View.GONE);
+ }
+
@Override
public void onLoaderReset(Loader<Cursor> loader) {