Skip to content

Commit 69b2865

Browse files
author
lijiahao
committed
fix: switch device trigger work incorrect issue
1 parent b649252 commit 69b2865

5 files changed

Lines changed: 25 additions & 8 deletions

File tree

android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ android {
8282
targetSdkVersion rootProject.ext.targetSdkVersion
8383
// applicationId "com.gamepass"
8484
// versionCode 1999999999
85-
versionName "2.4.3"
85+
versionName "2.4.4"
8686
}
8787
signingConfigs {
8888
debug {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "xstreaming",
3-
"version": "2.4.3",
3+
"version": "2.4.4",
44
"private": true,
55
"scripts": {
66
"android": "react-native run-android",

src/pages/NativeStream.jsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ function NativeStreamScreen({navigation, route}) {
122122
const isRequestExit = React.useRef(false);
123123
const isConnected = React.useRef(false);
124124

125+
const isTriggerWork = React.useRef(false);
126+
125127
// event
126128
const usbGpEventListener = React.useRef(undefined);
127129
const sensorEventListener = React.useRef(undefined);
@@ -378,7 +380,13 @@ function NativeStreamScreen({navigation, route}) {
378380
triggerEventListener.current = eventEmitter.addListener(
379381
'onTrigger',
380382
event => {
381-
// console.log('onTrigger:', event);
383+
// Notice: some controllers will emit onTrigger and onGamepadKeyDown at the same time
384+
385+
if (!isTriggerWork.current && (event.leftTrigger > 0 || event.rightTrigger > 0)) {
386+
isTriggerWork.current = true
387+
}
388+
389+
if (!isTriggerWork.current) return
382390

383391
// Short trigger
384392
if (_settings.short_trigger) {

src/pages/Stream.jsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ function StreamScreen({navigation, route}) {
116116
const triggerEventListener = React.useRef(undefined);
117117
const timer = React.useRef(undefined);
118118
const isRightstickMoving = React.useRef(false);
119+
const isTriggerWork = React.useRef(false);
119120

120121
const usbGpEventListener = React.useRef(undefined);
121122
const sensorEventListener = React.useRef(undefined);
@@ -387,7 +388,15 @@ function StreamScreen({navigation, route}) {
387388
triggerEventListener.current = eventEmitter.addListener(
388389
'onTrigger',
389390
event => {
390-
console.log('onTrigger:', event);
391+
// console.log('onTrigger:', event);
392+
393+
// Notice: some controllers will emit onTrigger and onGamepadKeyDown at the same time
394+
if (!isTriggerWork.current && (event.leftTrigger > 0 || event.rightTrigger > 0)) {
395+
isTriggerWork.current = true
396+
}
397+
398+
if (!isTriggerWork.current) return
399+
391400
// Short trigger
392401
if (_settings.short_trigger) {
393402
triggerMax = _settings.dead_zone;

src/xCloud/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ export default class XcloudApi {
354354
)
355355
.then(res => {
356356
log.info('[sendSChatSdp] res.data:', res.data);
357-
if (res.data.exchangeResponse) {
357+
if (res.data && res.data.exchangeResponse) {
358358
resolve(res.data);
359359
} else {
360360
const checkInterval = setInterval(() => {
@@ -373,7 +373,7 @@ export default class XcloudApi {
373373
},
374374
)
375375
.then(res2 => {
376-
if (res2.data.exchangeResponse) {
376+
if (res2.data && res2.data.exchangeResponse) {
377377
resolve(res2.data);
378378
clearInterval(checkInterval);
379379
}
@@ -403,9 +403,9 @@ export default class XcloudApi {
403403
const iceResult = iceResponse.data;
404404
log.info('[checkIceResponse] res:', iceResult);
405405

406-
if (iceResult === '' || iceResult === null) {
406+
// If result is empty, continue check
407+
if (!iceResult) {
407408
setTimeout(() => {
408-
// Continue check
409409
this.checkIceResponse()
410410
.then(state => {
411411
resolve(state);

0 commit comments

Comments
 (0)