Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Remove deprecated APIs #111

Merged
merged 1 commit into from
May 25, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion dbx/api/dbx.api
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ public class androidx/databinding/library/baseAdapters/BR {

public final class dev/chrisbanes/insetter/InsetterBindingAdaptersKt {
public static final fun applyInsetsFromBooleans (Landroid/view/View;ZZZZZZZZZZZZZZZZZ)V
public static final fun setEdgeToEdgeFlags (Landroid/view/View;Z)V
}

public class dev/chrisbanes/insetter/dbx/BR {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,8 @@

package dev.chrisbanes.insetter

import android.os.Build
import android.util.Log
import android.view.View
import androidx.databinding.BindingAdapter
import dev.chrisbanes.insetter.Insetter.Companion.setEdgeToEdgeSystemUiFlags

private const val TAG = "Insetter"

@BindingAdapter(
value = [
Expand Down Expand Up @@ -106,17 +101,3 @@ fun applyInsetsFromBooleans(
.consume(if (consumeWindowInsets) Insetter.CONSUME_ALL else Insetter.CONSUME_NONE)
.applyToView(v)
}

@BindingAdapter("layout_edgeToEdge")
@Deprecated(
"""The layout_edgeToEdge attribute is deprecated.
See Insetter.setEdgeToEdgeSystemUiFlags for more information."""
)
fun setEdgeToEdgeFlags(view: View, enabled: Boolean) {
if (Build.VERSION.SDK_INT >= 16) {
@Suppress("DEPRECATION")
setEdgeToEdgeSystemUiFlags(view, enabled)
} else {
Log.i(TAG, "The layout_edgeToEdge attribute only works on API 16+")
}
}
22 changes: 0 additions & 22 deletions library/api/library.api
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,12 @@ public final class dev/chrisbanes/insetter/Insetter {
public final fun applyInsetsToView (Landroid/view/View;Landroidx/core/view/WindowInsetsCompat;Ldev/chrisbanes/insetter/ViewState;)V
public final fun applyToView (Landroid/view/View;)V
public static final fun builder ()Ldev/chrisbanes/insetter/Insetter$Builder;
public static final fun setEdgeToEdgeSystemUiFlags (Landroid/view/View;Z)V
}

public final class dev/chrisbanes/insetter/Insetter$Builder {
public final fun applySystemGestureInsetsToMargin (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun applySystemGestureInsetsToPadding (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun applySystemWindowInsetsToMargin (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun applySystemWindowInsetsToPadding (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun applyToView (Landroid/view/View;)Ldev/chrisbanes/insetter/Insetter;
public final fun build ()Ldev/chrisbanes/insetter/Insetter;
public final fun consume (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun consumeSystemWindowInsets (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun consumeSystemWindowInsets (Z)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun margin (I)Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun margin (II)Ldev/chrisbanes/insetter/Insetter$Builder;
public static synthetic fun margin$default (Ldev/chrisbanes/insetter/Insetter$Builder;IIILjava/lang/Object;)Ldev/chrisbanes/insetter/Insetter$Builder;
Expand All @@ -39,7 +32,6 @@ public final class dev/chrisbanes/insetter/Insetter$Builder {

public final class dev/chrisbanes/insetter/Insetter$Companion {
public final fun builder ()Ldev/chrisbanes/insetter/Insetter$Builder;
public final fun setEdgeToEdgeSystemUiFlags (Landroid/view/View;Z)V
}

public abstract interface annotation class dev/chrisbanes/insetter/Insetter$ConsumeOptions : java/lang/annotation/Annotation {
Expand Down Expand Up @@ -68,20 +60,6 @@ public final class dev/chrisbanes/insetter/InsetterDslKt {
public abstract interface annotation class dev/chrisbanes/insetter/InsetterDslMarker : java/lang/annotation/Annotation {
}

public final class dev/chrisbanes/insetter/InsetterKtxKt {
public static final fun applySystemGestureInsetsToMargin (Landroid/view/View;ZZZZZ)Ldev/chrisbanes/insetter/Insetter;
public static synthetic fun applySystemGestureInsetsToMargin$default (Landroid/view/View;ZZZZZILjava/lang/Object;)Ldev/chrisbanes/insetter/Insetter;
public static final fun applySystemGestureInsetsToPadding (Landroid/view/View;ZZZZZ)Ldev/chrisbanes/insetter/Insetter;
public static synthetic fun applySystemGestureInsetsToPadding$default (Landroid/view/View;ZZZZZILjava/lang/Object;)Ldev/chrisbanes/insetter/Insetter;
public static final fun applySystemWindowInsetsToMargin (Landroid/view/View;ZZZZZ)Ldev/chrisbanes/insetter/Insetter;
public static synthetic fun applySystemWindowInsetsToMargin$default (Landroid/view/View;ZZZZZILjava/lang/Object;)Ldev/chrisbanes/insetter/Insetter;
public static final fun applySystemWindowInsetsToPadding (Landroid/view/View;ZZZZZ)Ldev/chrisbanes/insetter/Insetter;
public static synthetic fun applySystemWindowInsetsToPadding$default (Landroid/view/View;ZZZZZILjava/lang/Object;)Ldev/chrisbanes/insetter/Insetter;
public static final fun doOnApplyWindowInsets (Landroid/view/View;Lkotlin/jvm/functions/Function3;)Ldev/chrisbanes/insetter/Insetter;
public static final fun setEdgeToEdgeSystemUiFlags (Landroid/view/View;Z)V
public static synthetic fun setEdgeToEdgeSystemUiFlags$default (Landroid/view/View;ZILjava/lang/Object;)V
}

public abstract interface class dev/chrisbanes/insetter/OnApplyInsetsListener {
public abstract fun onApplyInsets (Landroid/view/View;Landroidx/core/view/WindowInsetsCompat;Ldev/chrisbanes/insetter/ViewState;)V
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,14 @@
package dev.chrisbanes.insetter

import android.app.Activity
import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.widget.FrameLayout
import android.widget.ImageView
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.test.annotation.UiThreadTest
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.filters.SdkSuppress
import dev.chrisbanes.insetter.Insetter.Companion.EDGE_TO_EDGE_FLAGS
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
Expand Down Expand Up @@ -140,49 +138,18 @@ class InsetterTestCase {
assertNotNull(resultInsets)
}

@Test
@UiThreadTest
@Suppress("DEPRECATION")
fun test_setEdgeToEdgeSystemUiFlags() {
addViewToContainer(setEdgeToEdgeFlags = false)

Insetter.setEdgeToEdgeSystemUiFlags(view, true)
assertEquals(EDGE_TO_EDGE_FLAGS, view.systemUiVisibility and EDGE_TO_EDGE_FLAGS)

Insetter.setEdgeToEdgeSystemUiFlags(view, false)
assertEquals(0, view.systemUiVisibility and EDGE_TO_EDGE_FLAGS)
}

@Test
@UiThreadTest
@Suppress("DEPRECATION")
fun test_setEdgeToEdgeSystemUiFlags_doesntOverwrite() {
addViewToContainer(setEdgeToEdgeFlags = false)

// Set some other system-ui flags not related to layout
val otherFlags = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
view.systemUiVisibility = otherFlags

Insetter.setEdgeToEdgeSystemUiFlags(view, true)

assertEquals(EDGE_TO_EDGE_FLAGS, view.systemUiVisibility and EDGE_TO_EDGE_FLAGS)
assertEquals(otherFlags, view.systemUiVisibility and otherFlags)
}

private fun addViewToContainer(
lp: ViewGroup.LayoutParams? = null,
setEdgeToEdgeFlags: Boolean = true
fitSystemWindows: Boolean = true
) {
rule.scenario.onActivity {
rule.scenario.onActivity { activity ->
if (lp != null) {
container.addView(view, lp)
} else {
container.addView(view)
}
if (setEdgeToEdgeFlags) {
@Suppress("DEPRECATION")
view.systemUiVisibility = EDGE_TO_EDGE_FLAGS
}

WindowCompat.setDecorFitsSystemWindows(activity.window, !fitSystemWindows)
}
}
}
107 changes: 0 additions & 107 deletions library/src/main/java/dev/chrisbanes/insetter/Insetter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,11 @@

package dev.chrisbanes.insetter

import android.annotation.SuppressLint
import android.os.Build
import android.util.Log
import android.view.View
import android.view.ViewGroup.MarginLayoutParams
import androidx.annotation.IntDef
import androidx.annotation.RequiresApi
import androidx.core.graphics.Insets
import androidx.core.view.OnApplyWindowInsetsListener
import androidx.core.view.ViewCompat
Expand Down Expand Up @@ -238,76 +236,6 @@ class Insetter private constructor(builder: Builder) {
*/
fun marginBottom(insetType: Int): Builder = margin(insetType, Side.BOTTOM)

/**
* @param sides specifies the sides on which the system window insets should be applied
* to the padding. Ignored if [Insetter.onApplyInsetsListener] is set.
* @see Insetter.applyInsetsToView
*/
@Deprecated(
"Replaced with padding()",
ReplaceWith(
"padding(windowInsetTypesOf(ime = true, statusBars = true, navigationBars = true), sides)",
"dev.chrisbanes.insetter.windowInsetTypesOf"
)
)
fun applySystemWindowInsetsToPadding(@Sides sides: Int): Builder {
return padding(
windowInsetTypesOf(ime = true, statusBars = true, navigationBars = true),
sides
)
}

/**
* @param sides specifies the sides on which the system window insets should be applied
* to the margin. Ignored if [Insetter.onApplyInsetsListener] is set.
* @see Insetter.applyInsetsToView
*/
@Deprecated(
"Replaced with margin()",
ReplaceWith(
"margin(windowInsetTypesOf(ime = true, statusBars = true, navigationBars = true), sides)",
"dev.chrisbanes.insetter.windowInsetTypesOf"
)
)
fun applySystemWindowInsetsToMargin(@Sides sides: Int): Builder {
return margin(
windowInsetTypesOf(ime = true, statusBars = true, navigationBars = true),
sides
)
}

/**
* @param sides specifies the sides on which the system gesture insets should be applied
* to the padding. Ignored if [Insetter.onApplyInsetsListener] is set.
* @see Insetter.applyInsetsToView
*/
@Deprecated(
"Replaced with padding()",
ReplaceWith(
"padding(windowInsetTypesOf(systemGestures = true), sides)",
"dev.chrisbanes.insetter.windowInsetTypesOf"
)
)
fun applySystemGestureInsetsToPadding(@Sides sides: Int): Builder {
return padding(windowInsetTypesOf(systemGestures = true), sides)
}

/**
* @param sides specifies the sides on which the system gesture insets should be applied
* to the margin. Ignored if [Insetter.onApplyInsetsListener] is set.
* @see Insetter.applyInsetsToView
*/
@Deprecated(
"Replaced with margin()",
ReplaceWith(
"margin(windowInsetTypesOf(systemGestures = true), sides)",
"dev.chrisbanes.insetter.windowInsetTypesOf"
)
)
fun applySystemGestureInsetsToMargin(@Sides sides: Int): Builder {
return margin(windowInsetTypesOf(systemGestures = true), sides)
}

/**
* @param consume how the window insets should be consumed.
* @see ConsumeOptions
Expand All @@ -317,17 +245,6 @@ class Insetter private constructor(builder: Builder) {
return this
}

@Deprecated(
"Migrate to consume()",
ReplaceWith("consume(if (consumeSystemWindowInsets) Insetter.CONSUME_ALL else Insetter.CONSUME_NONE)")
)
fun consumeSystemWindowInsets(consumeSystemWindowInsets: Boolean): Builder = consume(
if (consumeSystemWindowInsets) CONSUME_ALL else CONSUME_NONE
)

@Deprecated("Migrate to consume()", ReplaceWith("consume(consume)"))
fun consumeSystemWindowInsets(@ConsumeOptions consume: Int): Builder = consume(consume)

/**
* Builds the [Insetter] instance and sets it as an
* [OnApplyWindowInsetsListener][androidx.core.view.OnApplyWindowInsetsListener] on
Expand Down Expand Up @@ -488,30 +405,6 @@ class Insetter private constructor(builder: Builder) {
@JvmStatic
fun builder(): Builder = Builder()

/**
* Set this view's system-ui visibility, with the flags required to be laid out 'edge-to-edge'.
*
* @param enabled true if the view should request to be laid out 'edge-to-edge', false if not
* @see View.setSystemUiVisibility
*/
@JvmStatic
@RequiresApi(api = 16)
@Deprecated("Use WindowCompat.setDecorFitsSystemWindows() instead")
fun setEdgeToEdgeSystemUiFlags(view: View, enabled: Boolean) {
@Suppress("DEPRECATION")
view.systemUiVisibility = view.systemUiVisibility and
EDGE_TO_EDGE_FLAGS.inv() or
if (enabled) EDGE_TO_EDGE_FLAGS else 0
}

@Suppress("DEPRECATION")
@SuppressLint("InlinedApi")
internal const val EDGE_TO_EDGE_FLAGS = (
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
)

private const val TAG = "Insetter"
}
}
Expand Down
Loading