plectrum

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 2012c9b1c2b25f1410b828b1b890456c4d64075b
parent 69d76cd2cba19e3915286fde9684bd9dfb7baac5
Author: Martin Ashby <martin@ashbysoft.com>
Date:   Sat,  4 Apr 2026 22:29:03 +0100

bump SDK version from 28 -> 36 (also had to bump minSdk from 15 -> 21)

'handle' edge-to-edge layout

Diffstat:
Mapp/build.gradle | 6+++---
Mapp/src/main/AndroidManifest.xml | 3++-
Mapp/src/main/java/com/github/cythara/MainActivity.java | 25+++++++++++++++++++++++++
Mapp/src/main/res/layout/activity_main.xml | 1+
4 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 28 + compileSdkVersion 36 defaultConfig { applicationId "com.github.cythara" - minSdkVersion 15 - targetSdkVersion 28 + minSdkVersion 21 + targetSdkVersion 36 versionCode 27 versionName "3.6" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml @@ -11,7 +11,8 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light.NoActionBar"> - <activity android:name=".MainActivity"> + <activity android:name=".MainActivity" + android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> diff --git a/app/src/main/java/com/github/cythara/MainActivity.java b/app/src/main/java/com/github/cythara/MainActivity.java @@ -4,12 +4,14 @@ import android.Manifest; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.graphics.Insets; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.view.ContextThemeWrapper; import android.view.Menu; import android.view.MenuItem; +import android.view.ViewGroup; import android.view.WindowManager.LayoutParams; import com.github.cythara.ListenerFragment.TaskCallbacks; @@ -29,6 +31,8 @@ import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.fragment.app.FragmentManager; public class MainActivity extends AppCompatActivity implements TaskCallbacks, @@ -94,6 +98,27 @@ public class MainActivity extends AppCompatActivity implements TaskCallbacks, myToolbar.setTitle(R.string.app_name); myToolbar.showOverflowMenu(); setSupportActionBar(myToolbar); + + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main_layout), (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).toPlatformInsets(); + // Apply the insets as a margin to the view. This solution sets only the + // bottom, left, and right dimensions, but you can apply whichever insets are + // appropriate to your layout. You can also update the view padding if that's + // more appropriate. + ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); + mlp.leftMargin = insets.left; + mlp.bottomMargin = insets.bottom; + mlp.rightMargin = insets.right; + mlp.topMargin = insets.top; + v.setLayoutParams(mlp); + + // Return CONSUMED if you don't want the window insets to keep passing + // down to descendant views. + return WindowInsetsCompat.CONSUMED; + }); + } } @Override diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml @@ -2,6 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"