From 943d4c32c69cbfa34072de444e731a4c07a72526 Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Thu, 24 Mar 2022 12:39:36 +0100 Subject: [PATCH] Fix top inset for module list. --- .../main/java/com/fox2code/mmm/MainActivity.java | 5 +++-- .../com/fox2code/mmm/compat/CompatActivity.java | 13 +++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/fox2code/mmm/MainActivity.java b/app/src/main/java/com/fox2code/mmm/MainActivity.java index 563b4fc..9503e27 100644 --- a/app/src/main/java/com/fox2code/mmm/MainActivity.java +++ b/app/src/main/java/com/fox2code/mmm/MainActivity.java @@ -207,6 +207,7 @@ public class MainActivity extends CompatActivity implements SwipeRefreshLayout.O progressIndicator.setVisibility(View.GONE); searchView.setEnabled(true); setActionBarBackground(null); + updateScreenInsets(getResources().getConfiguration()); }); moduleViewListBuilder.appendRemoteModules(); moduleViewListBuilder.applyTo(moduleList, moduleViewAdapter); @@ -243,8 +244,8 @@ public class MainActivity extends CompatActivity implements SwipeRefreshLayout.O this.swipeRefreshLayout.setProgressViewOffset(false, swipeRefreshLayoutOrigStartOffset + combinedBarsHeight, swipeRefreshLayoutOrigEndOffset + combinedBarsHeight); - this.moduleViewListBuilder.setHeaderPx( - actionBarHeight + CompatDisplay.dpToPixel(8)); + this.moduleViewListBuilder.setHeaderPx(Math.max(statusBarHeight, + combinedBarsHeight - CompatDisplay.dpToPixel(12))); this.moduleViewListBuilder.setFooterPx( bottomInset + this.searchCard.getHeight()); this.searchCard.setRadius(this.searchCard.getHeight() / 2F); diff --git a/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java b/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java index 7f5dd1d..aaa739f 100644 --- a/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java +++ b/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java @@ -230,11 +230,20 @@ public class CompatActivity extends AppCompatActivity { Log.e(TAG, "Failed to call getSupportActionBar", e); compatActionBar = null; // Allow fallback to builtin actionBar. } + View customView = null; if (compatActionBar != null) { - return compatActionBar.isShowing() ? compatActionBar.getHeight() : 0; + return compatActionBar.isShowing() || ((customView = + compatActionBar.getCustomView()) != null && + customView.getVisibility() == View.VISIBLE) ? + Math.max(customView == null ? 0 : customView.getHeight(), + compatActionBar.getHeight()) : 0; } else { android.app.ActionBar actionBar = this.getActionBar(); - return actionBar != null && actionBar.isShowing() ? actionBar.getHeight() : 0; + return actionBar != null && (actionBar.isShowing() || (( + customView = actionBar.getCustomView()) != null && + customView.getVisibility() == View.VISIBLE)) ? + Math.max(customView == null ? 0 : customView.getHeight(), + actionBar.getHeight()) : 0; } }