package com.lody.virtual.client.stub; import android.content.ContentProvider; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.ConditionVariable; import android.os.IBinder; import android.os.Process; import com.lody.virtual.client.VClientImpl; import com.lody.virtual.client.core.VirtualCore; import com.lody.virtual.helper.compat.BundleCompat; /** * @author Lody * */ public class StubContentProvider extends ContentProvider { @Override public boolean onCreate() { return true; } @Override public Bundle call(String method, String arg, Bundle extras) { if ("_VA_|_init_process_".equals(method)) { return initProcess(extras); } return null; } private Bundle initProcess(Bundle extras) { ConditionVariable lock = VirtualCore.get().getInitLock(); if (lock != null) { lock.block(); } IBinder token = BundleCompat.getBinder(extras,"_VA_|_binder_"); int vuid = extras.getInt("_VA_|_vuid_"); VClientImpl client = VClientImpl.get(); client.initProcess(token, vuid); Bundle res = new Bundle(); BundleCompat.putBinder(res, "_VA_|_client_", client.asBinder()); res.putInt("_VA_|_pid_", Process.myPid()); return res; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { return null; } @Override public String getType(Uri uri) { return null; } @Override public Uri insert(Uri uri, ContentValues values) { return null; } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { return 0; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { return 0; } public static class C0 extends StubContentProvider { } public static class C1 extends StubContentProvider { } public static class C2 extends StubContentProvider { } public static class C3 extends StubContentProvider { } public static class C4 extends StubContentProvider { } public static class C5 extends StubContentProvider { } public static class C6 extends StubContentProvider { } public static class C7 extends StubContentProvider { } public static class C8 extends StubContentProvider { } public static class C9 extends StubContentProvider { } public static class C10 extends StubContentProvider { } public static class C11 extends StubContentProvider { } public static class C12 extends StubContentProvider { } public static class C13 extends StubContentProvider { } public static class C14 extends StubContentProvider { } public static class C15 extends StubContentProvider { } public static class C16 extends StubContentProvider { } public static class C17 extends StubContentProvider { } public static class C18 extends StubContentProvider { } public static class C19 extends StubContentProvider { } public static class C20 extends StubContentProvider { } public static class C21 extends StubContentProvider { } public static class C22 extends StubContentProvider { } public static class C23 extends StubContentProvider { } public static class C24 extends StubContentProvider { } public static class C25 extends StubContentProvider { } public static class C26 extends StubContentProvider { } public static class C27 extends StubContentProvider { } public static class C28 extends StubContentProvider { } public static class C29 extends StubContentProvider { } public static class C30 extends StubContentProvider { } public static class C31 extends StubContentProvider { } public static class C32 extends StubContentProvider { } public static class C33 extends StubContentProvider { } public static class C34 extends StubContentProvider { } public static class C35 extends StubContentProvider { } public static class C36 extends StubContentProvider { } public static class C37 extends StubContentProvider { } public static class C38 extends StubContentProvider { } public static class C39 extends StubContentProvider { } public static class C40 extends StubContentProvider { } public static class C41 extends StubContentProvider { } public static class C42 extends StubContentProvider { } public static class C43 extends StubContentProvider { } public static class C44 extends StubContentProvider { } public static class C45 extends StubContentProvider { } public static class C46 extends StubContentProvider { } public static class C47 extends StubContentProvider { } public static class C48 extends StubContentProvider { } public static class C49 extends StubContentProvider { } public static class C50 extends StubContentProvider { } public static class C51 extends StubContentProvider { } public static class C52 extends StubContentProvider { } public static class C53 extends StubContentProvider { } public static class C54 extends StubContentProvider { } public static class C55 extends StubContentProvider { } public static class C56 extends StubContentProvider { } public static class C57 extends StubContentProvider { } public static class C58 extends StubContentProvider { } public static class C59 extends StubContentProvider { } public static class C60 extends StubContentProvider { } public static class C61 extends StubContentProvider { } public static class C62 extends StubContentProvider { } public static class C63 extends StubContentProvider { } public static class C64 extends StubContentProvider { } public static class C65 extends StubContentProvider { } public static class C66 extends StubContentProvider { } public static class C67 extends StubContentProvider { } public static class C68 extends StubContentProvider { } public static class C69 extends StubContentProvider { } public static class C70 extends StubContentProvider { } public static class C71 extends StubContentProvider { } public static class C72 extends StubContentProvider { } public static class C73 extends StubContentProvider { } public static class C74 extends StubContentProvider { } public static class C75 extends StubContentProvider { } public static class C76 extends StubContentProvider { } public static class C77 extends StubContentProvider { } public static class C78 extends StubContentProvider { } public static class C79 extends StubContentProvider { } public static class C80 extends StubContentProvider { } public static class C81 extends StubContentProvider { } public static class C82 extends StubContentProvider { } public static class C83 extends StubContentProvider { } public static class C84 extends StubContentProvider { } public static class C85 extends StubContentProvider { } public static class C86 extends StubContentProvider { } public static class C87 extends StubContentProvider { } public static class C88 extends StubContentProvider { } public static class C89 extends StubContentProvider { } public static class C90 extends StubContentProvider { } public static class C91 extends StubContentProvider { } public static class C92 extends StubContentProvider { } public static class C93 extends StubContentProvider { } public static class C94 extends StubContentProvider { } public static class C95 extends StubContentProvider { } public static class C96 extends StubContentProvider { } public static class C97 extends StubContentProvider { } public static class C98 extends StubContentProvider { } public static class C99 extends StubContentProvider { } }