File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 {
Original file line number Diff line number Diff line change 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" ,
Original file line number Diff line number Diff 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 ) {
Original file line number Diff line number Diff 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 ;
Original file line number Diff line number Diff 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 ) ;
You can’t perform that action at this time.
0 commit comments