Skip to content

Commit d84bbeb

Browse files
authored
Merge pull request #10 from ratulhasanrahat/dev
Fix Notificarion Bugs & Improve other functionalities
2 parents 542bb10 + 99b63ce commit d84bbeb

File tree

9 files changed

+65
-164
lines changed

9 files changed

+65
-164
lines changed

app/build/bin/injected/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
</service>
120120

121121
<service
122-
android:name=".service.QuickSettingsService"
122+
android:name=".service.QuickSettingsTileService"
123123
android:enabled="@bool/quick_settings_availability"
124124
android:icon="@drawable/ic_launcher_foreground"
125125
android:label="@string/app_name"

app/build/bin/merged/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
android:resource="@xml/accessibility" />
9191
</service>
9292
<service
93-
android:name="io.github.ratul.topactivity.service.QuickSettingsService"
93+
android:name="io.github.ratul.topactivity.service.QuickSettingsTileService"
9494
android:enabled="@bool/quick_settings_availability"
9595
android:exported="true"
9696
android:icon="@drawable/ic_launcher_foreground"

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
android:resource="@xml/accessibility"/>
8888
</service>
8989
<service
90-
android:name=".service.QuickSettingsService"
90+
android:name=".service.QuickSettingsTileService"
9191
android:enabled="@bool/quick_settings_availability"
9292
android:icon="@drawable/ic_launcher_foreground"
9393
android:label="@string/app_name"

app/src/main/java/io/github/ratul/topactivity/App.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package io.github.ratul.topactivity;
1818

1919
import android.app.Application;
20-
import io.github.ratul.topactivity.R;
2120
import io.github.ratul.topactivity.model.CrashHandler;
2221
import android.content.Context;
2322
import java.io.File;

app/src/main/java/io/github/ratul/topactivity/model/NotificationMonitor.java

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,33 @@
1919
import android.app.ActivityManager;
2020
import android.app.NotificationManager;
2121
import android.app.PendingIntent;
22+
import android.app.NotificationChannel;
23+
import android.app.TaskStackBuilder;
24+
import android.app.Notification;
25+
import android.graphics.Color;
2226
import android.content.BroadcastReceiver;
2327
import android.content.Context;
2428
import android.content.Intent;
2529
import android.os.Build;
30+
import android.widget.Toast;
2631

27-
import androidx.core.app.NotificationCompat;
2832
import java.util.List;
29-
import javax.crypto.NullCipher;
33+
import java.lang.reflect.AnnotatedElement;
34+
3035
import io.github.ratul.topactivity.utils.DatabaseUtil;
3136
import io.github.ratul.topactivity.R;
3237
import io.github.ratul.topactivity.ui.MainActivity;
3338
import 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
*/
4444
public 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
}

app/src/main/java/io/github/ratul/topactivity/service/AccessibilityMonitoringService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,9 @@ public void onAccessibilityEvent(AccessibilityEvent event) {
7070
WindowUtil.show(this, act2, act1);
7171
}
7272
}
73-
73+
7474
@Override
7575
public void onInterrupt() {
76-
sInstance = null;
7776
}
7877

7978
@Override
@@ -87,7 +86,7 @@ public boolean onUnbind(Intent intent) {
8786
sInstance = null;
8887
WindowUtil.dismiss(this);
8988
NotificationMonitor.cancelNotification(this);
90-
sendBroadcast(new Intent(QuickSettingsService.ACTION_UPDATE_TITLE));
89+
sendBroadcast(new Intent(QuickSettingsTileService.ACTION_UPDATE_TITLE));
9190
return super.onUnbind(intent);
9291
}
9392
}

app/src/main/java/io/github/ratul/topactivity/service/QuickSettingsService.java

Lines changed: 0 additions & 119 deletions
This file was deleted.

app/src/main/java/io/github/ratul/topactivity/ui/BackgroundActivity.java

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,44 @@
3030
/**
3131
* Created by Ratul on 04/05/2022.
3232
*/
33-
@TargetApi(Build.VERSION_CODES.O)
33+
@TargetApi(Build.VERSION_CODES.O)
3434
public class BackgroundActivity extends AppCompatActivity {
3535
public static String STRING_COPY = "io.github.ratul.topactivity.COPY_STRING";
3636
public static String COPY_MSG = "io.github.ratul.topactivity.COPY_STRING_MSG";
37+
public static boolean isAlive;
3738

3839
@Override
3940
protected void onCreate(Bundle savedInstanceState) {
4041
super.onCreate(savedInstanceState);
42+
if (!getIntent().hasExtra(STRING_COPY))
43+
finish();
4144
String str = getIntent().getStringExtra(STRING_COPY);
42-
String msg = getIntent().getStringExtra(STRING_COPY);
45+
String msg = getIntent().getStringExtra(COPY_MSG);
46+
msg = (msg == null || msg.trim().isEmpty()) ? "Copied" : msg;
4347

4448
if (str != null) {
4549
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
4650
ClipData clip = new ClipData(ClipData.newPlainText("", str));
4751
clipboard.setPrimaryClip(clip);
48-
App.showToast(msg, 0);
4952
}
50-
finish();
53+
finish();
5154
}
55+
56+
@Override
57+
protected void onStop() {
58+
isAlive = false;
59+
super.onStop();
60+
}
61+
62+
@Override
63+
protected void onDestroy() {
64+
isAlive = false;
65+
super.onDestroy();
66+
}
67+
68+
@Override
69+
protected void onStart() {
70+
isAlive = true;
71+
super.onStart();
72+
}
5273
}

app/src/main/java/io/github/ratul/topactivity/utils/WindowUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import com.google.android.material.textview.MaterialTextView;
3737
import io.github.ratul.topactivity.ui.MainActivity;
3838
import io.github.ratul.topactivity.ui.BackgroundActivity;
39-
import io.github.ratul.topactivity.service.QuickSettingsService;
39+
import io.github.ratul.topactivity.service.QuickSettingsTileService;
4040
import io.github.ratul.topactivity.service.MonitoringService;
4141
import io.github.ratul.topactivity.service.AccessibilityMonitoringService;
4242
import android.content.pm.PackageInfo;
@@ -183,7 +183,7 @@ public static void show(Context context, String pkg, String clas) {
183183
NotificationMonitor.builder.build());
184184
}
185185
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
186-
QuickSettingsService.updateTile(context);
186+
QuickSettingsTileService.updateTile(context);
187187
}
188188
}
189189

@@ -195,7 +195,7 @@ public static void dismiss(Context context) {
195195
e.printStackTrace();
196196
}
197197
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
198-
QuickSettingsService.updateTile(context);
198+
QuickSettingsTileService.updateTile(context);
199199
}
200200
}
201201
}

0 commit comments

Comments
 (0)