From 3351238dce18bd7e6111dab4cacb1cc69800c2ec Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 29 May 2024 10:57:57 +0200 Subject: [PATCH] design tweaks --- Habitica/AndroidManifest.xml | 3 + Habitica/res/drawable-hdpi/limited.png | Bin 0 -> 422 bytes Habitica/res/drawable-mdpi/limited.png | Bin 0 -> 312 bytes Habitica/res/drawable-xhdpi/limited.png | Bin 0 -> 546 bytes Habitica/res/drawable-xxhdpi/limited.png | Bin 0 -> 803 bytes Habitica/res/drawable/pill_bg_purple_300.xml | 2 +- Habitica/res/drawable/shop_limited.xml | 14 ++ Habitica/res/drawable/shop_locked.xml | 2 +- Habitica/res/drawable/shop_locked_limited.xml | 2 +- Habitica/res/values/strings.xml | 1 + .../ComposeAvatarCustomizationFragment.kt | 8 +- .../ComposeAvatarEquipmentFragment.kt | 32 +++- .../ui/viewHolders/ShopItemViewHolder.kt | 9 +- .../habitica/ui/views/HabiticaIcons.java | 137 ------------------ .../ui/views/HabiticaIconsHelper.java | 77 ---------- version.properties | 2 +- 16 files changed, 57 insertions(+), 232 deletions(-) create mode 100644 Habitica/res/drawable-hdpi/limited.png create mode 100644 Habitica/res/drawable-mdpi/limited.png create mode 100644 Habitica/res/drawable-xhdpi/limited.png create mode 100644 Habitica/res/drawable-xxhdpi/limited.png create mode 100644 Habitica/res/drawable/shop_limited.xml diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 27d232215..ad0c1e7db 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -277,6 +277,9 @@ + a-aTU|=)21ueIyS8BsC@j zBI=_3MjNBe^u(OLnQu)kqO*+_s15`BmjoT`sut|;)&wO&G|#D~47&6^DZWlic^0ep zg{*od#-hU@CR>>MN&Kh?w?a7J1fmy#0p{AwjuG7^@+fj^n&xQo*h(V#pMl!5=njZK z^Bqnw-m$0!;%dIb8OD}HF{RsjtobMXvEO05-AF=DS?%15EHA%cnP< QoB#j-07*qoM6N<$f}5+hd;kCd literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-mdpi/limited.png b/Habitica/res/drawable-mdpi/limited.png new file mode 100644 index 0000000000000000000000000000000000000000..47bfbef16701a379fd3bf0cb1e561759218431bd GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa&H|6fVg?3oVGw3ym^DWND9BhG zQ)DvOEbMn^>i!*E;tQ8cxfpWD-*LOtdo7cn zEl?teEph#K(J#)0pC)9o-E4ZQDw|TagpD)%XolI;qe}0e++F?0;kLzV%LR|uChahO z-#u?1^F!fx<+jZ~SO1Q1IL_2&b~nc1+dN$}rAdut-y@9vu{_$Nn<^u0dZ2RgDGQsK zLJ^DEWcOXKX8C*nThE@oMGHgyP8B@bb0fm>RkQPLac-um77~fwnm~^+c)I$ztaD0e F0su5ka$W!c literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xhdpi/limited.png b/Habitica/res/drawable-xhdpi/limited.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c2a21bee8233f8d04ca7696825c9eb2ebb6da8 GIT binary patch literal 546 zcmV+-0^R+IP)7dWA&CK(Z+l>~PMLn{B{h=uW^Z7oj+nX_7lNg1#%{VnA zox*d}RwvOZgtug$kdJn)@cB}7L5a*rn}S25asCdv;%crWw$@>R*Ue~5<|ERnTEj@B zt`mj2Wrr_9xr6B-xn9}fTqqAP9ZurkvO^=37pMd0^y`jI6#r%h~q4fs6xJXm-X_zw@^rqZ#4K2Mx4 kuDRQ%euO@++nT5T4=6L7TFvPMrT_o{07*qoM6N<$g5c)xEC2ui literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xxhdpi/limited.png b/Habitica/res/drawable-xxhdpi/limited.png new file mode 100644 index 0000000000000000000000000000000000000000..408a9abae3d1044f308b4407c194dbe5643a576a GIT binary patch literal 803 zcmV+;1Kj+HP)prt00u%4(>V#Q~(`7Do9enk_wKiU`YjB2a1H3!!SrIuZ?H!&1lSE zN&EIM$pvHr5lebhB;QF~{9Q(2e2^UC^DoJ+D2g3S1tM6JtVoX7A8fNBso+tF1U-%i zPvT%Kkh2oo5quQbcL_tlJthhGcm&KHT{5gNZygRHE3Vx_B1sPqmmREuclDm+JwCf& zKTjkz*ucJ?>2%m9HPJrZp5zq`>kHd;-WdJzEINzBU~u#bnJ^L#>HuJRcfV=9MdR+p zcGlh!ZLKup6vvh(LbVn?P_GbrLi*t>eIaz>>4lt z+nLmk!J74EQU68pwWQf^OX*R71W0E)WJEiDyx`}wjAn6YrBPYJ zboe9ue+nmg>T8hk8>Yh++MDSf=1laP@R9>v$#8VUwxp}mF;QvS-(h-4Z9XwkC%jAt z2IE6&v(!d(C^ocFf512>XYg1oFcBYE!9*XuVNS7a-*fc_9~x0>rnn&anb2|2E`?P> zPiphPH^MLBM)1%BXb+4RiVrVxK{==}ML;(VIZUV2L9i_qn*~q3bo(&L26})443cNi zuik_3|6H-zoqKW=hddJ~=U$DV9|R7^uF_f=_U!y9`aT~~o@6fQG)nuMu41hyrnACf z9Z6-q)vbY7l*LqJAjy8INHo$$b#$_5OYWRxyf%<^Fc4@u!CFQ6yvR;8G~-f(v97T*~Gt*o$OmV4Ld)oDN6KEt%t2 zDCBm?^7=}h21CHU$2+6Z78&({$9qMv5ef6!-D3Xdn{^Js0tO&9$ilS&o<0ZHAH>eN h`afvH$$f6E;6J~d(xZVaCAa_p002ovPDHLkV1jVYW*Pth literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable/pill_bg_purple_300.xml b/Habitica/res/drawable/pill_bg_purple_300.xml index 5e2df8a8e..52a6171f6 100644 --- a/Habitica/res/drawable/pill_bg_purple_300.xml +++ b/Habitica/res/drawable/pill_bg_purple_300.xml @@ -3,4 +3,4 @@ - \ No newline at end of file + diff --git a/Habitica/res/drawable/shop_limited.xml b/Habitica/res/drawable/shop_limited.xml new file mode 100644 index 000000000..5ecffe1d0 --- /dev/null +++ b/Habitica/res/drawable/shop_limited.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Habitica/res/drawable/shop_locked.xml b/Habitica/res/drawable/shop_locked.xml index 59cfd6f02..22c200ab0 100644 --- a/Habitica/res/drawable/shop_locked.xml +++ b/Habitica/res/drawable/shop_locked.xml @@ -1,6 +1,6 @@ - + diff --git a/Habitica/res/drawable/shop_locked_limited.xml b/Habitica/res/drawable/shop_locked_limited.xml index 2005e5538..0cb35be30 100644 --- a/Habitica/res/drawable/shop_locked_limited.xml +++ b/Habitica/res/drawable/shop_locked_limited.xml @@ -1,6 +1,6 @@ - + diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index f9f8503a6..789459892 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -1526,6 +1526,7 @@ Rogues Warriors Mages + Customization Shop You diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarCustomizationFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarCustomizationFragment.kt index 82cac05fd..6e62cd836 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarCustomizationFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarCustomizationFragment.kt @@ -176,6 +176,8 @@ class ComposeAvatarCustomizationFragment : userRepository.useCustomization(type ?: "", category, activeCustomization ?: "") } else if (customization.identifier == activeCustomization && customization.type == "hair" && customization.category != "color") { userRepository.useCustomization(type ?: "", category, "0") + } else if (customization.identifier == activeCustomization && customization.type == "chair") { + userRepository.useCustomization(type ?: "", category, "none") } else if (customization.type == "background" && ownedCustomizations.value.firstOrNull { it.key == customization.identifier } == null) { userRepository.unlockPath(customization) userRepository.retrieveUser(false, true, true) @@ -357,7 +359,7 @@ class ComposeAvatarCustomizationFragment : "skin" -> prefs?.skin "shirt" -> prefs?.shirt "background" -> prefs?.background - "chair" -> prefs?.chair + "chair" -> prefs?.chair?.replace("chair_", "") "hair" -> when (this.category) { "bangs" -> prefs?.hair?.bangs.toString() @@ -519,7 +521,7 @@ private fun AvatarCustomizationView( } .background(colorResource(id = R.color.window_background)), ) { - if (item.identifier.isNullOrBlank() || item.identifier == "0") { + if (item.identifier.isNullOrBlank() || item.identifier == "0" || item.identifier == "none") { Image(painterResource(R.drawable.empty_slot), contentDescription = null, contentScale = ContentScale.None, modifier = Modifier.size(68.dp)) } else { PixelArtView( @@ -541,7 +543,7 @@ private fun AvatarCustomizationView( } } item(span = { GridItemSpan(3) }) { - EmptyFooter(type, items.size <= 1) + EmptyFooter(type, items.size > 1) } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt index ec43c511e..13b5fb2fa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt @@ -21,6 +21,7 @@ import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -38,8 +39,11 @@ import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.fragment.app.viewModels @@ -273,7 +277,7 @@ private fun AvatarEquipmentView( Image(painterResource(R.drawable.empty_slot), contentDescription = null, contentScale = ContentScale.None, modifier = Modifier.size(68.dp)) } else { PixelArtView( - imageName = "icon_" + item.key, + imageName = "shop_" + item.key, Modifier.size(68.dp), ) } @@ -291,7 +295,7 @@ private fun AvatarEquipmentView( } } item(span = { GridItemSpan(3) }) { - EmptyFooter(type, items.size <= 1) + EmptyFooter(type, items.size > 1) } } } @@ -318,13 +322,33 @@ internal fun EmptyFooter(type: String?, hasItems: Boolean) { stringResource(R.string.customizations_no_owned), fontSize = 16.sp, fontWeight = FontWeight.Bold, color = colorResource(R.color.text_secondary), modifier = Modifier.padding(bottom = 2.dp) ) - Text(stringResource(R.string.customization_shop_check_out), fontSize = 14.sp, color = colorResource(R.color.text_ternary), textAlign = TextAlign.Center) + Text(buildAnnotatedString { + val original = stringResource(id = R.string.customization_shop_check_out) + val customizationShopName = stringResource(id = R.string.customization_shop) + val first = original.substring(0, original.indexOf(customizationShopName)) + val second = original.substring(original.indexOf(customizationShopName) + customizationShopName.length, original.length) + append(first) + withStyle(SpanStyle(color = HabiticaTheme.colors.tintedUiMain)) { + append(customizationShopName) + } + append(second) + }, fontSize = 14.sp, fontWeight = FontWeight.Normal, color = colorResource(R.color.text_ternary), textAlign = TextAlign.Center) } else { Text( stringResource(R.string.looking_for_more), fontSize = 16.sp, fontWeight = FontWeight.Bold, color = colorResource(R.color.text_secondary), modifier = Modifier.padding(bottom = 2.dp) ) - Text(stringResource(R.string.customization_shop_more), fontSize = 14.sp, color = colorResource(R.color.text_ternary), textAlign = TextAlign.Center) + Text(buildAnnotatedString { + val original = stringResource(id = R.string.customization_shop_more) + val customizationShopName = stringResource(id = R.string.customization_shop) + val first = original.substring(0, original.indexOf(customizationShopName)) + val second = original.substring(original.indexOf(customizationShopName) + customizationShopName.length, original.length) + append(first) + withStyle(SpanStyle(color = HabiticaTheme.colors.tintedUiMain)) { + append(customizationShopName) + } + append(second) + }, fontSize = 14.sp, fontWeight = FontWeight.Normal, color = colorResource(R.color.text_ternary), textAlign = TextAlign.Center) } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt index 602c67ffa..f101319d4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt @@ -89,14 +89,9 @@ class ShopItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), Vi binding.itemDetailIndicator.visibility = View.VISIBLE } else if (isLimited) { if (numberOwned == 0) { - binding.itemDetailIndicator.background = - BitmapDrawable( - context.resources, - HabiticaIconsHelper.imageOfItemIndicatorLimited(), - ) + binding.itemDetailIndicator.background = AppCompatResources.getDrawable(context, R.drawable.shop_limited) } else { - binding.itemDetailIndicator.background = - AppCompatResources.getDrawable(context, R.drawable.pill_bg_purple_300) + binding.itemDetailIndicator.background = AppCompatResources.getDrawable(context, R.drawable.pill_bg_purple_300) } binding.itemDetailIndicator.visibility = View.VISIBLE } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIcons.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIcons.java index 358fdd5ee..0384edf2f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIcons.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIcons.java @@ -3522,143 +3522,6 @@ public class HabiticaIcons { canvas.restore(); } - - private static class CacheForItemIndicator { - private static final Paint paint = new Paint(); - private static final Paint shadowPaint = new Paint(); - private static final PaintCodeShadow shadow = new PaintCodeShadow(); - private static final RectF originalFrame = new RectF(0f, 0f, 28f, 28f); - private static final RectF resizedFrame = new RectF(); - private static final RectF oval2Rect = new RectF(); - private static final Path oval2Path = new Path(); - private static final RectF bezierRect = new RectF(); - private static final Path bezierPath = new Path(); - private static final RectF bezier2Rect = new RectF(); - private static final Path bezier2Path = new Path(); - private static final RectF symbolRect = new RectF(); - private static final RectF symbolTargetRect = new RectF(); - } - - public static void drawItemIndicator(Canvas canvas, int indicatorLocked, int lockColor, int indicatorLockedDark, int itemIndicatorColorBackground, boolean isLocked, boolean isLimited, boolean isDark) { - HabiticaIcons.drawItemIndicator(canvas, new RectF(0f, 0f, 28f, 28f), ResizingBehavior.AspectFit, indicatorLocked, lockColor, indicatorLockedDark, itemIndicatorColorBackground, isLocked, isLimited, isDark); - } - - public static void drawItemIndicator(Canvas canvas, RectF targetFrame, ResizingBehavior resizing, int indicatorLocked, int lockColor, int indicatorLockedDark, int itemIndicatorColorBackground, boolean isLocked, boolean isLimited, boolean isDark) { - // General Declarations - Paint paint = CacheForItemIndicator.paint; - - // Local Colors - int shadowTint = Color.argb(255, 26, 24, 29); - int fillColor39 = Color.argb(255, 189, 168, 255); - int strokeColor2 = Color.argb(255, 189, 168, 255); - int strokeColor = Color.argb(255, 97, 51, 180); - - // Local Shadows - PaintCodeShadow shadow = CacheForItemIndicator.shadow.get(PaintCodeColor.colorByChangingAlpha(shadowTint, (int) (Color.alpha(shadowTint) * 0.12f * 255f))); - - // Local Variables - int itemIndicatorColor = isLocked ? (isDark ? indicatorLockedDark : indicatorLocked) : (isLimited ? strokeColor : (isDark ? indicatorLockedDark : itemIndicatorColorBackground)); - - // Resize to Target Frame - canvas.save(); - RectF resizedFrame = CacheForItemIndicator.resizedFrame; - HabiticaIcons.resizingBehaviorApply(resizing, CacheForItemIndicator.originalFrame, targetFrame, resizedFrame); - canvas.translate(resizedFrame.left, resizedFrame.top); - canvas.scale(resizedFrame.width() / 28f, resizedFrame.height() / 28f); - - // Oval 2 - RectF oval2Rect = CacheForItemIndicator.oval2Rect; - oval2Rect.set(2f, 2f, 26f, 26f); - Path oval2Path = CacheForItemIndicator.oval2Path; - oval2Path.reset(); - oval2Path.addOval(oval2Rect, Path.Direction.CW); - - paint.reset(); - paint.setFlags(Paint.ANTI_ALIAS_FLAG); - canvas.saveLayerAlpha(null, 255, Canvas.ALL_SAVE_FLAG); - { - canvas.translate(shadow.dx, shadow.dy); - - Paint shadowPaint = CacheForItemIndicator.shadowPaint; - shadowPaint.set(paint); - shadow.setBlurOfPaint(shadowPaint); - canvas.drawPath(oval2Path, shadowPaint); - shadowPaint.setXfermode(GlobalCache.blendModeSourceIn); - canvas.saveLayer(null, shadowPaint, Canvas.ALL_SAVE_FLAG); - { - canvas.drawColor(shadow.color); - } - canvas.restore(); - } - canvas.restore(); - paint.setStyle(Paint.Style.FILL); - paint.setColor(itemIndicatorColor); - canvas.drawPath(oval2Path, paint); - - // Group 2 - if (isLimited) { - // Bezier - RectF bezierRect = CacheForItemIndicator.bezierRect; - bezierRect.set(6f, 6f, 22f, 22f); - Path bezierPath = CacheForItemIndicator.bezierPath; - bezierPath.reset(); - bezierPath.moveTo(14f, 6f); - bezierPath.cubicTo(9.58f, 6f, 6f, 9.58f, 6f, 14f); - bezierPath.cubicTo(6f, 18.42f, 9.58f, 22f, 14f, 22f); - bezierPath.cubicTo(18.42f, 22f, 22f, 18.42f, 22f, 14f); - bezierPath.cubicTo(22f, 9.58f, 18.42f, 6f, 14f, 6f); - bezierPath.close(); - bezierPath.moveTo(14f, 8f); - bezierPath.cubicTo(17.31f, 8f, 20f, 10.69f, 20f, 14f); - bezierPath.cubicTo(20f, 17.31f, 17.31f, 20f, 14f, 20f); - bezierPath.cubicTo(10.69f, 20f, 8f, 17.31f, 8f, 14f); - bezierPath.cubicTo(8f, 10.69f, 10.69f, 8f, 14f, 8f); - bezierPath.close(); - - paint.reset(); - paint.setFlags(Paint.ANTI_ALIAS_FLAG); - bezierPath.setFillType(Path.FillType.EVEN_ODD); - paint.setStyle(Paint.Style.FILL); - paint.setColor(fillColor39); - canvas.drawPath(bezierPath, paint); - - // Bezier 2 - RectF bezier2Rect = CacheForItemIndicator.bezier2Rect; - bezier2Rect.set(14f, 11f, 16f, 16f); - Path bezier2Path = CacheForItemIndicator.bezier2Path; - bezier2Path.reset(); - bezier2Path.moveTo(14f, 11f); - bezier2Path.lineTo(14f, 14.03f); - bezier2Path.lineTo(16f, 16f); - - paint.reset(); - paint.setFlags(Paint.ANTI_ALIAS_FLAG); - paint.setStrokeWidth(2f); - paint.setStrokeCap(Paint.Cap.ROUND); - paint.setStrokeMiter(10f); - canvas.save(); - paint.setStyle(Paint.Style.STROKE); - paint.setColor(strokeColor2); - canvas.drawPath(bezier2Path, paint); - canvas.restore(); - } - - // Symbol - if (isLocked) { - RectF symbolRect = CacheForItemIndicator.symbolRect; - symbolRect.set(9f, 7f, 19f, 19f); - canvas.save(); - canvas.clipRect(symbolRect); - canvas.translate(symbolRect.left, symbolRect.top); - RectF symbolTargetRect = CacheForItemIndicator.symbolTargetRect; - symbolTargetRect.set(0f, 0f, symbolRect.width(), symbolRect.height()); - HabiticaIcons.drawLocked(canvas, symbolTargetRect, ResizingBehavior.Stretch, lockColor); - canvas.restore(); - } - - canvas.restore(); - } - private static class CacheForWarriorLightBg { private static final RectF originalFrame = new RectF(0f, 0f, 32f, 32f); private static final RectF resizedFrame = new RectF(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIconsHelper.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIconsHelper.java index 25447c4fb..b056e2ca3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIconsHelper.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaIconsHelper.java @@ -289,83 +289,6 @@ public class HabiticaIconsHelper { return imageOfUnpinItem; } - public static Bitmap imageOfItemIndicatorNumber(boolean isLimited) { - int size = scaleSize(28); - Bitmap imageOfItemIndicatorNumber = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(imageOfItemIndicatorNumber); - canvas.scale(displayDensity, displayDensity); - int lightColor = Color.parseColor("#A5A1AD"); - int darkColor = Color.parseColor("#525252"); - if (isLimited) { - lightColor = Color.parseColor("#6133B4"); - darkColor = Color.parseColor("#6133B4"); - } - HabiticaIcons.drawItemIndicator(canvas, lightColor, Color.parseColor("#C3C0C7"), darkColor, lightColor, false, false, false); - - return imageOfItemIndicatorNumber; - } - - public static Bitmap imageOfItemIndicatorNumberDark(boolean isLimited) { - int size = scaleSize(28); - Bitmap imageOfItemIndicatorNumberDark = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(imageOfItemIndicatorNumberDark); - canvas.scale(displayDensity, displayDensity); - int lightColor = Color.parseColor("#A5A1AD"); - int darkColor = Color.parseColor("#525252"); - if (isLimited) { - lightColor = Color.parseColor("#6133B4"); - darkColor = Color.parseColor("#6133B4"); - } - HabiticaIcons.drawItemIndicator(canvas, lightColor, Color.parseColor("#C3C0C7"), lightColor, darkColor, false, false, true); - - return imageOfItemIndicatorNumberDark; - } - - public static Bitmap imageOfItemIndicatorLocked(boolean isLimited) { - int size = scaleSize(28); - Bitmap imageOfItemIndicatorLocked = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(imageOfItemIndicatorLocked); - canvas.scale(displayDensity, displayDensity); - int lightColor = Color.parseColor("#EDECEE"); - int darkColor = Color.parseColor("#525252"); - if (isLimited) { - lightColor = Color.parseColor("#6133B4"); - darkColor = Color.parseColor("#6133B4"); - } - HabiticaIcons.drawItemIndicator(canvas, lightColor, Color.parseColor("#C3C0C7"), lightColor, darkColor, true, false, false); - return imageOfItemIndicatorLocked; - } - - public static Bitmap imageOfItemIndicatorLockedDark(boolean isLimited) { - int size = scaleSize(28); - Bitmap imageOfItemIndicatorLockedDark = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(imageOfItemIndicatorLockedDark); - canvas.scale(displayDensity, displayDensity); - int lightColor = Color.parseColor("#EDECEE"); - int darkColor = Color.parseColor("#525252"); - if (isLimited) { - lightColor = Color.parseColor("#6133B4"); - darkColor = Color.parseColor("#6133B4"); - } - HabiticaIcons.drawItemIndicator(canvas, lightColor, Color.parseColor("#C3C0C7"), lightColor, darkColor, true, false, true); - return imageOfItemIndicatorLockedDark; - } - - private static Bitmap imageOfItemIndicatorLimited = null; - - public static Bitmap imageOfItemIndicatorLimited() { - if (imageOfItemIndicatorLimited != null) - return imageOfItemIndicatorLimited; - - int size = scaleSize(28); - imageOfItemIndicatorLimited = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(imageOfItemIndicatorLimited); - canvas.scale(displayDensity, displayDensity); - HabiticaIcons.drawItemIndicator(canvas, Color.parseColor("#A5A1AD"), Color.parseColor("#C3C0C7"), Color.parseColor("#A5A1AD"), Color.parseColor("#525252"), false, true, false); - - return imageOfItemIndicatorLimited; - } - private static Bitmap imageOfGem_36 = null; public static Bitmap imageOfGem_36() { diff --git a/version.properties b/version.properties index c730b3e2b..b21d927e8 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.3.7 -CODE=7741 \ No newline at end of file +CODE=7781 \ No newline at end of file