1919import android .app .ActivityManager ;
2020import android .app .NotificationManager ;
2121import android .app .PendingIntent ;
22+ import android .app .NotificationChannel ;
23+ import android .app .TaskStackBuilder ;
24+ import android .app .Notification ;
25+ import android .graphics .Color ;
2226import android .content .BroadcastReceiver ;
2327import android .content .Context ;
2428import android .content .Intent ;
2529import android .os .Build ;
30+ import android .widget .Toast ;
2631
27- import androidx .core .app .NotificationCompat ;
2832import java .util .List ;
29- import javax .crypto .NullCipher ;
33+ import java .lang .reflect .AnnotatedElement ;
34+
3035import io .github .ratul .topactivity .utils .DatabaseUtil ;
3136import io .github .ratul .topactivity .R ;
3237import io .github .ratul .topactivity .ui .MainActivity ;
3338import io .github .ratul .topactivity .utils .WindowUtil ;
34- import io .github .ratul .topactivity .service .QuickSettingsService ;
35- import java .lang .reflect .AnnotatedElement ;
36- import android .app .NotificationChannel ;
37- import android .graphics .Color ;
38- import android .app .TaskStackBuilder ;
39- import android .widget .Toast ;
39+ import io .github .ratul .topactivity .service .QuickSettingsTileService ;
4040
4141/**
4242 * Created by Ratul on 04/05/2022.
4343 */
4444public class NotificationMonitor extends BroadcastReceiver {
4545 public static final int NOTIFICATION_ID = 696969691 ;
46- private static String CHANNEL_ID ;
4746 private static final int ACTION_STOP = 2 ;
4847 private static final String EXTRA_NOTIFICATION_ACTION = "command" ;
49- public static NotificationCompat .Builder builder ;
48+ public static Notification .Builder builder ;
5049 public static NotificationManager notifManager ;
5150
5251 public static void showNotification (Context context , boolean isPaused ) {
@@ -55,38 +54,40 @@ public static void showNotification(Context context, boolean isPaused) {
5554 }
5655 notifManager = (NotificationManager ) context .getSystemService (Context .NOTIFICATION_SERVICE );
5756
57+ Intent intent = new Intent (context , MainActivity .class );
58+ TaskStackBuilder stackBuilder = TaskStackBuilder .create (context );
59+ stackBuilder .addParentStack (MainActivity .class );
60+ stackBuilder .addNextIntent (intent );
61+ PendingIntent pIntent = stackBuilder .getPendingIntent (0 , PendingIntent .FLAG_UPDATE_CURRENT );
62+
5863 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ) {
59- CHANNEL_ID = context .getPackageName () + "_channel_007" ;
64+ String CHANNEL_ID = context .getPackageName () + "_channel_007" ;
6065 CharSequence name = "Activity Info" ;
6166
62- int importance = NotificationManager .IMPORTANCE_HIGH ;
63- NotificationChannel mChannel = new NotificationChannel (CHANNEL_ID , name , importance );
67+ NotificationChannel mChannel = new NotificationChannel (CHANNEL_ID , name , NotificationManager .IMPORTANCE_MAX );
6468 mChannel .setDescription ("Shows current activity info" );
6569 mChannel .enableLights (false );
6670 mChannel .enableVibration (false );
6771 mChannel .setShowBadge (false );
68- mChannel .setImportance (NotificationManager .IMPORTANCE_MAX );
6972 notifManager .createNotificationChannel (mChannel );
73+
74+ builder = new Notification .Builder (context , CHANNEL_ID );
75+ }
76+ else {
77+ builder = new Notification .Builder (context );
7078 }
7179
72- Intent intent = new Intent (context , MainActivity .class );
73- TaskStackBuilder stackBuilder = TaskStackBuilder .create (context );
74- stackBuilder .addParentStack (MainActivity .class );
75- stackBuilder .addNextIntent (intent );
76- PendingIntent pIntent = stackBuilder .getPendingIntent (0 , PendingIntent .FLAG_UPDATE_CURRENT );
80+ builder .setContentTitle (context .getString (R .string .is_running , context .getString (R .string .app_name )))
81+ .setSmallIcon (R .drawable .ic_shortcut )
82+ .setContentText (context .getString (R .string .touch_to_open ))
83+ .setColor (context .getColor (R .color .layerColor ))
84+ .setVisibility (Notification .VISIBILITY_SECRET )
85+ .setOngoing (!isPaused )
86+ .setAutoCancel (true )
87+ .setContentIntent (pIntent );
7788
78- builder = new NotificationCompat .Builder (context , CHANNEL_ID )
79- .setContentTitle (context .getString (R .string .is_running , context .getString (R .string .app_name )))
80- .setSmallIcon (R .drawable .ic_shortcut ).setPriority (NotificationCompat .PRIORITY_HIGH )
81- .setContentText (context .getString (R .string .touch_to_open ))
82- .setColor (context .getColor (R .color .layerColor ))
83- .setVisibility (NotificationCompat .VISIBILITY_SECRET )
84- .setPriority (NotificationCompat .PRIORITY_MAX )
85- .setOngoing (!isPaused )
86- .setContentIntent (pIntent );
87-
8889 builder .addAction (R .drawable .ic_launcher_foreground , context .getString (R .string .noti_action_stop ),
89- getPendingIntent (context , ACTION_STOP )).setContentIntent (pIntent );
90+ getPendingIntent (context , ACTION_STOP )).setContentIntent (pIntent );
9091
9192 notifManager .notify (NOTIFICATION_ID , builder .build ());
9293 }
@@ -110,6 +111,6 @@ public void onReceive(Context context, Intent intent) {
110111 cancelNotification (context );
111112 context .sendBroadcast (new Intent (MainActivity .ACTION_STATE_CHANGED ));
112113 }
113- context .sendBroadcast (new Intent (QuickSettingsService .ACTION_UPDATE_TITLE ));
114+ context .sendBroadcast (new Intent (QuickSettingsTileService .ACTION_UPDATE_TITLE ));
114115 }
115116}
0 commit comments