Skip to content

Commit f4357a8

Browse files
committed
couple more widget related improvements
1 parent 93c4cd7 commit f4357a8

File tree

9 files changed

+21
-28
lines changed

9 files changed

+21
-28
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ android {
3737
}
3838

3939
dependencies {
40-
compile 'com.simplemobiletools:commons:2.35.6'
40+
compile 'com.simplemobiletools:commons:2.35.7'
4141
compile 'com.squareup:otto:1.3.8'
4242
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
4343
}

app/src/main/kotlin/com/simplemobiletools/flashlight/extensions/Context.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import android.appwidget.AppWidgetManager
44
import android.content.ComponentName
55
import android.content.Context
66
import android.content.Intent
7+
import android.graphics.Bitmap
8+
import android.graphics.Canvas
9+
import android.graphics.drawable.Drawable
710
import com.simplemobiletools.flashlight.helpers.Config
811
import com.simplemobiletools.flashlight.helpers.IS_ENABLED
912
import com.simplemobiletools.flashlight.helpers.MyWidgetProvider
@@ -21,3 +24,12 @@ fun Context.updateWidgets(isEnabled: Boolean) {
2124
}
2225
}
2326
}
27+
28+
fun Context.drawableToBitmap(drawable: Drawable): Bitmap {
29+
val size = (60 * resources.displayMetrics.density).toInt()
30+
val mutableBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888)
31+
val canvas = Canvas(mutableBitmap)
32+
drawable.setBounds(0, 0, size, size)
33+
drawable.draw(canvas)
34+
return mutableBitmap
35+
}

app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/MyWidgetProvider.kt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import android.content.Context
88
import android.content.Intent
99
import android.graphics.Bitmap
1010
import android.graphics.Color
11-
import android.graphics.PorterDuff
1211
import android.widget.RemoteViews
12+
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
1313
import com.simplemobiletools.flashlight.R
1414
import com.simplemobiletools.flashlight.extensions.config
15+
import com.simplemobiletools.flashlight.extensions.drawableToBitmap
1516

1617
class 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
}

app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/Utils.kt

Lines changed: 0 additions & 18 deletions
This file was deleted.
2.45 KB
Loading
3.07 KB
Loading
7.1 KB
Loading
7.69 KB
Loading

app/src/main/res/xml/widget_info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
android:initialLayout="@layout/widget"
66
android:minHeight="40dp"
77
android:minWidth="40dp"
8-
android:previewImage="@drawable/circles_small"/>
8+
android:previewImage="@drawable/img_widget_preview"/>

0 commit comments

Comments
 (0)