From dae24f55d481285d424e96edf24d8998790dd98b Mon Sep 17 00:00:00 2001 From: Eric House Date: Fri, 20 Dec 2019 19:09:47 -0800 Subject: [PATCH] fix reported NPE: try 100ms to get lock then give up I suspect it's really rare to fail to get the lock when the game's not open, but hope that trying 100ms before giving up will make failure to save rare enough to be ok. --- .../org/eehouse/android/xw4/GameConfigDelegate.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/GameConfigDelegate.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/GameConfigDelegate.java index 235d18e5a..33be78a13 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/GameConfigDelegate.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/GameConfigDelegate.java @@ -1246,19 +1246,12 @@ public class GameConfigDelegate extends DelegateBase if ( null != m_jniThread ) { applyChanges( m_jniThread.getLock(), forceNew ); } else { - try ( GameLock lock = GameLock.tryLock( m_rowid ) ) { + try ( GameLock lock = GameLock.lock( m_rowid, 100L ) ) { applyChanges( lock, forceNew ); + } catch ( GameLock.GameLockedException gle ) { + Log.e( TAG, "applyChanges(): failed to get lock" ); } } - // } - // GameLock gameLock = m_jniThread == null - // ? GameLock.tryLock( m_rowid ) : m_jniThread.getLock(); - // GameUtils.applyChanges( m_activity, m_gi, m_car, m_disabMap, - // gameLock, forceNew ); - // DBUtils.saveThumbnail( m_activity, gameLock, null ); // clear it - // if ( null == m_jniThread ) { - // gameLock.unlock(); - // } } }