From fe9cdf7c5aa6f6d5a7b9dfbd2034ca61215bfe7b Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 29 Mar 2022 11:01:22 +0200 Subject: [PATCH] add FLAG_IMMUTABLE to PendingIntents --- .../activities/WidgetConfigureActivity.kt | 6 ++++-- .../calculator/helpers/MyWidgetProvider.kt | 15 ++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/WidgetConfigureActivity.kt index 9baa43ee..a2ea1fc0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/WidgetConfigureActivity.kt @@ -106,9 +106,11 @@ class WidgetConfigureActivity : SimpleActivity() { config_text_color.setFillWithStroke(mTextColor, Color.BLACK) config_save.setTextColor(mTextColor) - val viewIds = intArrayOf(R.id.btn_0, R.id.btn_1, R.id.btn_2, R.id.btn_3, R.id.btn_4, R.id.btn_5, R.id.btn_6, R.id.btn_7, R.id.btn_8, + val viewIds = intArrayOf( + R.id.btn_0, R.id.btn_1, R.id.btn_2, R.id.btn_3, R.id.btn_4, R.id.btn_5, R.id.btn_6, R.id.btn_7, R.id.btn_8, R.id.btn_9, R.id.btn_percent, R.id.btn_power, R.id.btn_root, R.id.btn_clear, R.id.btn_reset, R.id.btn_divide, R.id.btn_multiply, - R.id.btn_minus, R.id.btn_plus, R.id.btn_decimal, R.id.btn_equals) + R.id.btn_minus, R.id.btn_plus, R.id.btn_decimal, R.id.btn_equals + ) result.setTextColor(mTextColor) formula.setTextColor(mTextColor) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt index 81b1819e..ca1cadbf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt @@ -62,21 +62,23 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { private fun setupIntent(context: Context, views: RemoteViews, action: String, id: Int) { Intent(context, MyWidgetProvider::class.java).apply { this.action = action - val pendingIntent = PendingIntent.getBroadcast(context, 0, this, 0) + val pendingIntent = PendingIntent.getBroadcast(context, 0, this, PendingIntent.FLAG_IMMUTABLE) views.setOnClickPendingIntent(id, pendingIntent) } } private fun setupAppOpenIntent(context: Context, views: RemoteViews, id: Int) { val intent = Intent(context, MainActivity::class.java) - val pendingIntent = PendingIntent.getActivity(context, 0, intent, 0) + val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE) views.setOnClickPendingIntent(id, pendingIntent) } private fun updateTextColors(views: RemoteViews, color: Int) { - val viewIds = intArrayOf(R.id.formula, R.id.result, R.id.btn_0, R.id.btn_1, R.id.btn_2, R.id.btn_3, R.id.btn_4, R.id.btn_5, R.id.btn_6, + val viewIds = intArrayOf( + R.id.formula, R.id.result, R.id.btn_0, R.id.btn_1, R.id.btn_2, R.id.btn_3, R.id.btn_4, R.id.btn_5, R.id.btn_6, R.id.btn_7, R.id.btn_8, R.id.btn_9, R.id.btn_percent, R.id.btn_power, R.id.btn_root, R.id.btn_clear, R.id.btn_reset, R.id.btn_divide, - R.id.btn_multiply, R.id.btn_minus, R.id.btn_plus, R.id.btn_decimal, R.id.btn_equals) + R.id.btn_multiply, R.id.btn_minus, R.id.btn_plus, R.id.btn_decimal, R.id.btn_equals + ) for (i in viewIds) { views.setTextColor(i, color) @@ -85,7 +87,10 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { override fun onReceive(context: Context, intent: Intent) { when (val action = intent.action) { - DECIMAL, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, EQUALS, CLEAR, RESET, PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT -> myAction(action, context) + DECIMAL, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, EQUALS, CLEAR, RESET, PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT -> myAction( + action, + context + ) else -> super.onReceive(context, intent) } }