28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace Cryville.Input.Unity.Android {
|
|
internal static class JavaStaticMethods {
|
|
static bool _init;
|
|
static IntPtr _t_SystemClock;
|
|
static IntPtr _m_SystemClock_elapsedRealtimeNanos;
|
|
static IntPtr _m_SystemClock_uptimeMillis;
|
|
static readonly jvalue[] _p_void = new jvalue[0];
|
|
public static void Init() {
|
|
if (_init) return;
|
|
_init = true;
|
|
var _lt_SystemClock = AndroidJNI.FindClass("android/os/SystemClock");
|
|
_t_SystemClock = AndroidJNI.NewGlobalRef(_lt_SystemClock);
|
|
_m_SystemClock_elapsedRealtimeNanos = AndroidJNI.GetStaticMethodID(_lt_SystemClock, "elapsedRealtimeNanos", "()J");
|
|
_m_SystemClock_uptimeMillis = AndroidJNI.GetStaticMethodID(_lt_SystemClock, "uptimeMillis", "()J");
|
|
AndroidJNI.DeleteLocalRef(_lt_SystemClock);
|
|
}
|
|
public static long SystemClock_elapsedRealtimeNanos() {
|
|
return AndroidJNI.CallStaticLongMethod(_t_SystemClock, _m_SystemClock_elapsedRealtimeNanos, _p_void);
|
|
}
|
|
public static long SystemClock_uptimeMillis() {
|
|
return AndroidJNI.CallStaticLongMethod(_t_SystemClock, _m_SystemClock_uptimeMillis, _p_void);
|
|
}
|
|
}
|
|
}
|