package com.lody.virtual.client.hook.patchs.isms;
import android.os.Build;
import com.lody.virtual.client.hook.base.PatchBinderDelegate;
import com.lody.virtual.client.hook.base.ReplaceCallingPkgHook;
import com.lody.virtual.client.hook.base.ReplaceSpecPkgHook;
import mirror.com.android.internal.telephony.ISms;
/**
* @author Lody
*/
public class ISmsPatch extends PatchBinderDelegate {
public ISmsPatch() {
super(ISms.Stub.TYPE, "isms");
}
@Override
protected void onBindHooks() {
super.onBindHooks();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
addHook(new ReplaceSpecPkgHook("getAllMessagesFromIccEfForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("updateMessageOnIccEfForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("copyMessageToIccEfForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("sendDataForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("sendDataForSubscriberWithSelfPermissions", 1));
addHook(new ReplaceSpecPkgHook("sendTextForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("sendTextForSubscriberWithSelfPermissions", 1));
addHook(new ReplaceSpecPkgHook("sendMultipartTextForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("sendStoredText", 1));
addHook(new ReplaceSpecPkgHook("sendStoredMultipartText", 1));
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
addHook(new ReplaceCallingPkgHook("getAllMessagesFromIccEf"));
addHook(new ReplaceSpecPkgHook("getAllMessagesFromIccEfForSubscriber", 1));
addHook(new ReplaceCallingPkgHook("updateMessageOnIccEf"));
addHook(new ReplaceSpecPkgHook("updateMessageOnIccEfForSubscriber", 1));
addHook(new ReplaceCallingPkgHook("copyMessageToIccEf"));
addHook(new ReplaceSpecPkgHook("copyMessageToIccEfForSubscriber", 1));
addHook(new ReplaceCallingPkgHook("sendData"));
addHook(new ReplaceSpecPkgHook("sendDataForSubscriber", 1));
addHook(new ReplaceCallingPkgHook("sendText"));
addHook(new ReplaceSpecPkgHook("sendTextForSubscriber", 1));
addHook(new ReplaceCallingPkgHook("sendMultipartText"));
addHook(new ReplaceSpecPkgHook("sendMultipartTextForSubscriber", 1));
addHook(new ReplaceSpecPkgHook("sendStoredText", 1));
addHook(new ReplaceSpecPkgHook("sendStoredMultipartText", 1));
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
addHook(new ReplaceCallingPkgHook("getAllMessagesFromIccEf"));
addHook(new ReplaceCallingPkgHook("updateMessageOnIccEf"));
addHook(new ReplaceCallingPkgHook("copyMessageToIccEf"));
addHook(new ReplaceCallingPkgHook("sendData"));
addHook(new ReplaceCallingPkgHook("sendText"));
addHook(new ReplaceCallingPkgHook("sendMultipartText"));
}
}
}