From 6ed3c744a5d44a4a5c5d6256d0e00e2fa10bcae4 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Fri, 16 Feb 2018 18:00:24 +0100 Subject: [PATCH] workaround CollapsingToolbarLayout issue in support lib Fix from https://issuetracker.google.com/issues/64065383#comment12 --- .../widget/FixedCollapsingToolbarLayout.java | 30 +++++++++++++++++++ .../src/main/res/layout/view_key_activity.xml | 4 +-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 OpenKeychain/src/main/java/android/support/design/widget/FixedCollapsingToolbarLayout.java diff --git a/OpenKeychain/src/main/java/android/support/design/widget/FixedCollapsingToolbarLayout.java b/OpenKeychain/src/main/java/android/support/design/widget/FixedCollapsingToolbarLayout.java new file mode 100644 index 000000000..5cfb1c65f --- /dev/null +++ b/OpenKeychain/src/main/java/android/support/design/widget/FixedCollapsingToolbarLayout.java @@ -0,0 +1,30 @@ +package android.support.design.widget; + +import android.content.Context; +import android.support.v4.view.WindowInsetsCompat; +import android.util.AttributeSet; + +public class FixedCollapsingToolbarLayout extends CollapsingToolbarLayout { + + public FixedCollapsingToolbarLayout(Context context) { + this(context, null); + } + + public FixedCollapsingToolbarLayout(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + // During the super call to onMeasure(), we'll save a copy of mLastInsets, + // consume the insets of mLastInsets so the super call has no insets to work with, + // then re-assign mLastInsets to what it was before the super call. + WindowInsetsCompat oldInsets = mLastInsets; + if (mLastInsets != null) { + mLastInsets = mLastInsets.consumeSystemWindowInsets(); + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + mLastInsets = oldInsets; + } + +} \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/view_key_activity.xml b/OpenKeychain/src/main/res/layout/view_key_activity.xml index 7cfaaa30d..ba44eaecf 100644 --- a/OpenKeychain/src/main/res/layout/view_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/view_key_activity.xml @@ -16,7 +16,7 @@ android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> - - +