package com.lody.virtual.client.hook.patchs.phonesubinfo;
import com.lody.virtual.client.hook.base.Patch;
import com.lody.virtual.client.hook.base.PatchBinderDelegate;
import com.lody.virtual.client.hook.base.ReplaceCallingPkgHook;
import com.lody.virtual.client.hook.base.ReplaceLastPkgHook;
import mirror.com.android.internal.telephony.IPhoneSubInfo;
/**
* @author Lody
*/
@Patch({GetDeviceId.class, GetDeviceIdForSubscriber.class})
public class PhoneSubInfoPatch extends PatchBinderDelegate {
public PhoneSubInfoPatch() {
super(IPhoneSubInfo.Stub.TYPE, "iphonesubinfo");
}
@Override
protected void onBindHooks() {
super.onBindHooks();
addHook(new ReplaceLastPkgHook("getNaiForSubscriber"));
addHook(new ReplaceLastPkgHook("getImeiForSubscriber"));
addHook(new ReplaceCallingPkgHook("getDeviceSvn"));
addHook(new ReplaceLastPkgHook("getDeviceSvnUsingSubId"));
addHook(new ReplaceCallingPkgHook("getSubscriberId"));
addHook(new ReplaceLastPkgHook("getSubscriberIdForSubscriber"));
addHook(new ReplaceCallingPkgHook("getGroupIdLevel1"));
addHook(new ReplaceLastPkgHook("getGroupIdLevel1ForSubscriber"));
addHook(new ReplaceCallingPkgHook("getLine1Number"));
addHook(new ReplaceLastPkgHook("getLine1NumberForSubscriber"));
addHook(new ReplaceCallingPkgHook("getLine1AlphaTag"));
addHook(new ReplaceLastPkgHook("getLine1AlphaTagForSubscriber"));
addHook(new ReplaceCallingPkgHook("getMsisdn"));
addHook(new ReplaceLastPkgHook("getMsisdnForSubscriber"));
addHook(new ReplaceCallingPkgHook("getVoiceMailNumber"));
addHook(new ReplaceLastPkgHook("getVoiceMailNumberForSubscriber"));
addHook(new ReplaceCallingPkgHook("getVoiceMailAlphaTag"));
addHook(new ReplaceLastPkgHook("getVoiceMailAlphaTagForSubscriber"));
// The following method maybe need to fake
//addHook(new ReplaceCallingPkgHook("getDeviceId"));
addHook(new ReplaceCallingPkgHook("getIccSerialNumber"));
addHook(new ReplaceLastPkgHook("getIccSerialNumberForSubscriber"));
}
}