blob: 628b280772279eaca3965b57a1bbc78aa2698827 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package moe.yuuta.sysuicontroller;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.perf.FirebasePerformance;
import moe.shizuku.api.ShizukuClientHelper;
import moe.shizuku.api.ShizukuService;
public class Main extends Application {
public static final String GLOBAL_TAG = "UIC";
private static boolean v3Failed;
private static boolean v3TokenValid;
// From the sample of Shizuku
public static boolean isShizukuV3Failed() {
return v3Failed;
}
public static boolean isShizukuV3TokenValid() {
return v3TokenValid;
}
public static void setV3TokenValid(boolean v3TokenValid) {
Main.v3TokenValid = v3TokenValid;
}
@Override
public void onCreate() {
super.onCreate();
FirebasePerformance.getInstance().setPerformanceCollectionEnabled(!BuildConfig.DEBUG);
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(!BuildConfig.DEBUG);
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
ShizukuClientHelper.setBinderReceivedListener(() -> {
if (ShizukuService.getBinder() == null) {
v3Failed = true;
return;
} else {
try {
// test the binder first
ShizukuService.pingBinder();
if (Build.VERSION.SDK_INT < 23) {
String token = ShizukuClientHelper.loadPre23Token(base);
v3TokenValid = ShizukuService.setCurrentProcessTokenPre23(token);
}
} catch (Throwable tr) {
return;
}
}
});
}
}
|