Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 613fbacd authored by Michael W's avatar Michael W Committed by Nolen Johnson
Browse files

Updater: Fix header margin

* Instead of hardcoding it to 86dp (which was probably fine
  when we didn't have cutouts, calculate the required top margin
  by adding top inset and status bar height and applying it dynamically
* Increase compile and min sdk versions to avoid warnings - we compile
  using the build sdk (33) when building inline anyway

Change-Id: I80444e5a2247730f06af461a1cce7ac36c6c9631
parent c3093cb4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ android {

    defaultConfig {
        applicationId = "org.lineageos.updater"
        minSdk = 27
        minSdk = 30
        targetSdk = 33
        versionCode = 1
        versionName = "1.0"
+21 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.os.SystemProperties;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -41,6 +42,7 @@ import android.view.View;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
@@ -51,6 +53,7 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SwitchCompat;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.WindowInsetsCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.preference.PreferenceManager;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -146,6 +149,24 @@ public class UpdatesActivity extends UpdatesListActivity {
            if (actionBar != null) {
                actionBar.setDisplayShowTitleEnabled(false);
                actionBar.setDisplayHomeAsUpEnabled(true);
                final int statusBarHeight;
                TypedValue tv = new TypedValue();
                if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
                    statusBarHeight = TypedValue.complexToDimensionPixelSize(
                            tv.data, getResources().getDisplayMetrics());
                } else {
                    statusBarHeight = 0;
                }
                RelativeLayout headerContainer = findViewById(R.id.header_container);
                recyclerView.setOnApplyWindowInsetsListener((view, insets) -> {
                    int top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top;
                    CollapsingToolbarLayout.LayoutParams lp =
                            (CollapsingToolbarLayout.LayoutParams)
                                    headerContainer.getLayoutParams();
                    lp.topMargin = top + statusBarHeight;
                    headerContainer.setLayoutParams(lp);
                    return insets;
                });
            }
        }

+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
    android:baselineAligned="false">

    <RelativeLayout
        android:id="@+id/header_container"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@
            app:toolbarId="@id/action_bar">

            <RelativeLayout
                android:id="@+id/header_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="86dp"