using System;
|
using System.Collections.Generic;
|
using Android.Runtime;
|
using Java.Interop;
|
|
namespace Com.Tencent.Tinker.Lib.Patch {
|
|
// Metadata.xml XPath class reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']"
|
[global::Android.Runtime.Register ("com/tencent/tinker/lib/patch/BasePatchInternal", DoNotGenerateAcw=true)]
|
public partial class BasePatchInternal : global::Java.Lang.Object {
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='DEX_META_FILE']"
|
[Register ("DEX_META_FILE")]
|
protected const string DexMetaFile = (string) "assets/dex_meta.txt";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='DEX_OPTIMIZE_PATH']"
|
[Register ("DEX_OPTIMIZE_PATH")]
|
protected const string DexOptimizePath = (string) "odex";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='DEX_PATH']"
|
[Register ("DEX_PATH")]
|
protected const string DexPath = (string) "dex";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='MAX_EXTRACT_ATTEMPTS']"
|
[Register ("MAX_EXTRACT_ATTEMPTS")]
|
protected const int MaxExtractAttempts = (int) 2;
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='RES_META_FILE']"
|
[Register ("RES_META_FILE")]
|
protected const string ResMetaFile = (string) "assets/res_meta.txt";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='SO_META_FILE']"
|
[Register ("SO_META_FILE")]
|
protected const string SoMetaFile = (string) "assets/so_meta.txt";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='SO_PATH']"
|
[Register ("SO_PATH")]
|
protected const string SoPath = (string) "lib";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='TAG']"
|
[Register ("TAG")]
|
protected const string Tag = (string) "Tinker.BasePatchInternal";
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='TYPE_CLASS_N_DEX']"
|
[Register ("TYPE_CLASS_N_DEX")]
|
protected const int TypeClassNDex = (int) 7;
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='TYPE_DEX']"
|
[Register ("TYPE_DEX")]
|
protected const int TypeDex = (int) 3;
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='TYPE_Library']"
|
[Register ("TYPE_Library")]
|
protected const int TYPELibrary = (int) 5;
|
|
// Metadata.xml XPath field reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/field[@name='TYPE_RESOURCE']"
|
[Register ("TYPE_RESOURCE")]
|
protected const int TypeResource = (int) 6;
|
|
static readonly JniPeerMembers _members = new XAPeerMembers ("com/tencent/tinker/lib/patch/BasePatchInternal", typeof (BasePatchInternal));
|
|
internal static IntPtr class_ref {
|
get { return _members.JniPeerType.PeerReference.Handle; }
|
}
|
|
[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
|
[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
|
public override global::Java.Interop.JniPeerMembers JniPeerMembers {
|
get { return _members; }
|
}
|
|
[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
|
[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
|
protected override IntPtr ThresholdClass {
|
get { return _members.JniPeerType.PeerReference.Handle; }
|
}
|
|
[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
|
[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
|
protected override global::System.Type ThresholdType {
|
get { return _members.ManagedPeerType; }
|
}
|
|
protected BasePatchInternal (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)
|
{
|
}
|
|
// Metadata.xml XPath constructor reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/constructor[@name='BasePatchInternal' and count(parameter)=0]"
|
[Register (".ctor", "()V", "")]
|
public unsafe BasePatchInternal () : base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
|
{
|
const string __id = "()V";
|
|
if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
|
return;
|
|
try {
|
var __r = _members.InstanceMethods.StartCreateInstance (__id, ((object) this).GetType (), null);
|
SetHandle (__r.Handle, JniHandleOwnership.TransferLocalRef);
|
_members.InstanceMethods.FinishCreateInstance (__id, this, null);
|
} finally {
|
}
|
}
|
|
// Metadata.xml XPath method reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/method[@name='extract' and count(parameter)=5 and parameter[1][@type='java.util.zip.ZipFile'] and parameter[2][@type='java.util.zip.ZipEntry'] and parameter[3][@type='java.io.File'] and parameter[4][@type='java.lang.String'] and parameter[5][@type='boolean']]"
|
[Register ("extract", "(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;Ljava/io/File;Ljava/lang/String;Z)Z", "")]
|
public static unsafe bool Extract (global::Java.Util.Zip.ZipFile zipFile, global::Java.Util.Zip.ZipEntry entryFile, global::Java.IO.File extractTo, string targetMd5, bool isDex)
|
{
|
const string __id = "extract.(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;Ljava/io/File;Ljava/lang/String;Z)Z";
|
IntPtr native_targetMd5 = JNIEnv.NewString (targetMd5);
|
try {
|
JniArgumentValue* __args = stackalloc JniArgumentValue [5];
|
__args [0] = new JniArgumentValue ((zipFile == null) ? IntPtr.Zero : ((global::Java.Lang.Object) zipFile).Handle);
|
__args [1] = new JniArgumentValue ((entryFile == null) ? IntPtr.Zero : ((global::Java.Lang.Object) entryFile).Handle);
|
__args [2] = new JniArgumentValue ((extractTo == null) ? IntPtr.Zero : ((global::Java.Lang.Object) extractTo).Handle);
|
__args [3] = new JniArgumentValue (native_targetMd5);
|
__args [4] = new JniArgumentValue (isDex);
|
var __rm = _members.StaticMethods.InvokeBooleanMethod (__id, __args);
|
return __rm;
|
} finally {
|
JNIEnv.DeleteLocalRef (native_targetMd5);
|
global::System.GC.KeepAlive (zipFile);
|
global::System.GC.KeepAlive (entryFile);
|
global::System.GC.KeepAlive (extractTo);
|
}
|
}
|
|
// Metadata.xml XPath method reference: path="/api/package[@name='com.tencent.tinker.lib.patch']/class[@name='BasePatchInternal']/method[@name='getMetaCorruptedCode' and count(parameter)=1 and parameter[1][@type='int']]"
|
[Register ("getMetaCorruptedCode", "(I)I", "")]
|
public static unsafe int GetMetaCorruptedCode (int type)
|
{
|
const string __id = "getMetaCorruptedCode.(I)I";
|
try {
|
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
|
__args [0] = new JniArgumentValue (type);
|
var __rm = _members.StaticMethods.InvokeInt32Method (__id, __args);
|
return __rm;
|
} finally {
|
}
|
}
|
|
}
|
}
|