mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-07 05:24:46 +01:00
return count of messages sent from comms_resendAll(), and post it as a
toast so user sees something happened.
This commit is contained in:
parent
dea75a815e
commit
3a32d3a17b
10 changed files with 47 additions and 17 deletions
|
@ -411,6 +411,9 @@ public final class R {
|
|||
*/
|
||||
public static final int query_trade_fmt=0x7f07000b;
|
||||
public static final int resend_finished_fmt=0x7f070007;
|
||||
/** Shown after "resend messages" menuitem chosen
|
||||
*/
|
||||
public static final int resent_msgs_fmt=0x7f07001f;
|
||||
/** Intro to the paragraph listing all of the tiles remaining
|
||||
*/
|
||||
public static final int strd_remains_expl_fmt=0x7f07000a;
|
||||
|
@ -848,7 +851,6 @@ public final class R {
|
|||
public static final int checking_for_fmt=0x7f0502ff;
|
||||
public static final int checking_title=0x7f0502fe;
|
||||
public static final int checkupdates_none_found=0x7f05022b;
|
||||
public static final int clip_label=0x7f05030f;
|
||||
/** color of the "crosshairs", lines drawn vertically and
|
||||
horizontally through the square the user is currently
|
||||
touching in order to guide the fat-fingered (most of us) in
|
||||
|
@ -1333,7 +1335,6 @@ public final class R {
|
|||
*/
|
||||
public static final int initial_player_minutes=0x7f050126;
|
||||
public static final int invite_choice_bt=0x7f05016b;
|
||||
public static final int invite_choice_clip=0x7f05030d;
|
||||
public static final int invite_choice_email=0x7f05016a;
|
||||
public static final int invite_choice_nfc=0x7f05016c;
|
||||
/** EXPLAIN ME
|
||||
|
@ -1356,7 +1357,6 @@ public final class R {
|
|||
*/
|
||||
public static final int invite_chooser_fmt=0x7f050171;
|
||||
public static final int invite_chooser_sms=0x7f050173;
|
||||
public static final int invite_copied=0x7f05030e;
|
||||
public static final int invite_dict_missing_body_fmt=0x7f05023b;
|
||||
public static final int invite_dict_missing_body_noname_fmt=0x7f05023c;
|
||||
public static final int invite_dict_missing_title=0x7f05023a;
|
||||
|
@ -1965,7 +1965,6 @@ public final class R {
|
|||
main Board screen
|
||||
*/
|
||||
public static final int not_again_chat=0x7f0501b1;
|
||||
public static final int not_again_clip_expl_fmt=0x7f050310;
|
||||
public static final int not_again_comms_bt=0x7f05030b;
|
||||
public static final int not_again_comms_relay=0x7f050309;
|
||||
public static final int not_again_comms_sms=0x7f05030a;
|
||||
|
|
|
@ -1677,20 +1677,22 @@ Java_org_eehouse_android_xw4_jni_XwJNI_game_1changeDict
|
|||
}
|
||||
#endif
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_org_eehouse_android_xw4_jni_XwJNI_comms_1resendAll
|
||||
( JNIEnv* env, jclass C, jint gamePtr, jboolean force, jboolean thenAck )
|
||||
{
|
||||
jint result;
|
||||
XWJNI_START();
|
||||
CommsCtxt* comms = state->game.comms;
|
||||
XP_ASSERT( !!comms );
|
||||
(void)comms_resendAll( comms, force );
|
||||
result = comms_resendAll( comms, force );
|
||||
if ( thenAck ) {
|
||||
#ifdef XWFEATURE_COMMSACK
|
||||
comms_ackAny( comms );
|
||||
#endif
|
||||
}
|
||||
XWJNI_END();
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef XWFEATURE_COMMSACK
|
||||
|
|
|
@ -2532,4 +2532,10 @@
|
|||
|
||||
<string name="str_no_hint_found">Cannot find any moves</string>
|
||||
|
||||
<!-- Shown after "resend messages" menuitem chosen -->
|
||||
<plurals name="resent_msgs_fmt">
|
||||
<item quantity="one">One message sent</item>
|
||||
<item quantity="other">%1$s messages sent</item>
|
||||
</plurals>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -2181,4 +2181,9 @@
|
|||
<string name="not_again_comms_bt">Esu Htooteulb ot yalp tsniaga a
|
||||
ybraen ecived taht\'s \"deriap\" htiw sruoy.</string>
|
||||
<string name="str_no_hint_found">Tonnac dnif yna sevom</string>
|
||||
<!-- Shown after "resend messages" menuitem chosen -->
|
||||
<plurals name="resent_msgs_fmt">
|
||||
<item quantity="one">Eno egassem tnes</item>
|
||||
<item quantity="other">%1$s segassem tnes</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
|
|
@ -2181,4 +2181,9 @@
|
|||
<string name="not_again_comms_bt">USE BLUETOOTH TO PLAY AGAINST A
|
||||
NEARBY DEVICE THAT\'S \"PAIRED\" WITH YOURS.</string>
|
||||
<string name="str_no_hint_found">CANNOT FIND ANY MOVES</string>
|
||||
<!-- Shown after "resend messages" menuitem chosen -->
|
||||
<plurals name="resent_msgs_fmt">
|
||||
<item quantity="one">ONE MESSAGE SENT</item>
|
||||
<item quantity="other">%1$s MESSAGES SENT</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
|
|
@ -2011,6 +2011,11 @@ public class BoardDelegate extends DelegateBase
|
|||
m_dlgTitle = msg.arg1;
|
||||
showDialog( DlgID.GAME_OVER );
|
||||
break;
|
||||
case JNIThread.MSGS_SENT:
|
||||
int nSent = (Integer)msg.obj;
|
||||
showToast( getQuantityString( R.plurals.resent_msgs_fmt,
|
||||
nSent, nSent ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -102,6 +102,7 @@ public class JNIThread extends Thread {
|
|||
public static final int TOOLBAR_STATES = 4;
|
||||
public static final int GOT_WORDS = 5;
|
||||
public static final int GAME_OVER = 6;
|
||||
public static final int MSGS_SENT = 7;
|
||||
|
||||
public class GameStateInfo implements Cloneable {
|
||||
public int visTileCount;
|
||||
|
@ -522,9 +523,11 @@ public class JNIThread extends Thread {
|
|||
break;
|
||||
|
||||
case CMD_RESEND:
|
||||
XwJNI.comms_resendAll( m_jniGamePtr,
|
||||
((Boolean)args[0]).booleanValue(),
|
||||
((Boolean)args[1]).booleanValue() );
|
||||
int nSent =
|
||||
XwJNI.comms_resendAll( m_jniGamePtr,
|
||||
((Boolean)args[0]).booleanValue(),
|
||||
((Boolean)args[1]).booleanValue() );
|
||||
Message.obtain( m_handler, MSGS_SENT, nSent ).sendToTarget();
|
||||
break;
|
||||
// case CMD_ACKANY:
|
||||
// XwJNI.comms_ackAny( m_jniGamePtr );
|
||||
|
|
|
@ -317,8 +317,8 @@ public class XwJNI {
|
|||
public static native void comms_getAddr( int gamePtr, CommsAddrRec addr );
|
||||
public static native CommsAddrRec[] comms_getAddrs( int gamePtr );
|
||||
public static native void comms_setAddr( int gamePtr, CommsAddrRec addr );
|
||||
public static native void comms_resendAll( int gamePtr, boolean force,
|
||||
boolean andAck );
|
||||
public static native int comms_resendAll( int gamePtr, boolean force,
|
||||
boolean andAck );
|
||||
public static native void comms_ackAny( int gamePtr );
|
||||
public static native void comms_transportFailed( int gamePtr,
|
||||
CommsConnType failed );
|
||||
|
|
|
@ -1436,9 +1436,10 @@ send_ack( CommsCtxt* comms )
|
|||
(void)send_via_relay( comms, XWRELAY_ACK, comms->rr.myHostID, NULL, 0 );
|
||||
}
|
||||
|
||||
XP_Bool
|
||||
XP_S16
|
||||
comms_resendAll( CommsCtxt* comms, XP_Bool force )
|
||||
{
|
||||
XP_S16 count = 0;
|
||||
XP_Bool success = XP_TRUE;
|
||||
XP_ASSERT( !!comms );
|
||||
|
||||
|
@ -1452,9 +1453,13 @@ comms_resendAll( CommsCtxt* comms, XP_Bool force )
|
|||
MsgQueueElem* msg;
|
||||
|
||||
for ( msg = comms->msgQueueHead; !!msg; msg = msg->next ) {
|
||||
if ( 0 > sendMsg( comms, msg ) ) {
|
||||
XP_S16 len = sendMsg( comms, msg );
|
||||
if ( 0 > len ) {
|
||||
success = XP_FALSE;
|
||||
break;
|
||||
} else {
|
||||
XP_ASSERT( 0 < len );
|
||||
++count;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1465,9 +1470,9 @@ comms_resendAll( CommsCtxt* comms, XP_Bool force )
|
|||
comms->nextResend = now + comms->resendBackoff;
|
||||
}
|
||||
}
|
||||
XP_LOGF( TAGFMT() "=>%d", TAGPRMS, success );
|
||||
return success;
|
||||
} /* comms_resend */
|
||||
XP_LOGF( TAGFMT() "=>%d", TAGPRMS, count );
|
||||
return count;
|
||||
} /* comms_resendAll */
|
||||
|
||||
#ifdef XWFEATURE_COMMSACK
|
||||
void
|
||||
|
|
|
@ -214,7 +214,7 @@ void addrFromStream( CommsAddrRec* addr, XWStreamCtxt* stream );
|
|||
void addrToStream( XWStreamCtxt* stream, const CommsAddrRec* addr );
|
||||
|
||||
XP_S16 comms_send( CommsCtxt* comms, XWStreamCtxt* stream );
|
||||
XP_Bool comms_resendAll( CommsCtxt* comms, XP_Bool force );
|
||||
XP_S16 comms_resendAll( CommsCtxt* comms, XP_Bool force );
|
||||
XP_U16 comms_getChannelSeed( CommsCtxt* comms );
|
||||
|
||||
#ifdef XWFEATURE_COMMSACK
|
||||
|
|
Loading…
Reference in a new issue