-keep class com.epicgames.unreal.GameActivity{*;}
-keep class com.psmart.aosoperation.SysActivity{*;}
import com.psmart.aosoperation.NativeVerfyInterface;
import android.app.Instrumentation;
import android.os.RemoteException;
import java.util.List;
import com.psmart.aosoperation.MRCCalibration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import com.pxr.xrlib.PicovrSDK;
import com.psmart.aosoperation.SysActivity;
public boolean AndroidThunkJava_IsOculusMobileApplication()
{
return true;
}
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
int action = event.getAction();
if (event.getKeyCode()==1001)
{
keyRemappingSendFakeKeyEvent(action , 96);
}
return super.dispatchKeyEvent(event);
}
private static void keyRemappingSendFakeKeyEvent(final int action,final int keyCode) {
new Thread(new Runnable() {
public void run() {
try {
Instrumentation inst=new Instrumentation();
final long eventTime = SystemClock.uptimeMillis();
KeyEvent event =new KeyEvent(eventTime - 50, eventTime - 50, action, keyCode, 0, 0, 1001, 0, KeyEvent.FLAG_FROM_SYSTEM, InputDevice.SOURCE_GAMEPAD);
int id = event.getDeviceId();
inst.sendKeySync(event);
}
catch (Exception e) {}
}
}).start();
}
public void EnableContentProtect(boolean bEnable)
{
SysActivity.SetSecure(this, bEnable);
}
public String GetDeviceSN( )
{
return SysActivity.getDeviceSN();
}
public int GetPsensorState()
{
return SysActivity.getPsensorState();
}
public void VolumeUp()
{
SysActivity.pxr_UpAudio();
}
public void VolumeDown()
{
SysActivity.pxr_DownAudio();
}
public void SetVolume(int volume)
{
SysActivity.pxr_ChangeAudio(volume);
}
public int GetMaxVolumeNumber()
{
int maxV = SysActivity.pxr_GetMaxAudionumber();
Log.debug("========== PICOXR_UPL: Max system volume:" + maxV+" ==========");
return maxV;
}
public int GetCurrentVolume()
{
int currentV = SysActivity.pxr_GetAudionumber();
Log.debug("========== PICOXR_UPL: Current system volume:" + currentV+" ==========");
return currentV;
}
private String getNewProp(String property)
{
// first try SystemProperties reflection
try
{
java.lang.reflect.Method get = Class.forName("android.os.SystemProperties").getMethod("get", new Class[]{String.class});
String propValue = (String)get.invoke(null, property);
if (propValue != null)
{
return propValue;
}
return "";
}
catch (Exception e)
{
}
// fall back to getprop command
Process process = null;
BufferedReader reader = null;
String result = "";
try
{
process = new ProcessBuilder().command("/system/bin/getprop", property).redirectErrorStream(true).start();
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = reader.readLine();
result = (line == null) ? "" : line;
}
catch (Exception e)
{
}
if (reader != null)
{
try
{
reader.close();
}
catch (IOException e)
{
}
}
if (process != null)
{
process.destroy();
}
return result;
}
public String getPXRProductName()
{
return getNewProp("sys.pxr.product.name");
}
public int GetCurrentBrightness()
{
int currentB = SysActivity.pxr_GetScreen_Brightness(this.getApplicationContext());
Log.debug("========== PICOXR_UPL: Current screen brightness:" + currentB+" ==========");
return currentB;
}
private MRCCalibration mMRCCalibration = null;
public float[] MRCGetCalibrationData(String path)
{
return mMRCCalibration.readCalibrationData(path);
}
public int GetPxrRuntimeVersion()
{
String packageName="com.pico.xr.openxr_runtime";
PackageManager manager = this.getApplicationContext().getPackageManager();
int code = 0;
try
{
PackageInfo info = manager.getPackageInfo(packageName, 0);
if(info ==null)
{
return 0;
}
code = info.versionCode;
}
catch (PackageManager.NameNotFoundException e){}
return code;
}
public int GetHmdBatteryLevel()
{
return SysActivity.getHmdBatteryLevel(this);
}
public void StartApplication(String packageName)
{
Intent launchIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if (launchIntent != null)
{
launchIntent.putExtra("enter_flag", 1);
startActivity(launchIntent);//null pointer check in case package name was not found
}
}
public String GetAndroidPackageName( )
{
return getApplicationContext().getPackageName();
}
Log.debug("========== PICOXR_UPL:gameActivityOnCreateAdditions ==========");
PicovrSDK.setJniActivity();
SysActivity.pxr_InitAudioDevice(this.getApplicationContext());
mMRCCalibration = new MRCCalibration();
Log.debug("========== PICOXR_UPL:gameActivityOnDestroyAdditions ==========");
Log.debug("========== PICOXR_UPL:gameActivityOnStartAdditions ==========");
Log.debug("========== PICOXR_UPL: initPsensor! ==========");
SysActivity.initPsensor(this);
Log.debug("========== PICOXR_UPL:gameActivityOnStopAdditions ==========");
Log.debug("========== PICOXR_UPL: unregisterListener! ==========");
SysActivity.unregisterListener();
Log.debug("========== PICOXR_UPL:gameActivityOnPauseAdditions ==========");
Log.debug("========== PICOXR_UPL:gameActivityOnResumeAdditions ==========");
Log.debug("========== PICOXR_UPL:gameActivityOnActivityResultAdditions ==========");