mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-24 07:58:34 +01:00
Merge branch 'android_branch' into relay_noconn
This commit is contained in:
commit
c81f035133
7 changed files with 24 additions and 84 deletions
|
@ -22,7 +22,7 @@
|
||||||
to come from a domain that you own or have control over. -->
|
to come from a domain that you own or have control over. -->
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.eehouse.android.xw4dbg"
|
package="org.eehouse.android.xw4dbg"
|
||||||
android:versionCode="90"
|
android:versionCode="91"
|
||||||
android:versionName="@string/app_version"
|
android:versionName="@string/app_version"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
to come from a domain that you own or have control over. -->
|
to come from a domain that you own or have control over. -->
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.eehouse.android.xw4"
|
package="org.eehouse.android.xw4"
|
||||||
android:versionCode="90"
|
android:versionCode="91"
|
||||||
android:versionName="@string/app_version"
|
android:versionName="@string/app_version"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h2>Crosswords 4.4 beta 97 release</h2>
|
<h2>Crosswords 4.4 beta 98 release</h2>
|
||||||
|
|
||||||
<p>This release changes how networked games are started and
|
<p>This release is mostly to get the new Dutch translation out
|
||||||
communicate.</p>
|
there, and to catch up Catalan and French.</p>
|
||||||
|
|
||||||
<div id="survey">
|
<div id="survey">
|
||||||
<p>Please <a href="https://www.surveymonkey.com/s/GX3XLHR">take
|
<p>Please <a href="https://www.surveymonkey.com/s/GX3XLHR">take
|
||||||
|
@ -26,63 +26,23 @@
|
||||||
|
|
||||||
<h3>New with this release</h3>
|
<h3>New with this release</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Change how games communicate: instead of using only one
|
<li>Complete and up-to-date translations into Dutch, French and
|
||||||
means (e.g. Bluetooth, SMS, or the internet/relay) a game can
|
Catalan. What langauge is next?</li>
|
||||||
use all three, switching based on what works at the time</li>
|
|
||||||
|
|
||||||
<li>Game creation requires only picking whether you're
|
<li>Allow copying invitation URL to clipboard so you can paste
|
||||||
networked or not, not how to communicate (though you can
|
it into any messaging app you like</li>
|
||||||
still control that if you like)</li>
|
|
||||||
|
|
||||||
<li>Separate inviting from playing: e.g. you can invite via
|
<li>Improvements to in-game chat experience (but more are coming)</li>
|
||||||
Bluetooth to a game that will be played via SMS</li>
|
|
||||||
|
|
||||||
<li>A game that needs remote players has a dialog on top of it
|
<li>Show a "toast" when hint button can't find any moves</li>
|
||||||
at all times you can use to invite players. The dialog goes
|
|
||||||
away when invited players connect.</li>
|
|
||||||
|
|
||||||
<li>But when a game hasn't connected yet, warn, and
|
<li>Add sms to the list of ways you can invite somebody</li>
|
||||||
don't let it send an invitation</li>
|
|
||||||
|
|
||||||
<li>On startup, if on a phone configured for other than English,
|
<li>When displaying Bluetooth-connected devices to invite, skip
|
||||||
offer to download an appropriate wordlist</li>
|
stuff like headphones</li>
|
||||||
|
<li>Turn off email invite attachments. They didn't seem to work anyway,
|
||||||
<li>New games are placed in the selected group (if any,
|
and aren't needed on modern Android.</li>
|
||||||
otherwise in default as before)</li>
|
<li>Fix very old memory leak</li>
|
||||||
|
|
||||||
<li>Add new-games buttons to main screen, and offer to hide them
|
|
||||||
after a while</li>
|
|
||||||
|
|
||||||
<li>Offer to turn Bluetooth and SMS on directly rather than just
|
|
||||||
take you to the Android prefs app</li>
|
|
||||||
|
|
||||||
<li>Hide public rooms interface by default, and add a preference
|
|
||||||
to turn it back on</li>
|
|
||||||
|
|
||||||
<li>Remove option to invite using SMS, since invitations are too
|
|
||||||
large now. (Will address in a release soon.)</li>
|
|
||||||
|
|
||||||
<li>Kill play-via-SMS for non-GSM phones. (Google's making
|
|
||||||
it too hard to support this, and non-GSM phones are only
|
|
||||||
found in one country anyway.)</li>
|
|
||||||
|
|
||||||
<li>Deal with deletion of dictionary that's been set as
|
|
||||||
default</li>
|
|
||||||
|
|
||||||
<li>In popup menu from in-game wordlist button, show only
|
|
||||||
wordlists in same language as game</li>
|
|
||||||
|
|
||||||
<li>When assigning new tiles, don't sort tiles to left of
|
|
||||||
tray divider</li>
|
|
||||||
|
|
||||||
<li>Remove "Reconnect" button from network status info</li>
|
|
||||||
|
|
||||||
<li>Include info for all communication means being used in
|
|
||||||
network status, and only show an icon in networked games </li>
|
|
||||||
|
|
||||||
<li>Show status message after writing to SD card</li>
|
|
||||||
|
|
||||||
<li>Fix a few crashes</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>(The full changelog
|
<p>(The full changelog
|
||||||
|
@ -92,7 +52,6 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li>Offer "Rematch" when game's over (Easy via
|
<li>Offer "Rematch" when game's over (Easy via
|
||||||
SMS and Bluetooth; harder via the internet/relay)</li>
|
SMS and Bluetooth; harder via the internet/relay)</li>
|
||||||
<li>Fix invite-by-SMS (and then re-enable)</li>
|
|
||||||
<li>Look into supporting play via peer-to-peer wifi</li>
|
<li>Look into supporting play via peer-to-peer wifi</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_version">4.4 beta 97</string>
|
<string name="app_version">4.4 beta 98</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -142,7 +142,7 @@ public class DBUtils {
|
||||||
DBHelper.ROOMNAME, DBHelper.RELAYID,
|
DBHelper.ROOMNAME, DBHelper.RELAYID,
|
||||||
/*DBHelper.SMSPHONE,*/ DBHelper.SEED,
|
/*DBHelper.SMSPHONE,*/ DBHelper.SEED,
|
||||||
DBHelper.DICTLANG, DBHelper.GAMEID,
|
DBHelper.DICTLANG, DBHelper.GAMEID,
|
||||||
DBHelper.SCORES, DBHelper.HASMSGS,
|
DBHelper.SCORES,
|
||||||
DBHelper.LASTPLAY_TIME, DBHelper.REMOTEDEVS,
|
DBHelper.LASTPLAY_TIME, DBHelper.REMOTEDEVS,
|
||||||
DBHelper.LASTMOVE, DBHelper.NPACKETSPENDING,
|
DBHelper.LASTMOVE, DBHelper.NPACKETSPENDING,
|
||||||
DBHelper.EXTRAS,
|
DBHelper.EXTRAS,
|
||||||
|
@ -255,11 +255,6 @@ public class DBUtils {
|
||||||
col = cursor.getColumnIndex( DBHelper.SERVERROLE );
|
col = cursor.getColumnIndex( DBHelper.SERVERROLE );
|
||||||
tmp = cursor.getInt( col );
|
tmp = cursor.getInt( col );
|
||||||
summary.serverRole = CurGameInfo.DeviceRole.values()[tmp];
|
summary.serverRole = CurGameInfo.DeviceRole.values()[tmp];
|
||||||
|
|
||||||
col = cursor.getColumnIndex( DBHelper.HASMSGS );
|
|
||||||
if ( col >= 0 ) {
|
|
||||||
summary.pendingMsgLevel = cursor.getInt( col );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
cursor.close();
|
cursor.close();
|
||||||
db.close();
|
db.close();
|
||||||
|
@ -307,7 +302,6 @@ public class DBUtils {
|
||||||
values.put( DBHelper.NEXTNAG, nextNag );
|
values.put( DBHelper.NEXTNAG, nextNag );
|
||||||
|
|
||||||
values.put( DBHelper.DICTLIST, summary.dictNames(DICTS_SEP) );
|
values.put( DBHelper.DICTLIST, summary.dictNames(DICTS_SEP) );
|
||||||
values.put( DBHelper.HASMSGS, summary.pendingMsgLevel );
|
|
||||||
if ( null != inviteID ) {
|
if ( null != inviteID ) {
|
||||||
values.put( DBHelper.INVITEID, inviteID );
|
values.put( DBHelper.INVITEID, inviteID );
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,13 +162,6 @@ public class GameUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static GameSummary summarizeAndClose( Context context,
|
|
||||||
GameLock lock,
|
|
||||||
int gamePtr, CurGameInfo gi )
|
|
||||||
{
|
|
||||||
return summarizeAndClose( context, lock, gamePtr, gi, null );
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int setFromFeedImpl( FeedUtilsImpl feedImpl )
|
private static int setFromFeedImpl( FeedUtilsImpl feedImpl )
|
||||||
{
|
{
|
||||||
int result = GameSummary.MSG_FLAGS_NONE;
|
int result = GameSummary.MSG_FLAGS_NONE;
|
||||||
|
@ -185,17 +178,12 @@ public class GameUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static GameSummary summarizeAndClose( Context context,
|
private static GameSummary summarizeAndClose( Context context,
|
||||||
GameLock lock,
|
GameLock lock, int gamePtr,
|
||||||
int gamePtr, CurGameInfo gi,
|
CurGameInfo gi )
|
||||||
FeedUtilsImpl feedImpl )
|
|
||||||
{
|
{
|
||||||
GameSummary summary = new GameSummary( context, gi );
|
GameSummary summary = new GameSummary( context, gi );
|
||||||
XwJNI.game_summarize( gamePtr, summary );
|
XwJNI.game_summarize( gamePtr, summary );
|
||||||
|
|
||||||
if ( null != feedImpl ) {
|
|
||||||
summary.pendingMsgLevel |= setFromFeedImpl( feedImpl );
|
|
||||||
}
|
|
||||||
|
|
||||||
DBUtils.saveSummary( context, lock, summary );
|
DBUtils.saveSummary( context, lock, summary );
|
||||||
|
|
||||||
XwJNI.game_dispose( gamePtr );
|
XwJNI.game_dispose( gamePtr );
|
||||||
|
@ -932,12 +920,13 @@ public class GameUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
saveGame( context, gamePtr, gi, lock, false );
|
saveGame( context, gamePtr, gi, lock, false );
|
||||||
summarizeAndClose( context, lock, gamePtr, gi, feedImpl );
|
summarizeAndClose( context, lock, gamePtr, gi );
|
||||||
|
|
||||||
int flags = setFromFeedImpl( feedImpl );
|
int flags = setFromFeedImpl( feedImpl );
|
||||||
if ( GameSummary.MSG_FLAGS_NONE != flags ) {
|
if ( GameSummary.MSG_FLAGS_NONE != flags ) {
|
||||||
draw = true;
|
draw = true;
|
||||||
DBUtils.setMsgFlags( rowid, flags );
|
int curFlags = DBUtils.getMsgFlags( context, rowid );
|
||||||
|
DBUtils.setMsgFlags( rowid, flags | curFlags );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
|
|
|
@ -63,7 +63,6 @@ public class GameSummary {
|
||||||
public String roomName;
|
public String roomName;
|
||||||
public String relayID;
|
public String relayID;
|
||||||
public int seed;
|
public int seed;
|
||||||
public int pendingMsgLevel;
|
|
||||||
public long modtime;
|
public long modtime;
|
||||||
public int gameID;
|
public int gameID;
|
||||||
public String[] remoteDevs; // BTAddrs and phone numbers
|
public String[] remoteDevs; // BTAddrs and phone numbers
|
||||||
|
@ -83,7 +82,6 @@ public class GameSummary {
|
||||||
|
|
||||||
public GameSummary( Context context ) {
|
public GameSummary( Context context ) {
|
||||||
m_context = context;
|
m_context = context;
|
||||||
pendingMsgLevel = 0;
|
|
||||||
gameID = 0;
|
gameID = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue