@@ -8,10 +8,11 @@ import android.content.Context
88import android.content.Intent
99import android.graphics.Bitmap
1010import android.graphics.Color
11- import android.graphics.PorterDuff
1211import android.widget.RemoteViews
12+ import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
1313import com.simplemobiletools.flashlight.R
1414import com.simplemobiletools.flashlight.extensions.config
15+ import com.simplemobiletools.flashlight.extensions.drawableToBitmap
1516
1617class MyWidgetProvider : AppWidgetProvider () {
1718 override fun onUpdate (context : Context , appWidgetManager : AppWidgetManager , appWidgetIds : IntArray ) {
@@ -22,7 +23,6 @@ class MyWidgetProvider : AppWidgetProvider() {
2223 val selectedColor = context.config.widgetBgColor
2324 val alpha = Color .alpha(selectedColor)
2425 val bmp = getColoredCircles(context, Color .WHITE , alpha)
25-
2626 val intent = Intent (context, MyWidgetProvider ::class .java)
2727 intent.action = TOGGLE
2828
@@ -54,8 +54,9 @@ class MyWidgetProvider : AppWidgetProvider() {
5454 private fun toggleFlashlight (context : Context , intent : Intent ) {
5555 if (intent.extras?.containsKey(IS_ENABLED ) == true ) {
5656 val enable = intent.extras.getBoolean(IS_ENABLED )
57- val selectedColor = if (enable) context.config.widgetBgColor else Color .WHITE
58- val alpha = Color .alpha(selectedColor)
57+ val widgetBgColor = context.config.widgetBgColor
58+ val alpha = Color .alpha(widgetBgColor)
59+ val selectedColor = if (enable) widgetBgColor else Color .WHITE
5960 val bmp = getColoredCircles(context, selectedColor, alpha)
6061
6162 val appWidgetManager = AppWidgetManager .getInstance(context)
@@ -68,9 +69,7 @@ class MyWidgetProvider : AppWidgetProvider() {
6869 }
6970
7071 private fun getColoredCircles (context : Context , color : Int , alpha : Int ): Bitmap {
71- val drawable = context.resources.getDrawable(R .drawable.circles_small)
72- drawable.mutate().setColorFilter(color, PorterDuff .Mode .SRC_ATOP )
73- drawable.mutate().alpha = alpha
74- return Utils .drawableToBitmap(drawable)
72+ val drawable = context.resources.getColoredDrawableWithColor(R .drawable.circles_small, color, alpha)
73+ return context.drawableToBitmap(drawable)
7574 }
7675}
0 commit comments