605 lines
24 KiB
XML
605 lines
24 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!--
|
||
Copyright® 2015-2023 PICO Technology Co., Ltd. All rights reserved.
|
||
This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.
|
||
Unreal® Engine, Copyright 1998 – 2023, Epic Games, Inc. All rights reserved.
|
||
-->
|
||
<!--PICOXR plugin additions-->
|
||
<root xmlns:android="http://schemas.android.com/apk/res/android">
|
||
<!-- init section is always evaluated once per architecture -->
|
||
<init>
|
||
<log text="PICOXRHMD init"/>
|
||
<setBoolFromProperty result="bEnablePSensor" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnablePSensor" default="false"/>
|
||
<setStringFromProperty result="HandTrackingSupport" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="HandTrackingSupport" default="ControllersOnly"/>
|
||
<setBoolFromProperty result="bEnableEyeTracking" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableEyeTracking" default="false"/>
|
||
<setBoolFromProperty result="bEnableEyeTrackingFoveationRendering" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableEyeTrackingFoveationRendering" default="false"/>
|
||
<setBoolFromProperty result="bEnableEyeTrackingCalibration" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableEyeTrackingCalibration" default="false"/>
|
||
<setBoolFromProperty result="bEnableFaceTracking" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableFaceTracking" default="false"/>
|
||
<setBoolFromProperty result="bEnableBodyTracking" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableBodyTracking" default="false"/>
|
||
<setBoolFromProperty result="bUsingOSSplash" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bUsingOSSplash" default="false"/>
|
||
<setBoolFromProperty result="bHighFrequencyTracking" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bHighFrequencyTracking" default="false"/>
|
||
<setBoolFromProperty result="bAdaptiveHandModel" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bAdaptiveHandModel" default="false"/>
|
||
<setBoolFromProperty result="bEnableMRSafeguard" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableMRSafeguard" default="false"/>
|
||
<setBoolFromProperty result="bEnableVST" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableVST" default="false"/>
|
||
<setBoolFromProperty result="bEnableAnchor" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableAnchor" default="false"/>
|
||
<setBoolFromProperty result="bEnableCloudAnchor" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableCloudAnchor" default="false"/>
|
||
<setBoolFromProperty result="bEnableSceneCapture" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableSceneCapture" default="false"/>
|
||
<setBoolFromProperty result="bEnableMesh" ini="Engine" section="/Script/PICOXRHMD.PICOXRSettings" property="bEnableMesh" default="false"/>
|
||
</init>
|
||
|
||
<!-- optional updates applied to AndroidManifest.xml -->
|
||
<androidManifestUpdates>
|
||
|
||
<addPermission android:name="android.permission.CHANGE_CONFIGURATION" />
|
||
<addPermission android:name="android.permission.WRITE_SETTINGS" />
|
||
<setElement result="AuthActivityElement" value="activity"/>
|
||
<addAttribute tag="$AuthActivityElement" name="android:name" value="com.pico.loginpaysdk.auth.TransferStationActivity"/>
|
||
<addAttribute tag="$AuthActivityElement" name="android:theme" value="@android:style/Theme.Translucent.NoTitleBar"/>
|
||
<addAttribute tag="$AuthActivityElement" name="android:excludeFromRecents" value="true"/>
|
||
<addAttribute tag="$AuthActivityElement" name="android:exported" value="true"/>
|
||
<addAttribute tag="$AuthActivityElement" name="android:launchMode" value="singleTask"/>
|
||
|
||
<setElement result="IntentFilterElement" value="intent-filter"/>
|
||
<addElements tag="$IntentFilterElement">
|
||
<action android:name="com.pico.loginpaysdk.intent.action.AuthCallback"/>
|
||
<category android:name="android.intent.category.DEFAULT"/>
|
||
</addElements>
|
||
<addElement tag="$AuthActivityElement" name="IntentFilterElement"/>
|
||
<addElement tag="application" name="AuthActivityElement"/>
|
||
|
||
<addAttribute tag="application" name="android:hardwareAccelerated" value="false" />
|
||
<addAttribute tag="application" name="android:requestLegacyExternalStorage" value="true" />
|
||
<addAttribute tag="activity" name="android:screenOrientation" value="landscape" />
|
||
<addAttribute tag="activity" name="android:configChanges" value="screenSize|orientation|keyboardHidden|keyboard|navigation" android:hardwareAccelerated="false"/>
|
||
<addAttribute tag="activity" name="android:hardwareAccelerated" value="false" />
|
||
<addElements tag="application">
|
||
<meta-data android:name="pvr.app.type" android:value="vr" />
|
||
<meta-data android:name="pvr.sdk.version" android:value="UE5_3.2.3" />
|
||
<meta-data android:name="pxr.sdk.2dloading.flag" android:value="system" />
|
||
<meta-data android:name="pxr.sdk.version_code" android:value="5130" />
|
||
</addElements>
|
||
|
||
<!-- Add MR Flag -->
|
||
<if condition="bEnableAnchor">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.SPATIAL_DATA" />
|
||
</true>
|
||
<false>
|
||
<if condition="bEnableSceneCapture">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.SPATIAL_DATA" />
|
||
</true>
|
||
<false>
|
||
<if condition="bEnableMesh">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.SPATIAL_DATA" />
|
||
</true>
|
||
</if>
|
||
</false>
|
||
</if>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableMRSafeguard">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_mr_safeguard" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_mr_safeguard" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableVST">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_vst" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_vst" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableAnchor">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_spatial_anchor" android:value="1" />
|
||
<meta-data android:name="mr_map_mgr_auto_start" android:value="1" />
|
||
<meta-data android:name="enable_anchor" android:value="1" />
|
||
</addElements>
|
||
<if condition="bEnableCloudAnchor">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_cloud_anchor" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_cloud_anchor" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_spatial_anchor" android:value="0" />
|
||
<meta-data android:name="enable_cloud_anchor" android:value="0" />
|
||
<meta-data android:name="mr_map_mgr_auto_start" android:value="0" />
|
||
<meta-data android:name="enable_anchor" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableSceneCapture">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_scene_anchor" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_scene_anchor" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableMesh">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_mesh_anchor" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="enable_mesh_anchor" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
<!-- Add MR Flag -->
|
||
|
||
<if condition="bUsingOSSplash">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="pvr.app.splash" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="pvr.app.splash" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<!-- Add Hand Tracking Flag -->
|
||
<setBoolIsEqual result="bControllersOnly" arg1="$S(HandTrackingSupport)" arg2="ControllersOnly"/>
|
||
<setBoolIsEqual result="bControllersAndHands" arg1="$S(HandTrackingSupport)" arg2="ControllersAndHands"/>
|
||
<setBoolIsEqual result="bHandsOnly" arg1="$S(HandTrackingSupport)" arg2="HandsOnly"/>
|
||
|
||
<if condition="bControllersOnly">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="controller" android:value="1"/>
|
||
</addElements>
|
||
</true>
|
||
</if>
|
||
<if condition="bControllersAndHands">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.HAND_TRACKING" />
|
||
<addElements tag="application">
|
||
<meta-data android:name="controller" android:value="1"/>
|
||
<meta-data android:name="handtracking" android:value="1"/>
|
||
</addElements>
|
||
</true>
|
||
</if>
|
||
<if condition="bHandsOnly">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.HAND_TRACKING" />
|
||
<addElements tag="application">
|
||
<meta-data android:name="handtracking" android:value="1"/>
|
||
</addElements>
|
||
</true>
|
||
</if>
|
||
|
||
<setBoolOr result="bEnableHandTracking" arg1="$B(bControllersAndHands)" arg2="$B(bHandsOnly)"/>
|
||
<if condition="bEnableHandTracking">
|
||
<true>
|
||
<if condition="bHighFrequencyTracking">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="Hand_Tracking_HighFrequency" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="Hand_Tracking_HighFrequency" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
<if condition="bAdaptiveHandModel">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="Enable_AdaptiveHandModel" android:value="1" />
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="Enable_AdaptiveHandModel" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="Hand_Tracking_HighFrequency" android:value="0" />
|
||
<meta-data android:name="Enable_AdaptiveHandModel" android:value="0" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
<!-- Add ET FT Flag -->
|
||
<setBool result="bEnableEyeTrackingPermission" value="false"/>
|
||
<setBoolOr result="bEnableEyeTrackingPermission" arg1="$B(bEnableEyeTrackingPermission)" arg2="$B(bEnableEyeTracking)"/>
|
||
<setBoolOr result="bEnableEyeTrackingPermission" arg1="$B(bEnableEyeTrackingPermission)" arg2="$B(bEnableEyeTrackingFoveationRendering)"/>
|
||
<if condition="bEnableEyeTrackingPermission">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.EYE_TRACKING"/>
|
||
<addElements tag="application">
|
||
<meta-data android:name="picovr.software.eye_tracking" android:value=""/>
|
||
</addElements>
|
||
<if condition="bEnableEyeTrackingCalibration">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="eyetracking_calibration" android:value="true"/>
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="eyetracking_calibration" android:value="false"/>
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="eyetracking_calibration" android:value="false" />
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
|
||
<if condition="bEnableFaceTracking">
|
||
<true>
|
||
<addPermission android:name="com.picovr.permission.FACE_TRACKING"/>
|
||
<addPermission android:name="android.permission.RECORD_AUDIO"/>
|
||
<addElements tag="application">
|
||
<meta-data android:name="picovr.software.face_tracking" android:value="false/true"/>
|
||
</addElements>
|
||
</true>
|
||
</if>
|
||
|
||
<!-- Add body Tracking Flag -->
|
||
<if condition="bEnableBodyTracking">
|
||
<true>
|
||
<addElements tag="application">
|
||
<meta-data android:name="PICO.swift.feature" android:value="1"/>
|
||
</addElements>
|
||
</true>
|
||
<false>
|
||
<addElements tag="application">
|
||
<meta-data android:name="PICO.swift.feature" android:value="0"/>
|
||
</addElements>
|
||
</false>
|
||
</if>
|
||
</androidManifestUpdates>
|
||
|
||
<!-- optional additions to proguard -->
|
||
<proguardAdditions>
|
||
<insert>
|
||
-keep class com.epicgames.unreal.GameActivity{*;}
|
||
-keep class com.psmart.aosoperation.SysActivity{*;}
|
||
</insert>
|
||
</proguardAdditions>
|
||
|
||
<!-- optional files or directories to copy to Intermediate/Android/APK -->
|
||
<resourceCopies>
|
||
<isArch arch="armeabi-v7a">
|
||
<copyFile src="$S(PluginDir)/../ThirdParty/PXRPlugin/PXRPlugin/Lib/armeabi-v7a/libpxr_api.so"
|
||
dst="$S(BuildDir)/libs/armeabi-v7a/libpxr_api.so" />
|
||
</isArch>
|
||
|
||
<isArch arch="arm64-v8a">
|
||
<copyFile src="$S(PluginDir)/../ThirdParty/PXRPlugin/PXRPlugin/Lib/arm64-v8a/libpxr_api.so"
|
||
dst="$S(BuildDir)/libs/arm64-v8a/libpxr_api.so" />
|
||
</isArch>
|
||
|
||
<copyFile src="$S(PluginDir)/../ThirdParty/PXRPlugin/PXRPlugin/ExtLibs/libpxr_api.jar"
|
||
dst="$S(BuildDir)/libs/libpxr_plugin.jar" />
|
||
|
||
<copyFile src="$S(PluginDir)/../ThirdParty/PXRPlugin/PXRPlugin/ExtLibs/pvrjar.jar"
|
||
dst="$S(BuildDir)/libs/pvrjar.jar" />
|
||
|
||
<copyFile src="$S(BuildDir)/../../../pico_splash.png" dst="$S(BuildDir)/assets/pico_splash.png" />
|
||
|
||
</resourceCopies>
|
||
|
||
<!-- optional additions to the GameActivity imports in GameActivity.java -->
|
||
<gameActivityImportAdditions>
|
||
<insert>
|
||
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 about Content Protect -->
|
||
import com.psmart.aosoperation.SysActivity;
|
||
</insert>
|
||
</gameActivityImportAdditions>
|
||
|
||
<!-- optional additions to the GameActivity class in GameActivity.java -->
|
||
<gameActivityClassAdditions>
|
||
<insert>
|
||
public boolean AndroidThunkJava_IsOculusMobileApplication()
|
||
{
|
||
return true;
|
||
}
|
||
|
||
<!--Override dispatchKeyEvent-->
|
||
@Override
|
||
public boolean dispatchKeyEvent(KeyEvent event)
|
||
{
|
||
int action = event.getAction();
|
||
if (event.getKeyCode()==1001)
|
||
{
|
||
keyRemappingSendFakeKeyEvent(action , 96);
|
||
}
|
||
return super.dispatchKeyEvent(event);
|
||
}
|
||
|
||
<!--Send the input event 96 to unreal engine-->
|
||
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();
|
||
}
|
||
</insert>
|
||
</gameActivityClassAdditions>
|
||
|
||
<!-- optional additions to GameActivity onCreate in GameActivity.java -->
|
||
<gameActivityOnCreateAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnCreateAdditions ==========");
|
||
PicovrSDK.setJniActivity();
|
||
SysActivity.pxr_InitAudioDevice(this.getApplicationContext());
|
||
mMRCCalibration = new MRCCalibration();
|
||
</insert>
|
||
</gameActivityOnCreateAdditions>
|
||
|
||
<!-- optional additions to GameActivity onDestroy in GameActivity.java -->
|
||
<gameActivityOnDestroyAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnDestroyAdditions ==========");
|
||
</insert>
|
||
</gameActivityOnDestroyAdditions>
|
||
|
||
<!-- optional additions to GameActivity onStart in GameActivity.java -->
|
||
<gameActivityOnStartAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnStartAdditions ==========");
|
||
</insert>
|
||
<if condition="bEnablePSensor">
|
||
<true>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL: initPsensor! ==========");
|
||
SysActivity.initPsensor(this);
|
||
</insert>
|
||
</true>
|
||
</if>
|
||
</gameActivityOnStartAdditions>
|
||
|
||
<!-- optional additions to GameActivity onStop in GameActivity.java -->
|
||
<gameActivityOnStopAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnStopAdditions ==========");
|
||
</insert>
|
||
<if condition="bEnablePSensor">
|
||
<true>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL: unregisterListener! ==========");
|
||
SysActivity.unregisterListener();
|
||
</insert>
|
||
</true>
|
||
</if>
|
||
</gameActivityOnStopAdditions>
|
||
|
||
<!-- optional additions to GameActivity onPause in GameActivity.java -->
|
||
<gameActivityOnPauseAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnPauseAdditions ==========");
|
||
</insert>
|
||
</gameActivityOnPauseAdditions>
|
||
|
||
<!-- optional additions to GameActivity onResume in GameActivity.java -->
|
||
<gameActivityOnResumeAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnResumeAdditions ==========");
|
||
</insert>
|
||
</gameActivityOnResumeAdditions>
|
||
|
||
<!-- optional additions to GameActivity onActivityResult in GameActivity.java -->
|
||
<gameActivityOnActivityResultAdditions>
|
||
<insert>
|
||
Log.debug("========== PICOXR_UPL:gameActivityOnActivityResultAdditions ==========");
|
||
</insert>
|
||
</gameActivityOnActivityResultAdditions>
|
||
|
||
<!-- optional libraries to load in GameActivity.java before libUE4.so -->
|
||
<soLoadLibrary>
|
||
</soLoadLibrary>
|
||
</root>
|