mirror of
https://github.com/revanced/revanced-integrations.git
synced 2024-11-30 15:52:55 +01:00
feat(youtube/microg-support): check if Vanced MicroG is running in the background (#301)
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de> Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
This commit is contained in:
parent
057e599aec
commit
6e31b7889a
@ -2,11 +2,14 @@ package app.revanced.integrations.patches;
|
|||||||
|
|
||||||
import static app.revanced.integrations.sponsorblock.StringRef.str;
|
import static app.revanced.integrations.sponsorblock.StringRef.str;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import app.revanced.integrations.utils.LogHelper;
|
import app.revanced.integrations.utils.LogHelper;
|
||||||
import app.revanced.integrations.utils.ReVancedUtils;
|
import app.revanced.integrations.utils.ReVancedUtils;
|
||||||
|
|
||||||
@ -14,21 +17,32 @@ public class MicroGSupport {
|
|||||||
private static final String MICROG_VENDOR = "com.mgoogle";
|
private static final String MICROG_VENDOR = "com.mgoogle";
|
||||||
private static final String MICROG_PACKAGE_NAME = "com.mgoogle.android.gms";
|
private static final String MICROG_PACKAGE_NAME = "com.mgoogle.android.gms";
|
||||||
private static final String VANCED_MICROG_DOWNLOAD_LINK = "https://github.com/TeamVanced/VancedMicroG/releases/latest";
|
private static final String VANCED_MICROG_DOWNLOAD_LINK = "https://github.com/TeamVanced/VancedMicroG/releases/latest";
|
||||||
|
private static final String DONT_KILL_MY_APP_LINK = "https://dontkillmyapp.com";
|
||||||
|
private static final Uri VANCED_MICROG_PROVIDER = Uri.parse("content://com.mgoogle.android.gsf.gservices/prefix");
|
||||||
|
|
||||||
|
private static void startIntent(Context context, String uriString, String message) {
|
||||||
|
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
|
||||||
|
|
||||||
|
var intent = new Intent(Intent.ACTION_VIEW);
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
intent.setData(Uri.parse(uriString));
|
||||||
|
context.startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
public static void checkAvailability() {
|
public static void checkAvailability() {
|
||||||
var context = ReVancedUtils.getContext();
|
var context = Objects.requireNonNull(ReVancedUtils.getContext());
|
||||||
assert context != null;
|
|
||||||
try {
|
try {
|
||||||
context.getPackageManager().getPackageInfo(MICROG_PACKAGE_NAME, PackageManager.GET_ACTIVITIES);
|
context.getPackageManager().getPackageInfo(MICROG_PACKAGE_NAME, PackageManager.GET_ACTIVITIES);
|
||||||
LogHelper.printDebug(() -> "MicroG is installed on the device");
|
|
||||||
} catch (PackageManager.NameNotFoundException exception) {
|
} catch (PackageManager.NameNotFoundException exception) {
|
||||||
LogHelper.printException(() -> ("MicroG was not found"), exception);
|
LogHelper.printException(() -> ("Vanced MicroG was not found"), exception);
|
||||||
Toast.makeText(context, str("microg_not_installed_warning"), Toast.LENGTH_LONG).show();
|
startIntent(context, VANCED_MICROG_DOWNLOAD_LINK, str("microg_not_installed_warning"));
|
||||||
|
}
|
||||||
|
|
||||||
var intent = new Intent(Intent.ACTION_VIEW);
|
try (var client = context.getContentResolver().acquireContentProviderClient(VANCED_MICROG_PROVIDER)) {
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
if (client != null) return;
|
||||||
intent.setData(Uri.parse(VANCED_MICROG_DOWNLOAD_LINK));
|
LogHelper.printException(() -> ("Vanced MicroG is not running in the background"));
|
||||||
context.startActivity(intent);
|
startIntent(context, DONT_KILL_MY_APP_LINK, str("microg_not_running_warning"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user