package net.lardcave.fakecontacts;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.content.res.AssetFileDescriptor;
import android.os.MemoryFile;
public class NoSecurity {
private static boolean initialised = false;
private static Method m_MemoryFile_deactivate, m_AssetFileDescriptor_fromMemoryFile;
private static void init(){
if(!initialised) {
try {
m_MemoryFile_deactivate = MemoryFile.class.getDeclaredMethod("deactivate");
m_AssetFileDescriptor_fromMemoryFile = AssetFileDescriptor.class.getDeclaredMethod("fromMemoryFile", MemoryFile.class);
} catch (SecurityException e) {
e.printStackTrace();
return;
} catch (NoSuchMethodException e) {
e.printStackTrace();
return;
}
initialised = true;
}
}
public static void MemoryFile_deactivate(MemoryFile f)
{
init();
try {
m_MemoryFile_deactivate.invoke(f);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
public static AssetFileDescriptor AssetFileDescriptor_fromMemoryFile(MemoryFile f)
{
init();
try {
return (AssetFileDescriptor) m_AssetFileDescriptor_fromMemoryFile.invoke(null, f);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return null;
}
}