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

Commit

Permalink
= extras : Fixed bug loading colors in Kitkat or lower (#97)
Browse files Browse the repository at this point in the history
  • Loading branch information
Javi Pacheco authored Nov 10, 2016
1 parent f15bd62 commit 03031c5
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
14 changes: 10 additions & 4 deletions macroid-extras/src/main/scala/macroid/extras/EditTextTweaks.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package macroid.extras

import android.content.Context
import android.text.{ Editable, TextWatcher }
import android.text.{Editable, InputType, TextWatcher}
import android.view.KeyEvent
import android.view.inputmethod.{ EditorInfo, InputMethodManager }
import android.widget.{ EditText, TextView }
import macroid.{ ContextWrapper, Tweak }
import android.view.inputmethod.{EditorInfo, InputMethodManager}
import android.widget.{EditText, TextView}
import macroid.{ContextWrapper, Tweak}

object EditTextTweaks {
type W = EditText
Expand Down Expand Up @@ -48,4 +48,10 @@ object EditTextTweaks {

def etHintColor(color: Int): Tweak[EditText] = Tweak[EditText](_.setHintTextColor(color))

def etImeOptionSearch(implicit contextWrapper: ContextWrapper): Tweak[EditText] =
Tweak[W](_.setImeOptions(EditorInfo.IME_ACTION_SEARCH))

def etSetInputTypeText(implicit contextWrapper: ContextWrapper): Tweak[EditText] =
Tweak[EditText](_.setInputType(InputType.TYPE_CLASS_TEXT))

}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package macroid.extras

import android.graphics.drawable.Drawable
import android.support.v4.content.ContextCompat
import macroid.ContextWrapper
import macroid.extras.DeviceVersion.Lollipop

object ResourcesExtras {

Expand All @@ -19,10 +19,10 @@ object ResourcesExtras {
def resGetBoolean(resource: String)(implicit c: ContextWrapper): Option[Boolean] =
resGetResource(resource, "boolean")((c, resourceId) c.bestAvailable.getResources.getBoolean(resourceId))

def resGetColor(resourceId: Int)(implicit c: ContextWrapper): Int = c.bestAvailable.getResources.getColor(resourceId)
def resGetColor(resourceId: Int)(implicit c: ContextWrapper): Int = ContextCompat.getColor(c.bestAvailable, resourceId)

def resGetColor(resource: String)(implicit c: ContextWrapper): Option[Int] =
resGetResource(resource, "color")((c, resourceId) c.bestAvailable.getResources.getColor(resourceId))
resGetResource(resource, "color")((c, resourceId) ContextCompat.getColor(c.bestAvailable, resourceId))

def resGetDimension(resourceId: Int)(implicit c: ContextWrapper): Float = c.bestAvailable.getResources.getDimension(resourceId)

Expand All @@ -34,10 +34,10 @@ object ResourcesExtras {
def resGetDimensionPixelSize(resource: String)(implicit c: ContextWrapper): Option[Int] =
resGetResource(resource, "dimen")((c, resourceId) c.bestAvailable.getResources.getDimensionPixelSize(resourceId))

def resGetDrawable(resourceId: Int)(implicit c: ContextWrapper): Drawable = getDrawable(resourceId)
def resGetDrawable(resourceId: Int)(implicit c: ContextWrapper): Drawable = ContextCompat.getDrawable(c.bestAvailable, resourceId)

def resGetDrawable(resource: String)(implicit c: ContextWrapper): Option[Drawable] =
resGetResource(resource, "drawable")((c, resourceId) getDrawable(resourceId)(c))
resGetResource(resource, "drawable")((c, resourceId) ContextCompat.getDrawable(c.bestAvailable, resourceId))

def resGetDrawableIdentifier(resource: String)(implicit c: ContextWrapper): Option[Int] =
resGetResource(resource, "drawable")((c, resourceId) resourceId)
Expand Down Expand Up @@ -70,11 +70,4 @@ object ResourcesExtras {
def resGetQuantityString(resourceId: Int, quantity: Int, formatArgs: AnyRef*)(implicit c: ContextWrapper): String =
c.bestAvailable.getResources.getQuantityString(resourceId, quantity, formatArgs: _*)

private[this] def getDrawable(resourceId: Int)(implicit c: ContextWrapper) =
Lollipop.ifSupportedThen {
c.bestAvailable.getResources.getDrawable(resourceId, c.bestAvailable.getTheme)
} getOrElse {
c.bestAvailable.getResources.getDrawable(resourceId)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import android.text.style.UnderlineSpan
import android.text.{ Spannable, SpannableString, Spanned }
import android.util.TypedValue
import android.widget.TextView
import macroid.extras.ResourcesExtras._
import macroid.{ ContextWrapper, Tweak }

object TextViewTweaks {
Expand All @@ -15,7 +16,7 @@ object TextViewTweaks {
def tvColor(color: Int): Tweak[W] = Tweak[W](_.setTextColor(color))

def tvColorResource(resColor: Int)(implicit context: ContextWrapper): Tweak[W] =
Tweak[W](_.setTextColor(context.application.getResources.getColor(resColor, null)))
Tweak[W](_.setTextColor(resGetColor(resColor)))

val tvBold: Tweak[W] = Tweak[W](x x.setTypeface(x.getTypeface, Typeface.BOLD))

Expand Down

0 comments on commit 03031c5

Please sign in to comment.