mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-02 20:46:15 +01:00
use tryLock() to avoid on-ui-thread assertions
This commit is contained in:
parent
62cd90c183
commit
b0805b0b6a
1 changed files with 13 additions and 18 deletions
|
@ -537,14 +537,13 @@ public class GameConfigDelegate extends DelegateBase
|
||||||
m_giOrig = new CurGameInfo( m_activity );
|
m_giOrig = new CurGameInfo( m_activity );
|
||||||
|
|
||||||
GameLock gameLock = null;
|
GameLock gameLock = null;
|
||||||
XwJNI.GamePtr gamePtr;
|
XwJNI.GamePtr gamePtr = null;
|
||||||
if ( null == m_jniThread ) {
|
if ( null == m_jniThread ) {
|
||||||
try {
|
gameLock = GameLock.getFor( m_rowid ).tryLockRO();
|
||||||
gameLock = GameLock.getFor( m_rowid ).lockRO();
|
if ( null != gameLock ) {
|
||||||
} catch (InterruptedException iex) {
|
gamePtr = GameUtils.loadMakeGame( m_activity, m_giOrig,
|
||||||
Assert.assertFalse( BuildConfig.DEBUG );
|
gameLock );
|
||||||
}
|
}
|
||||||
gamePtr = GameUtils.loadMakeGame( m_activity, m_giOrig, gameLock );
|
|
||||||
} else {
|
} else {
|
||||||
gameLock = m_jniThread.getLock();
|
gameLock = m_jniThread.getLock();
|
||||||
gamePtr = m_jniThread.getGamePtr();
|
gamePtr = m_jniThread.getGamePtr();
|
||||||
|
@ -1234,9 +1233,8 @@ public class GameConfigDelegate extends DelegateBase
|
||||||
private void applyChanges( boolean forceNew )
|
private void applyChanges( boolean forceNew )
|
||||||
{
|
{
|
||||||
if ( !isFinishing() ) {
|
if ( !isFinishing() ) {
|
||||||
try {
|
|
||||||
GameLock gameLock = m_jniThread == null
|
GameLock gameLock = m_jniThread == null
|
||||||
? GameLock.getFor( m_rowid ).lock()
|
? GameLock.getFor( m_rowid ).tryLock()
|
||||||
: m_jniThread.getLock();
|
: m_jniThread.getLock();
|
||||||
GameUtils.applyChanges( m_activity, m_gi, m_car, m_disabMap,
|
GameUtils.applyChanges( m_activity, m_gi, m_car, m_disabMap,
|
||||||
gameLock, forceNew );
|
gameLock, forceNew );
|
||||||
|
@ -1244,9 +1242,6 @@ public class GameConfigDelegate extends DelegateBase
|
||||||
if ( null == m_jniThread ) {
|
if ( null == m_jniThread ) {
|
||||||
gameLock.unlock();
|
gameLock.unlock();
|
||||||
}
|
}
|
||||||
} catch (InterruptedException iex) {
|
|
||||||
Assert.assertFalse( BuildConfig.DEBUG );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue