get relay port from prefs and pass into jni

This commit is contained in:
eehouse 2010-03-25 04:50:19 +00:00
parent 077bc53e80
commit 55abf1116b
7 changed files with 20 additions and 6 deletions

View file

@ -14,7 +14,6 @@ local_DEBUG = -DMEM_DEBUG -DDEBUG -DENABLE_LOGGING
local_DEFINES += \ local_DEFINES += \
$(local_DEBUG) \ $(local_DEBUG) \
-DXWFEATURE_RELAY \ -DXWFEATURE_RELAY \
-DRELAY_PORT_DEFAULT=10999 \
-DXWFEATURE_TURNCHANGENOTIFY \ -DXWFEATURE_TURNCHANGENOTIFY \
-DKEYBOARD_NAV \ -DKEYBOARD_NAV \
-DPERIMETER_FOCUS \ -DPERIMETER_FOCUS \

View file

@ -227,12 +227,12 @@ Java_org_eehouse_android_xw4_jni_XwJNI_gi_1from_1stream
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_org_eehouse_android_xw4_jni_XwJNI_comms_1getInitialAddr Java_org_eehouse_android_xw4_jni_XwJNI_comms_1getInitialAddr
( JNIEnv* env, jclass C, jobject jaddr, jstring jname ) ( JNIEnv* env, jclass C, jobject jaddr, jstring jname, jint port )
{ {
CommsAddrRec addr; CommsAddrRec addr;
const char* chars = (*env)->GetStringUTFChars( env, jname, NULL ); const char* chars = (*env)->GetStringUTFChars( env, jname, NULL );
comms_getInitialAddr( &addr, chars ); comms_getInitialAddr( &addr, chars, port );
(*env)->ReleaseStringUTFChars( env, jname, chars ); (*env)->ReleaseStringUTFChars( env, jname, chars );
setJAddrRec( env, jaddr, &addr ); setJAddrRec( env, jaddr, &addr );
} }

View file

@ -338,7 +338,8 @@ public class GameConfig extends Activity implements View.OnClickListener {
XwJNI.comms_getAddr( gamePtr, m_carOrig ); XwJNI.comms_getAddr( gamePtr, m_carOrig );
} else { } else {
String relayName = CommonPrefs.getDefaultRelayHost(); String relayName = CommonPrefs.getDefaultRelayHost();
XwJNI.comms_getInitialAddr( m_carOrig, relayName ); int relayPort = CommonPrefs.getDefaultRelayPort();
XwJNI.comms_getInitialAddr( m_carOrig, relayName, relayPort );
} }
XwJNI.game_dispose( gamePtr ); XwJNI.game_dispose( gamePtr );

View file

@ -117,4 +117,15 @@ public class CommonPrefs {
String key = s_context.getString( R.string.key_relay_host ); String key = s_context.getString( R.string.key_relay_host );
return sp.getString( key, "" ); return sp.getString( key, "" );
} }
public static int getDefaultRelayPort()
{
SharedPreferences sp =
PreferenceManager.getDefaultSharedPreferences( s_context );
String key = s_context.getString( R.string.key_relay_port );
String val = sp.getString( key, "" );
int result = 0;
result = Integer.decode( val );
return result;
}
} }

View file

@ -22,7 +22,8 @@ public class XwJNI {
public static native byte[] gi_to_stream( CurGameInfo gi ); public static native byte[] gi_to_stream( CurGameInfo gi );
public static native void gi_from_stream( CurGameInfo gi, byte[] stream ); public static native void gi_from_stream( CurGameInfo gi, byte[] stream );
public static native void comms_getInitialAddr( CommsAddrRec addr, public static native void comms_getInitialAddr( CommsAddrRec addr,
String relayHost ); String relayHost,
int relayPort );
// Game methods // Game methods
public static native int initJNI(); public static native int initJNI();

View file

@ -722,13 +722,14 @@ void
comms_getInitialAddr( CommsAddrRec* addr comms_getInitialAddr( CommsAddrRec* addr
#ifdef XWFEATURE_RELAY #ifdef XWFEATURE_RELAY
, const XP_UCHAR* relayName , const XP_UCHAR* relayName
, XP_U16 relayPort
#endif #endif
) )
{ {
#if defined XWFEATURE_RELAY #if defined XWFEATURE_RELAY
addr->conType = COMMS_CONN_RELAY; /* for temporary ease in debugging */ addr->conType = COMMS_CONN_RELAY; /* for temporary ease in debugging */
addr->u.ip_relay.ipAddr = 0L; /* force 'em to set it */ addr->u.ip_relay.ipAddr = 0L; /* force 'em to set it */
addr->u.ip_relay.port = RELAY_PORT_DEFAULT; addr->u.ip_relay.port = relayPort;
{ {
const char* name = relayName; const char* name = relayName;
char* room = RELAY_ROOM_DEFAULT; char* room = RELAY_ROOM_DEFAULT;

View file

@ -152,6 +152,7 @@ void comms_setConnID( CommsCtxt* comms, XP_U32 connID );
void comms_getInitialAddr( CommsAddrRec* addr void comms_getInitialAddr( CommsAddrRec* addr
#ifdef XWFEATURE_RELAY #ifdef XWFEATURE_RELAY
, const XP_UCHAR* relayName , const XP_UCHAR* relayName
, XP_U16 relayPort
#endif #endif
); );
XP_Bool comms_checkAddr( DeviceRole role, const CommsAddrRec* addr, XP_Bool comms_checkAddr( DeviceRole role, const CommsAddrRec* addr,