Skip to content

Commit

Permalink
+ new ext
Browse files Browse the repository at this point in the history
+ version bump
  • Loading branch information
Artem committed May 15, 2021
1 parent 9d060b3 commit c482b42
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 6 deletions.
10 changes: 5 additions & 5 deletions config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ ext {
buildTools = "30.0.2"

//version
vCode = 3
vName = "1.0.3"
vCode = 4
vName = "1.0.4"

//gradle
gradleVersion = '4.1.2'

//kotlin
kotlinVersion = '1.4.30'
kotlinVersion = '1.4.31'
kotlinCoroutinesVersion = '1.3.9'
kotlixExtVersion = '1.3.2'
kotlinCoroutinesAndroidVersion = '1.4.2'
kotlinCoroutinesAndroidVersion = '1.4.3'

//android x
xVersion = '1.2.0'
xMaterial = '1.3.0'
xExif = '1.3.2'
xFragment = '1.3.1'
xFragment = '1.3.3'
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
package ru.wearemad.mad_base.collection

@JvmName("copyImmutableListAndReplaceItem")
fun <T> List<T>.copyListAndReplaceItem(
predicate: (T) -> Boolean,
duplicator: (T) -> T,
action: (T) -> Unit = {}
): List<T> {
val newList = this.toMutableList()
val itemPosition = newList.indexOfFirst(predicate)
if (itemPosition != -1) {
val copiedItem = duplicator(newList[itemPosition])
action(copiedItem)
newList.removeAt(itemPosition)
newList.add(itemPosition, copiedItem)
}
return newList
}

fun <T> MutableList<T>.copyListAndReplaceItem(
predicate: (T) -> Boolean,
duplicator: (T) -> T,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package ru.wearemad.mad_base.common_ext
import android.view.View
import androidx.annotation.ColorRes
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.google.android.material.bottomsheet.BottomSheetDialogFragment

fun Fragment.resColor(@ColorRes color: Int): Int = requireContext().resColor(color)
Expand All @@ -20,4 +21,26 @@ fun BottomSheetDialogFragment.setTopRoundedBgWithColor(
parentView.roundTopCorners(cornersDp)
parentView.setBackgroundColor(resColor(color))
}
}
}

val Fragment.isLastFragment: Boolean
get() {
var lastFragment = activity
?.supportFragmentManager
?.findLastFragment()
if (this == lastFragment) {
return true
}
var parent = this.parentFragment
while (parent != null && parent.isLastFragment) {
lastFragment = parent.childFragmentManager.findLastFragment()
if (this == lastFragment) {
return true
}
parent = parent.parentFragment
}
return false
}

private fun FragmentManager.findLastFragment(): Fragment? =
fragments.lastOrNull { it::class.java.simpleName != "SupportRequestManagerFragment" }
30 changes: 30 additions & 0 deletions mad-base/src/main/java/ru/wearemad/mad_base/common_ext/ViewExt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,15 @@ import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Outline
import android.view.View
import android.view.ViewGroup
import android.view.ViewOutlineProvider
import android.view.inputmethod.InputMethodManager
import androidx.annotation.ColorRes
import androidx.annotation.Px
import androidx.core.view.marginBottom
import androidx.core.view.marginLeft
import androidx.core.view.marginRight
import androidx.core.view.marginTop
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.shape.ShapeAppearanceModel

Expand Down Expand Up @@ -54,6 +60,30 @@ fun View.setRoundedBgWithColor(
}
}

fun View.updateMargins(
@Px top: Int = marginTop,
@Px bottom: Int = marginBottom,
@Px left: Int = marginLeft,
@Px right: Int = marginRight
) {
layoutParams = (layoutParams as? ViewGroup.MarginLayoutParams)?.apply {
setMargins(
left, top, right, bottom
)
}
}

fun View.updateAllMargins(
@Px margin: Int
) {
updateMargins(
top = margin,
bottom = margin,
left = margin,
right = margin,
)
}

fun View.hideKeyboard() {
val token = windowToken ?: return
val manager = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager?
Expand Down

0 comments on commit c482b42

Please sign in to comment.