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_DEBUG) \
-DXWFEATURE_RELAY \
-DRELAY_PORT_DEFAULT=10999 \
-DXWFEATURE_TURNCHANGENOTIFY \
-DKEYBOARD_NAV \
-DPERIMETER_FOCUS \

View file

@ -227,12 +227,12 @@ Java_org_eehouse_android_xw4_jni_XwJNI_gi_1from_1stream
JNIEXPORT void JNICALL
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;
const char* chars = (*env)->GetStringUTFChars( env, jname, NULL );
comms_getInitialAddr( &addr, chars );
comms_getInitialAddr( &addr, chars, port );
(*env)->ReleaseStringUTFChars( env, jname, chars );
setJAddrRec( env, jaddr, &addr );
}

View file

@ -338,7 +338,8 @@ public class GameConfig extends Activity implements View.OnClickListener {
XwJNI.comms_getAddr( gamePtr, m_carOrig );
} else {
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 );

View file

@ -117,4 +117,15 @@ public class CommonPrefs {
String key = s_context.getString( R.string.key_relay_host );
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 void gi_from_stream( CurGameInfo gi, byte[] stream );
public static native void comms_getInitialAddr( CommsAddrRec addr,
String relayHost );
String relayHost,
int relayPort );
// Game methods
public static native int initJNI();

View file

@ -722,13 +722,14 @@ void
comms_getInitialAddr( CommsAddrRec* addr
#ifdef XWFEATURE_RELAY
, const XP_UCHAR* relayName
, XP_U16 relayPort
#endif
)
{
#if defined XWFEATURE_RELAY
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.port = RELAY_PORT_DEFAULT;
addr->u.ip_relay.port = relayPort;
{
const char* name = relayName;
char* room = RELAY_ROOM_DEFAULT;

View file

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