소스 검색

Cleanup some utils

Aidan Follestad 6 년 전
부모
커밋
b6c19405e8

+ 1 - 1
core/src/main/java/com/afollestad/materialdialogs/checkbox/DialogCheckboxExt.kt

@@ -24,8 +24,8 @@ import androidx.annotation.StringRes
 import com.afollestad.materialdialogs.MaterialDialog
 import com.afollestad.materialdialogs.R
 import com.afollestad.materialdialogs.assertOneSet
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 import com.afollestad.materialdialogs.utils.MDUtil.resolveString
-import com.afollestad.materialdialogs.utils.maybeSetTextColor
 
 typealias BooleanCallback = ((Boolean) -> Unit)?
 

+ 1 - 1
core/src/main/java/com/afollestad/materialdialogs/internal/list/MultiChoiceDialogAdapter.kt

@@ -30,9 +30,9 @@ import com.afollestad.materialdialogs.list.MultiChoiceListener
 import com.afollestad.materialdialogs.list.getItemSelector
 import com.afollestad.materialdialogs.utils.appendAll
 import com.afollestad.materialdialogs.utils.inflate
-import com.afollestad.materialdialogs.utils.maybeSetTextColor
 import com.afollestad.materialdialogs.utils.pullIndices
 import com.afollestad.materialdialogs.utils.removeAll
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 
 /** @author Aidan Follestad (afollestad) */
 internal class MultiChoiceViewHolder(

+ 1 - 1
core/src/main/java/com/afollestad/materialdialogs/internal/list/PlainListDialogAdapter.kt

@@ -26,7 +26,7 @@ import com.afollestad.materialdialogs.actions.hasActionButtons
 import com.afollestad.materialdialogs.list.ItemListener
 import com.afollestad.materialdialogs.list.getItemSelector
 import com.afollestad.materialdialogs.utils.inflate
-import com.afollestad.materialdialogs.utils.maybeSetTextColor
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 
 private const val KEY_ACTIVATED_INDEX = "activated_index"
 

+ 1 - 1
core/src/main/java/com/afollestad/materialdialogs/internal/list/SingleChoiceDialogAdapter.kt

@@ -29,7 +29,7 @@ import com.afollestad.materialdialogs.actions.setActionButtonEnabled
 import com.afollestad.materialdialogs.list.SingleChoiceListener
 import com.afollestad.materialdialogs.list.getItemSelector
 import com.afollestad.materialdialogs.utils.inflate
-import com.afollestad.materialdialogs.utils.maybeSetTextColor
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 
 /** @author Aidan Follestad (afollestad) */
 internal class SingleChoiceViewHolder(

+ 1 - 1
core/src/main/java/com/afollestad/materialdialogs/internal/main/DialogContentLayout.kt

@@ -35,9 +35,9 @@ import com.afollestad.materialdialogs.MaterialDialog
 import com.afollestad.materialdialogs.R
 import com.afollestad.materialdialogs.internal.button.DialogActionButtonLayout
 import com.afollestad.materialdialogs.internal.list.DialogRecyclerView
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 import com.afollestad.materialdialogs.utils.MDUtil.resolveString
 import com.afollestad.materialdialogs.utils.inflate
-import com.afollestad.materialdialogs.utils.maybeSetTextColor
 import com.afollestad.materialdialogs.utils.updatePadding
 
 /**

+ 4 - 4
core/src/main/java/com/afollestad/materialdialogs/utils/ArrayExt.kt

@@ -16,9 +16,9 @@
 package com.afollestad.materialdialogs.utils
 
 internal inline fun <reified T> List<T>.pullIndices(indices: IntArray): List<T> {
-  val result = mutableListOf<T>()
-  for (index in indices) {
-    result.add(this[index])
+  return mutableListOf<T>().apply {
+    for (index in indices) {
+      add(this@pullIndices[index])
+    }
   }
-  return result
 }

+ 0 - 13
core/src/main/java/com/afollestad/materialdialogs/utils/ColorExt.kt

@@ -15,8 +15,6 @@
  */
 package com.afollestad.materialdialogs.utils
 
-import android.content.Context
-import android.widget.TextView
 import androidx.annotation.AttrRes
 import androidx.annotation.ColorInt
 import androidx.annotation.ColorRes
@@ -27,14 +25,3 @@ import com.afollestad.materialdialogs.utils.MDUtil.resolveColor
   @ColorRes res: Int? = null,
   @AttrRes attr: Int? = null
 ): Int = resolveColor(windowContext, res, attr)
-
-internal fun TextView?.maybeSetTextColor(
-  context: Context,
-  @AttrRes attrRes: Int?
-) {
-  if (attrRes == null) return
-  val color = resolveColor(context, attr = attrRes)
-  if (color != 0) {
-    this?.setTextColor(color)
-  }
-}

+ 1 - 0
core/src/main/java/com/afollestad/materialdialogs/utils/DialogExt.kt

@@ -38,6 +38,7 @@ import com.afollestad.materialdialogs.checkbox.getCheckBoxPrompt
 import com.afollestad.materialdialogs.customview.CUSTOM_VIEW_NO_HORIZONTAL_PADDING
 import com.afollestad.materialdialogs.utils.MDUtil.resolveDrawable
 import com.afollestad.materialdialogs.utils.MDUtil.resolveString
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 
 internal fun MaterialDialog.setWindowConstraints() {
   window?.setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE) ?: return

+ 5 - 6
core/src/main/java/com/afollestad/materialdialogs/utils/IntArrayExt.kt

@@ -16,13 +16,12 @@
 package com.afollestad.materialdialogs.utils
 
 internal fun IntArray.appendAll(values: Collection<Int>): IntArray {
-  val mutable = this.toMutableList()
-  mutable.addAll(values)
-  return mutable.toIntArray()
+  return toMutableList()
+      .apply { addAll(values) }
+      .toIntArray()
 }
 
 internal fun IntArray.removeAll(values: Collection<Int>): IntArray {
-  val mutable = this.toMutableList()
-  mutable.removeAll { values.contains(it) }
-  return mutable.toIntArray()
+  return toMutableList().apply { removeAll { values.contains(it) } }
+      .toIntArray()
 }

+ 12 - 0
core/src/main/java/com/afollestad/materialdialogs/utils/MDUtil.kt

@@ -24,6 +24,7 @@ import android.text.Html
 import android.text.TextWatcher
 import android.view.View
 import android.widget.EditText
+import android.widget.TextView
 import androidx.annotation.AttrRes
 import androidx.annotation.ColorInt
 import androidx.annotation.ColorRes
@@ -143,4 +144,15 @@ object MDUtil {
       ) = callback.invoke(s)
     })
   }
