Make the Toolset activities compatible with Android 15 edge-to-edge enforcements (#10088)

This commit is contained in:
Oleg Derevenetz
2025-08-15 00:11:00 +08:00
committed by GitHub
parent bd1df625d4
commit 2ff75b1034
6 changed files with 39 additions and 3 deletions
@@ -1,6 +1,6 @@
/***************************************************************************
* fheroes2: https://github.com/ihhub/fheroes2 *
* Copyright (C) 2024 *
* Copyright (C) 2024 - 2025 *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -46,6 +46,9 @@ import android.widget.TextView;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
@@ -292,6 +295,14 @@ public final class MapFileManagerActivity extends AppCompatActivity
setContentView( R.layout.activity_map_file_manager );
ViewCompat.setOnApplyWindowInsetsListener( findViewById( R.id.activity_map_file_manager_root_rl ), ( v, insets ) -> {
final Insets paddingInsets = insets.getInsets( WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() );
v.setPadding( paddingInsets.left, paddingInsets.top, paddingInsets.right, paddingInsets.bottom );
return WindowInsetsCompat.CONSUMED;
} );
mapFileDir = new File( getExternalFilesDir( null ), "maps" );
mapFileListView = findViewById( R.id.activity_map_file_manager_map_file_list );
@@ -1,6 +1,6 @@
/***************************************************************************
* fheroes2: https://github.com/ihhub/fheroes2 *
* Copyright (C) 2023 - 2024 *
* Copyright (C) 2023 - 2025 *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -46,6 +46,9 @@ import android.widget.ToggleButton;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
@@ -291,6 +294,14 @@ public final class SaveFileManagerActivity extends AppCompatActivity
setContentView( R.layout.activity_save_file_manager );
ViewCompat.setOnApplyWindowInsetsListener( findViewById( R.id.activity_save_file_manager_root_rl ), ( v, insets ) -> {
final Insets paddingInsets = insets.getInsets( WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() );
v.setPadding( paddingInsets.left, paddingInsets.top, paddingInsets.right, paddingInsets.bottom );
return WindowInsetsCompat.CONSUMED;
} );
saveFileDir = new File( getExternalFilesDir( null ), "files" + File.separator + "save" );
filterStandardToggleButton = findViewById( R.id.activity_save_file_manager_filter_standard_btn );
@@ -1,6 +1,6 @@
/***************************************************************************
* fheroes2: https://github.com/ihhub/fheroes2 *
* Copyright (C) 2023 - 2024 *
* Copyright (C) 2023 - 2025 *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -38,6 +38,9 @@ import android.widget.TextView;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
@@ -144,6 +147,14 @@ public final class ToolsetActivity extends AppCompatActivity
setContentView( R.layout.activity_toolset );
ViewCompat.setOnApplyWindowInsetsListener( findViewById( R.id.activity_toolset_root_sv ), ( v, insets ) -> {
final Insets paddingInsets = insets.getInsets( WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.displayCutout() );
v.setPadding( paddingInsets.left, paddingInsets.top, paddingInsets.right, paddingInsets.bottom );
return WindowInsetsCompat.CONSUMED;
} );
viewModel = new ViewModelProvider( this ).get( ToolsetActivityViewModel.class );
viewModel.liveStatus.observe( this, this::updateUI );
}
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_map_file_manager_root_rl"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_save_file_manager_root_rl"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_toolset_root_sv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">