From 0d4f96d3f6bbb85f0de103d7c1bf68e66513c1de Mon Sep 17 00:00:00 2001 From: Eric House Date: Mon, 9 Mar 2015 07:16:41 -0700 Subject: [PATCH] fix NPE: abort more quickly when unbundling a NLI that's not there --- .../eehouse/android/xw4/NetLaunchInfo.java | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetLaunchInfo.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetLaunchInfo.java index 1bbd60181..1928e371a 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetLaunchInfo.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NetLaunchInfo.java @@ -95,28 +95,29 @@ public class NetLaunchInfo { private NetLaunchInfo( Bundle bundle ) { lang = bundle.getInt( MultiService.LANG ); - if ( 0 != lang ) { // don't bother if it's invalid - room = bundle.getString( MultiService.ROOM ); - m_inviteID = bundle.getString( MultiService.INVITEID ); - forceChannel = bundle.getInt( MultiService.FORCECHANNEL ); - dict = bundle.getString( MultiService.DICT ); - gameName = bundle.getString( MultiService.GAMENAME ); - nPlayersT = bundle.getInt( MultiService.NPLAYERST ); - nPlayersH = bundle.getInt( MultiService.NPLAYERSH ); - m_gameID = bundle.getInt( MultiService.GAMEID ); - btName = bundle.getString( MultiService.BT_NAME ); - btAddress = bundle.getString( MultiService.BT_ADDRESS ); + room = bundle.getString( MultiService.ROOM ); + m_inviteID = bundle.getString( MultiService.INVITEID ); + forceChannel = bundle.getInt( MultiService.FORCECHANNEL ); + dict = bundle.getString( MultiService.DICT ); + gameName = bundle.getString( MultiService.GAMENAME ); + nPlayersT = bundle.getInt( MultiService.NPLAYERST ); + nPlayersH = bundle.getInt( MultiService.NPLAYERSH ); + m_gameID = bundle.getInt( MultiService.GAMEID ); + btName = bundle.getString( MultiService.BT_NAME ); + btAddress = bundle.getString( MultiService.BT_ADDRESS ); - m_addrs = new CommsConnTypeSet( bundle.getInt( ADDRS_KEY ) ); - } + m_addrs = new CommsConnTypeSet( bundle.getInt( ADDRS_KEY ) ); } public static NetLaunchInfo makeFrom( Bundle bundle ) { - NetLaunchInfo nli = new NetLaunchInfo( bundle ); - nli.calcValid(); - if ( !nli.isValid() ) { - nli = null; + NetLaunchInfo nli = null; + if ( 0 != bundle.getInt( MultiService.LANG ) ) { // quick test: valid? + nli = new NetLaunchInfo( bundle ); + nli.calcValid(); + if ( !nli.isValid() ) { + nli = null; + } } return nli; }