fix NPE: abort more quickly when unbundling a NLI that's not there

This commit is contained in:
Eric House 2015-03-09 07:16:41 -07:00
parent 81a780d2ff
commit 0d4f96d3f6

View file

@ -95,7 +95,6 @@ public class NetLaunchInfo {
private NetLaunchInfo( Bundle bundle ) private NetLaunchInfo( Bundle bundle )
{ {
lang = bundle.getInt( MultiService.LANG ); lang = bundle.getInt( MultiService.LANG );
if ( 0 != lang ) { // don't bother if it's invalid
room = bundle.getString( MultiService.ROOM ); room = bundle.getString( MultiService.ROOM );
m_inviteID = bundle.getString( MultiService.INVITEID ); m_inviteID = bundle.getString( MultiService.INVITEID );
forceChannel = bundle.getInt( MultiService.FORCECHANNEL ); forceChannel = bundle.getInt( MultiService.FORCECHANNEL );
@ -109,15 +108,17 @@ public class NetLaunchInfo {
m_addrs = new CommsConnTypeSet( bundle.getInt( ADDRS_KEY ) ); m_addrs = new CommsConnTypeSet( bundle.getInt( ADDRS_KEY ) );
} }
}
public static NetLaunchInfo makeFrom( Bundle bundle ) public static NetLaunchInfo makeFrom( Bundle bundle )
{ {
NetLaunchInfo nli = new NetLaunchInfo( bundle ); NetLaunchInfo nli = null;
if ( 0 != bundle.getInt( MultiService.LANG ) ) { // quick test: valid?
nli = new NetLaunchInfo( bundle );
nli.calcValid(); nli.calcValid();
if ( !nli.isValid() ) { if ( !nli.isValid() ) {
nli = null; nli = null;
} }
}
return nli; return nli;
} }