+
+  @RestrictTo(LIBRARY_GROUP) fun TextView?.maybeSetTextColor(
+    context: Context,
+    @AttrRes attrRes: Int?
+  ) {
+    if (attrRes == null) return
+    val color = resolveColor(context, attr = attrRes)
+    if (color != 0) {
+      this?.setTextColor(color)
+    }
+  }
 }

+ 0 - 25
core/src/main/java/com/afollestad/materialdialogs/utils/ViewExt.kt

@@ -22,7 +22,6 @@ import android.view.Gravity
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.view.ViewGroup.MarginLayoutParams
 import android.view.ViewTreeObserver
 import android.widget.Button
 import android.widget.TextView
@@ -65,30 +64,6 @@ internal fun <T : View> T?.updatePadding(
   this?.setPadding(left, top, right, bottom)
 }
 
-internal fun <T : View> T.topMargin() = (this.layoutParams as MarginLayoutParams).topMargin
-
-internal fun <T : View> T.updateMargin(
-  left: Int = -1,
-  top: Int = -1,
-  right: Int = -1,
-  bottom: Int = -1
-) {
-  val layoutParams = this.layoutParams as MarginLayoutParams
-  if (left != -1) {
-    layoutParams.leftMargin = left
-  }
-  if (top != -1) {
-    layoutParams.topMargin = top
-  }
-  if (right != -1) {
-    layoutParams.rightMargin = right
-  }
-  if (bottom != -1) {
-    layoutParams.bottomMargin = bottom
-  }
-  this.layoutParams = layoutParams
-}
-
 internal inline fun <T : View> T.waitForLayout(crossinline f: T.() -> Unit) =
   viewTreeObserver.apply {
     addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {

+ 1 - 1
files/src/main/java/com/afollestad/materialdialogs/files/DialogFileChooserExt.kt

@@ -30,7 +30,7 @@ import com.afollestad.materialdialogs.customview.customView
 import com.afollestad.materialdialogs.customview.getCustomView
 import com.afollestad.materialdialogs.files.utilext.hasReadStoragePermission
 import com.afollestad.materialdialogs.files.utilext.hasWriteStoragePermission
-import com.afollestad.materialdialogs.files.utilext.maybeSetTextColor
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 import com.afollestad.materialdialogs.input.getInputField
 import com.afollestad.materialdialogs.input.input
 import com.afollestad.materialdialogs.internal.list.DialogRecyclerView

+ 1 - 1
files/src/main/java/com/afollestad/materialdialogs/files/DialogFolderChooserExt.kt

@@ -28,7 +28,7 @@ import com.afollestad.materialdialogs.customview.customView
 import com.afollestad.materialdialogs.customview.getCustomView
 import com.afollestad.materialdialogs.files.utilext.hasReadStoragePermission
 import com.afollestad.materialdialogs.files.utilext.hasWriteStoragePermission
-import com.afollestad.materialdialogs.files.utilext.maybeSetTextColor
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 import com.afollestad.materialdialogs.internal.list.DialogRecyclerView
 import java.io.File
 

+ 1 - 1
files/src/main/java/com/afollestad/materialdialogs/files/FileChooserAdapter.kt

@@ -32,7 +32,7 @@ import com.afollestad.materialdialogs.files.utilext.betterParent
 import com.afollestad.materialdialogs.files.utilext.friendlyName
 import com.afollestad.materialdialogs.files.utilext.hasParent
 import com.afollestad.materialdialogs.files.utilext.jumpOverEmulated
-import com.afollestad.materialdialogs.files.utilext.maybeSetTextColor
+import com.afollestad.materialdialogs.utils.MDUtil.maybeSetTextColor
 import com.afollestad.materialdialogs.files.utilext.setVisible
 import com.afollestad.materialdialogs.list.getItemSelector
 import com.afollestad.materialdialogs.utils.MDUtil.isColorDark

+ 0 - 32
files/src/main/java/com/afollestad/materialdialogs/files/utilext/ColorUtilExt.kt

@@ -1,32 +0,0 @@
-/**
- * Designed and developed by Aidan Follestad (@afollestad)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.afollestad.materialdialogs.files.utilext
-
-import android.content.Context
-import android.widget.TextView
-import androidx.annotation.AttrRes
-import com.afollestad.materialdialogs.utils.MDUtil.resolveColor
-
-internal fun TextView?.maybeSetTextColor(
-  context: Context,
-  @AttrRes attrRes: Int?
-) {
-  if (attrRes == null) return
-  val color = resolveColor(context, attr = attrRes)
-  if (color != 0) {
-    this?.setTextColor(color)
-  }
-}