From b9b7c960631d938443f846d8b7f662bb09ca9ef9 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Wed, 18 Sep 2024 20:21:09 +0530 Subject: [PATCH] Support edge to edge Signed-off-by: Aayush Gupta --- .../seedvault/extensions/Activity.kt | 21 +++++++++++++++++++ .../seedvault/ui/BackupActivity.kt | 7 +++++++ .../ui/storage/PermissionGrantActivity.kt | 2 ++ 3 files changed, 30 insertions(+) create mode 100644 app/src/main/java/com/stevesoltys/seedvault/extensions/Activity.kt diff --git a/app/src/main/java/com/stevesoltys/seedvault/extensions/Activity.kt b/app/src/main/java/com/stevesoltys/seedvault/extensions/Activity.kt new file mode 100644 index 000000000..f3ea7ea5e --- /dev/null +++ b/app/src/main/java/com/stevesoltys/seedvault/extensions/Activity.kt @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2024 The Calyx Institute + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.stevesoltys.seedvault.extensions + +import android.app.Activity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat + +fun Activity.setupEdgeToEdge() { + val rootView = window.decorView.rootView + WindowCompat.setDecorFitsSystemWindows(window, false) + ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, windowInsets -> + val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(insets.left, insets.top, insets.right, insets.bottom) + WindowInsetsCompat.CONSUMED + } +} diff --git a/app/src/main/java/com/stevesoltys/seedvault/ui/BackupActivity.kt b/app/src/main/java/com/stevesoltys/seedvault/ui/BackupActivity.kt index 72114e87a..29e481487 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/ui/BackupActivity.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/ui/BackupActivity.kt @@ -5,14 +5,21 @@ package com.stevesoltys.seedvault.ui +import android.os.Bundle import android.view.MenuItem import androidx.annotation.CallSuper import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import com.stevesoltys.seedvault.R +import com.stevesoltys.seedvault.extensions.setupEdgeToEdge abstract class BackupActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + setupEdgeToEdge() + super.onCreate(savedInstanceState) + } + @CallSuper override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) { android.R.id.home -> { diff --git a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/PermissionGrantActivity.kt b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/PermissionGrantActivity.kt index e1a11d88d..f19f71013 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/ui/storage/PermissionGrantActivity.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/ui/storage/PermissionGrantActivity.kt @@ -8,10 +8,12 @@ package com.stevesoltys.seedvault.ui.storage import android.content.Intent.FLAG_GRANT_PREFIX_URI_PERMISSION import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import com.stevesoltys.seedvault.extensions.setupEdgeToEdge class PermissionGrantActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { + setupEdgeToEdge() super.onCreate(savedInstanceState) if (intent?.data != null) {