added support for microg
This commit is contained in:
@@ -2,19 +2,27 @@ package ru.vtosters.lite.utils;
|
||||
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
|
||||
import com.google.firebase.iid.FirebaseInstanceIdReceiver;
|
||||
import com.google.firebase.iid.FirebaseInstanceIdReceiver2;
|
||||
import com.vtosters.lite.R;
|
||||
|
||||
public class GmsUtils {
|
||||
|
||||
public static boolean gmsless = isGmsInstalled();
|
||||
public static boolean isGmsInstalled() {
|
||||
try {
|
||||
AndroidUtils.getGlobalContext().getPackageManager().getPackageInfo("com.google.android.gms", 0);
|
||||
return true;
|
||||
} catch (Exception unused) {
|
||||
return false;
|
||||
try {
|
||||
AndroidUtils.getGlobalContext().getPackageManager().getPackageInfo("com.mgoogle.android.gms", 0);
|
||||
return true;
|
||||
} catch (Exception ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} // Google Market Services check
|
||||
|
||||
@@ -27,4 +35,37 @@ public class GmsUtils {
|
||||
}
|
||||
}
|
||||
} // Music channels fix
|
||||
|
||||
public static void applyGMSReceiver() {
|
||||
int flagSpoofed = gmsless ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
|
||||
int flagOrig = !gmsless ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
|
||||
|
||||
ComponentName spoofed = new ComponentName(AndroidUtils.getGlobalContext(), FirebaseInstanceIdReceiver2.class);
|
||||
ComponentName orig = new ComponentName(AndroidUtils.getGlobalContext(), FirebaseInstanceIdReceiver.class);
|
||||
|
||||
if (isComponentEnabled(orig) && gmsless || isComponentEnabled(spoofed) && !gmsless) {
|
||||
setComponentEnabled(spoofed, flagSpoofed);
|
||||
setComponentEnabled(orig, flagOrig);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isComponentEnabled(ComponentName componentName) {
|
||||
return AndroidUtils.getGlobalContext().getPackageManager().getComponentEnabledSetting(componentName) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
|
||||
}
|
||||
|
||||
private static void setComponentEnabled(ComponentName componentName, int newState) {
|
||||
AndroidUtils.getGlobalContext().getPackageManager().setComponentEnabledSetting(componentName, newState, PackageManager.DONT_KILL_APP);
|
||||
}
|
||||
|
||||
public static String replaceGMSPackage(String str) {
|
||||
return gmsless ? str.replace("com.google", "com.mgoogle") : str;
|
||||
}
|
||||
|
||||
public static String getFirebaseInstanceIdReceiver() {
|
||||
return "com.google.firebase.iid.FirebaseInstanceIdReceiver" + (gmsless ? "2" : "");
|
||||
}
|
||||
|
||||
public static Class getFirebaseInstanceIdReceiverClass() {
|
||||
return gmsless ? FirebaseInstanceIdReceiver2.class : FirebaseInstanceIdReceiver.class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class Preferences {
|
||||
StrictMode.setThreadPolicy(policy);
|
||||
|
||||
GmsUtils.fixGapps();
|
||||
GmsUtils.applyGMSReceiver();
|
||||
setProxy();
|
||||
setupFilters();
|
||||
VTVerifications.load(application);
|
||||
|
||||
Reference in New Issue
Block a user