mirror of
https://github.com/topjohnwu/Magisk.git
synced 2026-07-10 14:12:47 -07:00
45 lines
1.6 KiB
Java
45 lines
1.6 KiB
Java
package com.topjohnwu.magisk.services;
|
|
|
|
import android.app.IntentService;
|
|
import android.content.Intent;
|
|
import android.os.Build;
|
|
import android.support.v4.app.NotificationCompat;
|
|
|
|
import com.topjohnwu.magisk.MagiskManager;
|
|
import com.topjohnwu.magisk.R;
|
|
import com.topjohnwu.magisk.utils.Const;
|
|
import com.topjohnwu.magisk.utils.RootUtils;
|
|
|
|
public class OnBootIntentService extends IntentService {
|
|
|
|
public OnBootIntentService() {
|
|
super("OnBootIntentService");
|
|
}
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
startForeground(Const.ID.ONBOOT_NOTIFICATION_ID,
|
|
new NotificationCompat.Builder(this, Const.ID.NOTIFICATION_CHANNEL)
|
|
.setSmallIcon(R.drawable.ic_magisk_outline)
|
|
.setContentTitle("Startup Operations")
|
|
.setContentText("Running startup operations...")
|
|
.build());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void onHandleIntent(Intent intent) {
|
|
/* Pixel 2 (XL) devices will need to patch dtbo.img.
|
|
* However, that is not possible if Magisk is installed by
|
|
* patching boot image with Magisk Manager and fastboot flash
|
|
* the boot image, since at that time we do not have root.
|
|
* Check for dtbo status every boot time, and prompt user
|
|
* to reboot if dtbo wasn't patched and patched by Magisk Manager.
|
|
* */
|
|
MagiskManager.get().loadMagiskInfo();
|
|
RootUtils.patchDTBO();
|
|
}
|
|
}
|