changelog and cleanup

This commit is contained in:
Eric House 2019-03-20 16:50:44 -07:00
parent 1522463a3a
commit c1c2c415dd
8 changed files with 10 additions and 38 deletions

View file

@ -15,8 +15,8 @@
<body> <body>
<h2>CrossWords 4.4.143 release</h2> <h2>CrossWords 4.4.143 release</h2>
<p>This is a fdroid-only release fixing a problem that made the <p>This release fixes a relay communication problem for all versions
previous release, whose changelist is below, unbuildable for fdroid</p> and a build problem for the F-Droid version</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,26 +26,11 @@
<h3>New with this release</h3> <h3>New with this release</h3>
<ul> <ul>
<li>Lots of internal changes to background networking (for games <li>Stop replacing your name with "Player 2"</li>
using the relay, Bluetooth or Data SMS) to comply with <li>Fix long-standing bug in Relay networking</li>
recent requirements from Google. (I hope you won't notice <li>Fix F-Droid build </li>
:-) </li> <li>Improve interaction with NBSProxy (impacts those using
<li>Improve Invite-via-Bluetooth dialog, esp. show when a remote play-by-Data-SMS)</li>
device was last detected via scan</li>
<li>Disable Play-by-Data-SMS feature (Google Play version only)</li>
<li>Store new games outside Archive group even if created from
inside it</li>
<li>Replace "Google Cloud Messaging" with the newer Firebase
workalike. (You should not notice, at least in the Google
Play Store version.)</li>
<li>For Spanish games only, allow trades when fewer than 7 tiles
remain</li>
<li>New translations in Arabic, German, Japanese, Norwegian,
Polish and Portuguese</li>
<li>Use https instead of http for web communication
(e.g. wordlist downloads)</li>
<li>Disable logging for release builds (to improve performance)</li>
<li>Fix some infrequent crashes</li>
</ul> </ul>
<p>(The full changelog <p>(The full changelog
@ -55,6 +40,7 @@
<ul> <ul>
<li>Improve play-by-data-sms workaround <li>Improve play-by-data-sms workaround
using <a href="https://github.com/eehouse/nbsproxy">NBSProxy</a></li> using <a href="https://github.com/eehouse/nbsproxy">NBSProxy</a></li>
<li>More networking improvements</li>
</ul> </ul>
<p>Please let me know <p>Please let me know

View file

@ -1358,7 +1358,7 @@ public class BoardDelegate extends DelegateBase
break; break;
case MESSAGE_NOGAME: case MESSAGE_NOGAME:
final int gameID = (Integer)args[0]; final int gameID = (Integer)args[0];
if ( null != m_gi && gameID == m_gi.gameID && !isFinishing() ) { // NPE if ( null != m_gi && gameID == m_gi.gameID && !isFinishing() ) {
post( new Runnable() { post( new Runnable() {
@Override @Override
public void run() { public void run() {

View file

@ -319,7 +319,6 @@ public class GameLock implements AutoCloseable, Serializable {
public void release() public void release()
{ {
int count = m_lockCount.decrementAndGet(); int count = m_lockCount.decrementAndGet();
Log.d( TAG, "%s.release(): count NOW %d", this, count );
if ( count == 0 ) { if ( count == 0 ) {
getFor( m_rowid ).unlock(); getFor( m_rowid ).unlock();
} }
@ -328,7 +327,6 @@ public class GameLock implements AutoCloseable, Serializable {
public GameLock retain() public GameLock retain()
{ {
int count = m_lockCount.incrementAndGet(); int count = m_lockCount.incrementAndGet();
Log.d( TAG, "%s.retain(): count NOW %d", this, count );
return this; return this;
} }

View file

@ -201,7 +201,6 @@ public class GameUtils {
private static GameSummary summarize( Context context, GameLock lock, private static GameSummary summarize( Context context, GameLock lock,
GamePtr gamePtr, CurGameInfo gi ) GamePtr gamePtr, CurGameInfo gi )
{ {
Log.d( TAG, "summarize(gi=%s)", gi );
GameSummary summary = new GameSummary( gi ); GameSummary summary = new GameSummary( gi );
XwJNI.game_summarize( gamePtr, summary ); XwJNI.game_summarize( gamePtr, summary );
@ -523,7 +522,6 @@ public class GameUtils {
CurGameInfo gi, GameLock lock, CurGameInfo gi, GameLock lock,
boolean setCreate ) boolean setCreate )
{ {
Log.d( TAG, "saveGame() gi: %s", gi );
byte[] stream = XwJNI.game_saveToStream( gamePtr, gi ); byte[] stream = XwJNI.game_saveToStream( gamePtr, gi );
return saveGame( context, stream, lock, setCreate ); return saveGame( context, stream, lock, setCreate );
} }
@ -531,7 +529,6 @@ public class GameUtils {
public static long saveNewGame( Context context, GamePtr gamePtr, public static long saveNewGame( Context context, GamePtr gamePtr,
CurGameInfo gi, long groupID ) CurGameInfo gi, long groupID )
{ {
Log.d( TAG, "saveNewGame() gi: %s", gi );
byte[] stream = XwJNI.game_saveToStream( gamePtr, gi ); byte[] stream = XwJNI.game_saveToStream( gamePtr, gi );
long rowid; long rowid;
try ( GameLock lock = DBUtils.saveNewGame( context, stream, groupID, null ) ) { try ( GameLock lock = DBUtils.saveNewGame( context, stream, groupID, null ) ) {
@ -1047,7 +1044,6 @@ public class GameUtils {
DBUtils.setMsgFlags( rowid, flags | curFlags ); DBUtils.setMsgFlags( rowid, flags | curFlags );
} }
} }
Log.d( TAG, "feedMessage(): gi: %s)", gi );
} }
} catch ( GameLock.GameLockedException gle ) { } catch ( GameLock.GameLockedException gle ) {
DbgUtils.toastNoLock( TAG, context, rowid, DbgUtils.toastNoLock( TAG, context, rowid,

View file

@ -72,9 +72,6 @@ public class XWApp extends Application
Assert.assertTrue( s_context == s_context.getApplicationContext() ); Assert.assertTrue( s_context == s_context.getApplicationContext() );
super.onCreate(); super.onCreate();
// Remove me soon!!!
Assert.assertTrue( BuildConfig.DEBUG == getResources().getBoolean(R.bool.DEBUG) );
ProcessLifecycleOwner.get().getLifecycle().addObserver(this); ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
android.util.Log.i( TAG, "onCreate(); git_rev=" android.util.Log.i( TAG, "onCreate(); git_rev="

View file

@ -388,7 +388,6 @@ public class JNIThread extends Thread implements AutoCloseable {
if ( null != m_newDict ) { if ( null != m_newDict ) {
m_gi.dictName = m_newDict; m_gi.dictName = m_newDict;
} }
Log.d( TAG, "save_jni(); m_gi: %s", m_gi );
byte[] state = XwJNI.game_saveToStream( m_jniGamePtr, m_gi ); byte[] state = XwJNI.game_saveToStream( m_jniGamePtr, m_gi );
int newHash = Arrays.hashCode( state ); int newHash = Arrays.hashCode( state );
boolean hashesEqual = m_lastSavedState == newHash; boolean hashesEqual = m_lastSavedState == newHash;

View file

@ -44,7 +44,6 @@ public class LocalPlayer implements Serializable {
isLocal = true; isLocal = true;
robotIQ = 0; // human robotIQ = 0; // human
name = CommonPrefs.getDefaultPlayerName( context, num, true ); name = CommonPrefs.getDefaultPlayerName( context, num, true );
Log.d( TAG, "__init(%d) => %s", num, name );
password = ""; password = "";
// Utils.testSerialization( this ); // Utils.testSerialization( this );

View file

@ -163,7 +163,6 @@ public class XwJNI {
public static void gi_from_stream( CurGameInfo gi, byte[] stream ) public static void gi_from_stream( CurGameInfo gi, byte[] stream )
{ {
gi_from_stream( getJNI().m_ptr, gi, stream ); gi_from_stream( getJNI().m_ptr, gi, stream );
Log.d( TAG, "gi_from_stream() read: %s", gi );
} }
public static byte[] nliToStream( NetLaunchInfo nli ) public static byte[] nliToStream( NetLaunchInfo nli )
@ -208,8 +207,6 @@ public class XwJNI {
cp, procs ) ) { cp, procs ) ) {
gamePtr.release(); gamePtr.release();
gamePtr = null; gamePtr = null;
} else {
Log.d( TAG, "initFromStream() read: %s", gi );
} }
return gamePtr; return gamePtr;