Skip to content

Commit 0e5f5e7

Browse files
committed
Add option to show uninstall button in notifications for newly installed apps
1 parent a57cc63 commit 0e5f5e7

File tree

12 files changed

+58
-1
lines changed

12 files changed

+58
-1
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<uses-permission-sdk-23 android:name="android.permission.QUERY_ALL_PACKAGES" />
2323
<uses-permission-sdk-23 android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
2424
<uses-permission-sdk-23 android:name="android.permission.POST_NOTIFICATIONS" />
25+
<uses-permission-sdk-23 android:name="android.permission.REQUEST_DELETE_PACKAGES" />
2526

2627
<application
2728
android:name=".AppNotifierApplication"

app/src/main/java/com/farmerbb/appnotifier/NotificationController.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@
1313
* limitations under the License.
1414
*/
1515

16+
@file:SuppressLint("NotificationPermission")
17+
1618
package com.farmerbb.appnotifier
1719

20+
import android.annotation.SuppressLint
1821
import android.app.NotificationManager
1922
import android.app.PendingIntent
2023
import android.content.Context
@@ -27,6 +30,7 @@ import android.graphics.drawable.BitmapDrawable
2730
import android.os.Build
2831
import androidx.core.app.NotificationCompat
2932
import androidx.core.content.ContextCompat
33+
import androidx.core.net.toUri
3034
import com.farmerbb.appnotifier.models.AppUpdateInfo
3135
import com.farmerbb.appnotifier.receivers.InstallNotificationDismissedReceiver
3236
import com.farmerbb.appnotifier.receivers.UpdateNotificationDismissedReceiver
@@ -197,6 +201,24 @@ class NotificationController @Inject constructor(
197201
.setGroup(APP_INSTALL_GROUP)
198202
.setPriority(NotificationCompat.PRIORITY_LOW)
199203

204+
if (pref.getBoolean("show_uninstall_button", false)) {
205+
@Suppress("DEPRECATION")
206+
val uninstallIntent = Intent(
207+
Intent.ACTION_UNINSTALL_PACKAGE,
208+
"package:$packageName".toUri(),
209+
)
210+
211+
val pendingUninstallIntent = PendingIntent.getActivity(context, code, uninstallIntent, FLAGS)
212+
213+
builder.addAction(
214+
NotificationCompat.Action(
215+
null,
216+
context.getString(R.string.uninstall),
217+
pendingUninstallIntent,
218+
)
219+
)
220+
}
221+
200222
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
201223
val groupBuilder = NotificationCompat.Builder(context, channelId)
202224
.setSmallIcon(R.drawable.app_updated)

app/src/main/res/values-de/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
<string name="about_content">Der AppNotifier stellt die nicht mehr unterstützten Benachrichtigungen des Play Store bei Installationen oder Updates von Apps wieder her.\n\n&#169; %d Braden Farmer\n\nKlicke hier, um auf Aktualisierungen zu prüfen oder eine Bewertung zu hinterlassen!</string>
5656

5757
<string name="notification_text_style">Textstil der Benachrichtigungen</string>
58+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
59+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
60+
<string name="uninstall">Uninstall</string>
5861

5962
<string-array name="notification_text_style_entries">
6063
<item>Original (Wie Play Store)</item>

app/src/main/res/values-fr/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
<string name="about_content">AppNotifier rétablit les notifications manquantes du Google Play Store lors d\'installations et de mises à jour d\'applications.\n\n&#169; %d Braden Farmer\n\nCliquez ici pour consulter une éventuelle mise à jour ou laisser un avis !</string>
5656

5757
<string name="notification_text_style">Style du texte des notifications</string>
58+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
59+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
60+
<string name="uninstall">Uninstall</string>
5861

5962
<string-array name="notification_text_style_entries">
6063
<item>Original (imite le Play Store)</item>

app/src/main/res/values-it/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ Clicca qui per controllare la presenza di aggiornamenti o per una recensione!"</
2424
<string name="notify_other_sources">Altre fonti (trasferimento locale)</string>
2525
<string name="notify_play_store">Google Play Store</string>
2626
<string name="notify_updates">Aggiornamenti di app esistenti</string>
27+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
28+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
2729
<string name="successfully_installed">Installato con successo</string>
30+
<string name="uninstall">Uninstall</string>
2831
<string name="update_sources">…quando installo o aggiorno app da</string>
2932
</resources>

app/src/main/res/values-ja/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
<string name="about_content">AppNotifier は廃止された Google Play のアプリのアップデートとインストールの通知を取り戻します。\n\n&#169; %d Braden Farmer\n\nここをクリックして更新の確認とレビューの投稿ができます!</string>
5656

5757
<string name="notification_text_style">通知テキストのスタイル</string>
58+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
59+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
60+
<string name="uninstall">Uninstall</string>
5861

5962
<string-array name="notification_text_style_entries">
6063
<item>オリジナル(Play ストアと同様)</item>

app/src/main/res/values-ko/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
<string name="about_content">해당 앱은 Google Play 스토어의 앱 설치, 업데이트 알림을 표시합니다.\n\n&#169; %d Braden Farmer\nTranslated by ChoiWooYoung \n여기를 눌러 앱 업데이트 및 평가를 해주세요!</string>
5656

5757
<string name="notification_text_style">알림 스타일</string>
58+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
59+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
60+
<string name="uninstall">Uninstall</string>
5861

5962
<string-array name="notification_text_style_entries">
6063
<item>기본 알림 (Play 스토어 모방)</item>

app/src/main/res/values-pl/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@
5757
<string name="about_content">AppNotifier przywraca powiadomienia o aktualizacjach oraz instalacjach z Sklepu Google Play.\n\n&#169; %d Braden Farmer\n\nKliknij tutaj, aby sprawdzić dostępność aktualizacji lub zostawić ocenę!</string>
5858

5959
<string name="notification_text_style">Styl tekstu powiadomienia</string>
60+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
61+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
62+
<string name="uninstall">Uninstall</string>
6063

6164
<string-array name="notification_text_style_entries">
6265
<item>Oryginalne (imituj Sklep Google Play)</item>

app/src/main/res/values-sv/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@
5252
<string name="about_content">AppNotifier återställer Google Plays saknade aviseringar för appuppdateringar och appinstallationer.\n\n&#169; %d Braden Farmer\n\nTryck här för att kontrollera om det finns någon uppdatering eller för att betygsätta appen!</string>
5353

5454
<string name="notification_text_style">Textstil på aviseringen</string>
55+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
56+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
57+
<string name="uninstall">Uninstall</string>
5558

5659
<string-array name="notification_text_style_entries">
5760
<item>Original (efterlikna Play Butik)</item>

app/src/main/res/values-tr/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ Güncellemeleri kontrol etmek ve bizi değerlendirmek için lütfen burayı tık
2424
<string name="notify_other_sources">Diğer tüm kaynaklardan</string>
2525
<string name="notify_play_store">Play Store mağazasından</string>
2626
<string name="notify_updates">Uygulama güncellemeleri</string>
27+
<string name="show_uninstall_button_summary">(for newly installed apps)</string>
28+
<string name="show_uninstall_button_title">Show uninstall button in notification</string>
2729
<string name="successfully_installed">Başarıyla yüklendi</string>
30+
<string name="uninstall">Uninstall</string>
2831
<string name="update_sources">Yükleme ve Güncelleme Kaynakları</string>
2932

3033
<plurals name="apps_updated_header">

0 commit comments

Comments
 (0)