summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt1
-rw-r--r--core/java/android/view/WindowInsets.java16
2 files changed, 15 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt
index a82b8db7c816..9d909934ca9c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -55488,6 +55488,7 @@ package android.view {
method public boolean hasInsets();
method @Deprecated public boolean hasStableInsets();
method @Deprecated public boolean hasSystemWindowInsets();
+ method @NonNull public android.view.WindowInsets inset(@NonNull android.graphics.Insets);
method @NonNull public android.view.WindowInsets inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean isConsumed();
method public boolean isRound();
diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java
index 20fa5cab0464..fde184ccfb0e 100644
--- a/core/java/android/view/WindowInsets.java
+++ b/core/java/android/view/WindowInsets.java
@@ -858,11 +858,21 @@ public final class WindowInsets {
/**
* Returns a copy of this instance inset in the given directions.
*
+ * This is intended for dispatching insets to areas of the window that are smaller than the
+ * current area.
+ *
+ * <p>Example:
+ * <pre>
+ * childView.dispatchApplyWindowInsets(insets.inset(childMargins));
+ * </pre>
+ *
+ * @param insets the amount of insets to remove from all sides.
+ *
* @see #inset(int, int, int, int)
- * @hide
*/
@NonNull
- public WindowInsets inset(Insets insets) {
+ public WindowInsets inset(@NonNull Insets insets) {
+ Objects.requireNonNull(insets);
return inset(insets.left, insets.top, insets.right, insets.bottom);
}
@@ -884,6 +894,8 @@ public final class WindowInsets {
* @param bottom the amount of insets to remove from the bottom. Must be non-negative.
*
* @return the inset insets
+ *
+ * @see #inset(Insets)
*/
@NonNull
public WindowInsets inset(@IntRange(from = 0) int left, @IntRange(from = 0) int top,