// called by AppThreadFunction public void ovrApp_BackButtonAction() { // 1484 if (this.BackButtonState == ovrBackButtonState.BACK_BUTTON_STATE_PENDING_DOUBLE_TAP) { //ALOGV("back button double tap"); this.BackButtonState = ovrBackButtonState.BACK_BUTTON_STATE_SKIP_UP; } else if (this.BackButtonState == ovrBackButtonState.BACK_BUTTON_STATE_PENDING_SHORT_PRESS && !this.BackButtonDown) { if ((VrApi.vrapi_GetTimeInSeconds() - this.BackButtonDownStartTime) > VrApi_Android.BACK_BUTTON_DOUBLE_TAP_TIME_IN_SECONDS) { ConsoleExtensions.trace("back button short press"); //ALOGV(" ovr_StartSystemActivity( %s )", PUI_CONFIRM_QUIT); VrApi_Android.ovr_StartSystemActivity(ref Java, VrApi.PUI_CONFIRM_QUIT, default(string)); this.BackButtonState = ovrBackButtonState.BACK_BUTTON_STATE_NONE; } } else if (this.BackButtonState == ovrBackButtonState.BACK_BUTTON_STATE_NONE && this.BackButtonDown) { if ((VrApi.vrapi_GetTimeInSeconds() - this.BackButtonDownStartTime) > VrApi_Android.BACK_BUTTON_LONG_PRESS_TIME_IN_SECONDS) { ConsoleExtensions.trace("back button long press"); //ALOGV(" ovr_StartSystemActivity( %s )", PUI_GLOBAL_MENU); VrApi_Android.ovr_StartSystemActivity(ref Java, VrApi.PUI_GLOBAL_MENU, null); this.BackButtonState = ovrBackButtonState.BACK_BUTTON_STATE_SKIP_UP; } } }
// sent by? // called by AppThreadFunction public void ovrApp_HandleSystemEvents() { // 1568 var MAX_EVENT_SIZE = 4096u; var eventBuffer = new byte[MAX_EVENT_SIZE]; for (var status = VrApi_Android.ovr_GetNextPendingEvent(eventBuffer, MAX_EVENT_SIZE); status >= eVrApiEventStatus.VRAPI_EVENT_PENDING; status = VrApi_Android.ovr_GetNextPendingEvent(eventBuffer, MAX_EVENT_SIZE)) { if (status != eVrApiEventStatus.VRAPI_EVENT_PENDING) { if (status != eVrApiEventStatus.VRAPI_EVENT_CONSUMED) { //ALOGE("Error %i handing System Activities Event", status); } continue; } } }