diff --git a/app/src/main/java/org/lineageos/twelve/ext/Configuration.kt b/app/src/main/java/org/lineageos/twelve/ext/Configuration.kt
new file mode 100644
index 0000000..e820d97
--- /dev/null
+++ b/app/src/main/java/org/lineageos/twelve/ext/Configuration.kt
@@ -0,0 +1,14 @@
+/*
+ * SPDX-FileCopyrightText: 2024 The LineageOS Project
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.lineageos.twelve.ext
+
+import android.content.res.Configuration
+
+/**
+ * Return whether the orientation is [Configuration.ORIENTATION_LANDSCAPE].
+ */
+val Configuration.isLandscape
+    get() = orientation == Configuration.ORIENTATION_LANDSCAPE
diff --git a/app/src/main/java/org/lineageos/twelve/ext/View.kt b/app/src/main/java/org/lineageos/twelve/ext/View.kt
index ed0d69f..843cd6c 100644
--- a/app/src/main/java/org/lineageos/twelve/ext/View.kt
+++ b/app/src/main/java/org/lineageos/twelve/ext/View.kt
@@ -6,10 +6,13 @@
 package org.lineageos.twelve.ext
 
 import android.view.View
+import android.view.ViewGroup
 import android.view.animation.AlphaAnimation
 import android.view.animation.AnimationSet
 import android.view.animation.TranslateAnimation
+import androidx.core.graphics.Insets
 import androidx.core.view.isVisible
+import androidx.core.view.updateLayoutParams
 
 fun View.slide() {
     if (isVisible) {
@@ -68,3 +71,69 @@
         }
     )
 }
+
+/**
+ * Return whether [View.getLayoutDirection] is [View.LAYOUT_DIRECTION_RTL].
+ */
+val View.isRtl: Boolean
+    get() = layoutDirection == View.LAYOUT_DIRECTION_RTL
+
+/**
+ * Updates the padding of the view based on the insets.
+ * Layout direction is taken into account.
+ *
+ * @param insets The insets to apply
+ * @param start Whether the start padding should be applied
+ * @param top Whether the top padding should be applied
+ * @param end Whether the end padding should be applied
+ * @param bottom Whether the bottom padding should be applied
+ */
+fun View.updatePadding(
+    insets: Insets,
+    start: Boolean = false,
+    top: Boolean = false,
+    end: Boolean = false,
+    bottom: Boolean = false
+) {
+    val (left, right) = when (isRtl) {
+        true -> end to start
+        false -> start to end
+    }
+
+    setPadding(
+        insets.left.takeIf { left } ?: paddingLeft,
+        insets.top.takeIf { top } ?: paddingTop,
+        insets.right.takeIf { right } ?: paddingRight,
+        insets.bottom.takeIf { bottom } ?: paddingBottom
+    )
+}
+
+/**
+ * Updates the margin of the view based on the insets.
+ * Layout direction is taken into account.
+ *
+ * @param insets The insets to apply
+ * @param start Whether the start padding should be applied
+ * @param top Whether the top padding should be applied
+ * @param end Whether the end padding should be applied
+ * @param bottom Whether the bottom padding should be applied
+ */
+fun View.updateMargin(
+    insets: Insets,
+    start: Boolean = false,
+    top: Boolean = false,
+    end: Boolean = false,
+    bottom: Boolean = false
+) {
+    val (left, right) = when (isRtl) {
+        true -> end to start
+        false -> start to end
+    }
+
+    updateLayoutParams<ViewGroup.MarginLayoutParams> {
+        leftMargin = insets.left.takeIf { left } ?: leftMargin
+        topMargin = insets.top.takeIf { top } ?: topMargin
+        rightMargin = insets.right.takeIf { right } ?: rightMargin
+        bottomMargin = insets.bottom.takeIf { bottom } ?: bottomMargin
+    }
+}
