mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2025-02-09 01:06:48 +01:00
Move battery saving notification to original method
This commit is contained in:
parent
ef752e19e9
commit
43bde91dab
@ -32,8 +32,6 @@ import java.io.IOException;
|
|||||||
import static android.content.pm.ApplicationInfo.FLAG_SYSTEM;
|
import static android.content.pm.ApplicationInfo.FLAG_SYSTEM;
|
||||||
import static android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
|
import static android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
|
||||||
|
|
||||||
import org.microg.gms.common.StatusNotification;
|
|
||||||
|
|
||||||
public class AuthManager {
|
public class AuthManager {
|
||||||
|
|
||||||
private static final String TAG = "GmsAuthManager";
|
private static final String TAG = "GmsAuthManager";
|
||||||
@ -52,9 +50,6 @@ public class AuthManager {
|
|||||||
private String accountType;
|
private String accountType;
|
||||||
|
|
||||||
public AuthManager(Context context, String accountName, String packageName, String service) {
|
public AuthManager(Context context, String accountName, String packageName, String service) {
|
||||||
|
|
||||||
StatusNotification.Notify(context);
|
|
||||||
|
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.accountName = accountName;
|
this.accountName = accountName;
|
||||||
if (packageName.contains("youtube.music")) {
|
if (packageName.contains("youtube.music")) {
|
||||||
|
@ -4,6 +4,7 @@ import android.app.ActivityManager;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationChannel;
|
import android.app.NotificationChannel;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
|
import android.app.PendingIntent;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -11,9 +12,13 @@ import android.content.ContextWrapper;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
|
|
||||||
|
import com.mgoogle.android.gms.R;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -65,15 +70,28 @@ public class ForegroundServiceContext extends ContextWrapper {
|
|||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||||
private static Notification buildForegroundNotification(Context context) {
|
private static Notification buildForegroundNotification(Context context) {
|
||||||
NotificationChannel channel = new NotificationChannel("foreground-service", "Foreground Service", NotificationManager.IMPORTANCE_NONE);
|
Intent notificationIntent = new Intent();
|
||||||
channel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);
|
notificationIntent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
|
||||||
channel.setShowBadge(false);
|
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
channel.setVibrationPattern(new long[0]);
|
PendingIntent notificationPendingIntent = PendingIntent.getActivity(context,
|
||||||
context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
|
0,
|
||||||
return new Notification.Builder(context, channel.getId())
|
notificationIntent,
|
||||||
|
0);
|
||||||
|
|
||||||
|
NotificationChannel Channel = new NotificationChannel("foreground-service",
|
||||||
|
context.getResources().getString(R.string.notification_service_name),
|
||||||
|
NotificationManager.IMPORTANCE_LOW);
|
||||||
|
Channel.setShowBadge(false);
|
||||||
|
Channel.setLockscreenVisibility(0);
|
||||||
|
Channel.setVibrationPattern(new long[0]);
|
||||||
|
context.getSystemService(NotificationManager.class).createNotificationChannel(Channel);
|
||||||
|
return new NotificationCompat.Builder(context, "foreground-service")
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setContentTitle("Running in background")
|
.setContentIntent(notificationPendingIntent)
|
||||||
//.setSmallIcon(R.drawable.ic_cloud_bell)
|
.setSmallIcon(R.drawable.ic_foreground_notification)
|
||||||
|
.setStyle(new NotificationCompat.BigTextStyle()
|
||||||
|
.setBigContentTitle(context.getResources().getString(R.string.notification_service_title))
|
||||||
|
.bigText(context.getResources().getString(R.string.notification_service_content)))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,92 +0,0 @@
|
|||||||
package org.microg.gms.common;
|
|
||||||
|
|
||||||
import android.app.Notification;
|
|
||||||
import android.app.NotificationChannel;
|
|
||||||
import android.app.NotificationManager;
|
|
||||||
import android.app.PendingIntent;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Build;
|
|
||||||
import android.os.PowerManager;
|
|
||||||
import android.provider.Settings;
|
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
import androidx.core.app.NotificationManagerCompat;
|
|
||||||
|
|
||||||
import com.mgoogle.android.gms.R;
|
|
||||||
|
|
||||||
public class StatusNotification {
|
|
||||||
|
|
||||||
private static Notification Notification;
|
|
||||||
private static int notificationID = 1;
|
|
||||||
private static String notificationChannelID = "foreground-service";
|
|
||||||
private static boolean notificationExists = false;
|
|
||||||
|
|
||||||
public static void Notify(Context context) {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
||||||
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
|
||||||
|
|
||||||
boolean isChannelEnabled = true;
|
|
||||||
|
|
||||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
|
||||||
NotificationChannel notificationChannel = notificationManager.getNotificationChannel(notificationChannelID);
|
|
||||||
if (notificationChannel != null
|
|
||||||
&& notificationChannel.getImportance() == NotificationManager.IMPORTANCE_NONE) {
|
|
||||||
isChannelEnabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NotificationManagerCompat.from(context.getApplicationContext()).areNotificationsEnabled()
|
|
||||||
&& isChannelEnabled) {
|
|
||||||
if (!powerManager.isIgnoringBatteryOptimizations(context.getPackageName())) {
|
|
||||||
if (!notificationExists) {
|
|
||||||
buildStatusNotification(context);
|
|
||||||
} else {
|
|
||||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
|
||||||
notificationManager.notify(notificationID, Notification);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (notificationExists) {
|
|
||||||
((NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)).cancel(notificationID);
|
|
||||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
((NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)).deleteNotificationChannel(notificationChannelID);
|
|
||||||
}
|
|
||||||
notificationExists = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void buildStatusNotification(Context context) {
|
|
||||||
Intent notificationIntent = new Intent();
|
|
||||||
notificationIntent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
|
|
||||||
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
||||||
PendingIntent notificationPendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
|
|
||||||
|
|
||||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
NotificationChannel Channel = new NotificationChannel(notificationChannelID,
|
|
||||||
context.getResources().getString(R.string.notification_service_name),
|
|
||||||
NotificationManager.IMPORTANCE_LOW);
|
|
||||||
Channel.setShowBadge(false);
|
|
||||||
Channel.setLockscreenVisibility(0);
|
|
||||||
Channel.setVibrationPattern(new long[0]);
|
|
||||||
context.getSystemService(NotificationManager.class).createNotificationChannel(Channel);
|
|
||||||
}
|
|
||||||
Notification = new NotificationCompat.Builder(context, notificationChannelID)
|
|
||||||
.setOngoing(true)
|
|
||||||
.setContentIntent(notificationPendingIntent)
|
|
||||||
.setSmallIcon(R.drawable.ic_foreground_notification)
|
|
||||||
.setStyle(new NotificationCompat.BigTextStyle()
|
|
||||||
.setBigContentTitle(context.getResources().getString(R.string.notification_service_title))
|
|
||||||
.bigText(context.getResources().getString(R.string.notification_service_content)))
|
|
||||||
.build();
|
|
||||||
|
|
||||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
|
||||||
|
|
||||||
notificationManager.notify(notificationID, Notification);
|
|
||||||
|
|
||||||
notificationExists = true;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user