package com.lody.virtual.client.hook.patchs.pm; import android.content.pm.ProviderInfo; import com.lody.virtual.client.hook.base.Hook; import com.lody.virtual.client.ipc.VPackageManager; import com.lody.virtual.helper.compat.ParceledListSliceCompat; import java.lang.reflect.Method; import java.util.List; /** * @author Lody * * <p/> * Android 4.4+ * * @see android.content.pm.IPackageManager#queryContentProviders(String, int, * int) * */ @SuppressWarnings("unchecked") /* package */ class QueryContentProviders extends Hook { @Override public String getName() { return "queryContentProviders"; } @Override public Object call(Object who, Method method, Object... args) throws Throwable { String processName = (String) args[0]; int flags = (int) args[2]; List<ProviderInfo> infos = VPackageManager.get().queryContentProviders(processName, flags, 0); if (ParceledListSliceCompat.isReturnParceledListSlice(method)) { return ParceledListSliceCompat.create(infos); } return infos; } }