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
This commit is contained in:
@@ -17,7 +17,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "org.lineageos.updater"
|
||||
minSdk = 27
|
||||
minSdk = 30
|
||||
targetSdk = 33
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user