mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-05 20:45:49 +01:00
handle dev (not game) messages arriving via gcm
This commit is contained in:
parent
a95d620b09
commit
0003065571
1 changed files with 22 additions and 11 deletions
|
@ -73,7 +73,7 @@ public class RelayService extends XWService
|
|||
, RESET
|
||||
}
|
||||
|
||||
private static final String MSGS = "MSGS";
|
||||
private static final String MSGS_ARR = "MSGS_ARR";
|
||||
private static final String RELAY_ID = "RELAY_ID";
|
||||
private static final String ROWID = "ROWID";
|
||||
private static final String BINBUFFER = "BINBUFFER";
|
||||
|
@ -184,7 +184,7 @@ public class RelayService extends XWService
|
|||
{
|
||||
DbgUtils.logf( "RelayService.processGameMsgs" );
|
||||
Intent intent = getIntentTo( context, MsgCmds.PROCESS_GAME_MSGS )
|
||||
.putExtra( MSGS, msgs64 )
|
||||
.putExtra( MSGS_ARR, msgs64 )
|
||||
.putExtra( RELAY_ID, relayId );
|
||||
context.startService( intent );
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ public class RelayService extends XWService
|
|||
public static void processDevMsgs( Context context, String[] msgs64 )
|
||||
{
|
||||
Intent intent = getIntentTo( context, MsgCmds.PROCESS_DEV_MSGS )
|
||||
.putExtra( MSGS, msgs64 );
|
||||
.putExtra( MSGS_ARR, msgs64 );
|
||||
context.startService( intent );
|
||||
}
|
||||
|
||||
|
@ -246,18 +246,17 @@ public class RelayService extends XWService
|
|||
relayIDs[0] = intent.getStringExtra( RELAY_ID );
|
||||
long[] rowIDs = DBUtils.getRowIDsFor( this, relayIDs[0] );
|
||||
if ( 0 < rowIDs.length ) {
|
||||
String[] msgs64 = intent.getStringArrayExtra( MSGS );
|
||||
int count = msgs64.length;
|
||||
|
||||
byte[][][] msgs = new byte[1][count][];
|
||||
for ( int ii = 0; ii < count; ++ii ) {
|
||||
msgs[0][ii] = XwJNI.base64Decode( msgs64[ii] );
|
||||
}
|
||||
byte[][][] msgs = expandMsgsArray( intent );
|
||||
process( msgs, rowIDs, relayIDs );
|
||||
}
|
||||
break;
|
||||
case PROCESS_DEV_MSGS:
|
||||
DbgUtils.logf( "dropping dev msg for now" );
|
||||
byte[][][] msgss = expandMsgsArray( intent );
|
||||
for ( byte[][] msgs : msgss ) {
|
||||
for ( byte[] msg : msgs ) {
|
||||
gotPacket( msg, true );
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UDP_CHANGED:
|
||||
startThreads();
|
||||
|
@ -1081,6 +1080,18 @@ public class RelayService extends XWService
|
|||
return m_maxIntervalSeconds;
|
||||
}
|
||||
|
||||
private byte[][][] expandMsgsArray( Intent intent )
|
||||
{
|
||||
String[] msgs64 = intent.getStringArrayExtra( MSGS_ARR );
|
||||
int count = msgs64.length;
|
||||
|
||||
byte[][][] msgs = new byte[1][count][];
|
||||
for ( int ii = 0; ii < count; ++ii ) {
|
||||
msgs[0][ii] = XwJNI.base64Decode( msgs64[ii] );
|
||||
}
|
||||
return msgs;
|
||||
}
|
||||
|
||||
/* Timers:
|
||||
*
|
||||
* Two goals: simulate the GCM experience for those who don't have
|
||||
|
|
Loading…
Add table
Reference in a new issue