Fix parasitic manager state restore on 8.1 (#1725)
This commit is contained in:
parent
bc8b4c69a5
commit
2ba199d68c
|
|
@ -142,17 +142,19 @@ public class ParasiticManagerHooker {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void afterHookedMethod(MethodHookParam param) {
|
protected void afterHookedMethod(MethodHookParam param) {
|
||||||
if (activityClientRecordClass.isInstance(param.thisObject)) {
|
for (var i = 0; i < param.args.length; ++i) {
|
||||||
var aInfo = (ActivityInfo) XposedHelpers.getObjectField(param.thisObject, "activityInfo");
|
if (param.args[i] instanceof ActivityInfo) {
|
||||||
Hookers.logD("loading state of " + aInfo.name);
|
var aInfo = (ActivityInfo) param.args[i];
|
||||||
states.computeIfPresent(aInfo.name, (k, v) -> {
|
Hookers.logD("loading state of " + aInfo.name);
|
||||||
XposedHelpers.setObjectField(param.thisObject, "state", v);
|
states.computeIfPresent(aInfo.name, (k, v) -> {
|
||||||
return v;
|
XposedHelpers.setObjectField(param.thisObject, "state", v);
|
||||||
});
|
return v;
|
||||||
persistentStates.computeIfPresent(aInfo.name, (k, v) -> {
|
});
|
||||||
XposedHelpers.setObjectField(param.thisObject, "persistentState", v);
|
persistentStates.computeIfPresent(aInfo.name, (k, v) -> {
|
||||||
return v;
|
XposedHelpers.setObjectField(param.thisObject, "persistentState", v);
|
||||||
});
|
return v;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue