mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-29 08:34:37 +01:00
fix crash on K's G2X due to URI.fromFile() returning a really strange
path. I don't need a URI anyway as the path is now just a key for DB lookup. So just pass the name as an extra -- and rename variable to reflect.
This commit is contained in:
parent
d0f0fa04ce
commit
c46015c514
3 changed files with 17 additions and 19 deletions
|
@ -56,6 +56,9 @@ import org.eehouse.android.xw4.jni.CurGameInfo.DeviceRole;
|
||||||
public class BoardActivity extends XWActivity
|
public class BoardActivity extends XWActivity
|
||||||
implements TransportProcs.TPMsgHandler {
|
implements TransportProcs.TPMsgHandler {
|
||||||
|
|
||||||
|
public static final String INTENT_KEY_NAME = "name";
|
||||||
|
public static final String INTENT_KEY_CHAT = "chat";
|
||||||
|
|
||||||
private static final int DLG_OKONLY = DlgDelegate.DIALOG_LAST + 1;
|
private static final int DLG_OKONLY = DlgDelegate.DIALOG_LAST + 1;
|
||||||
private static final int DLG_BADWORDS = DLG_OKONLY + 1;
|
private static final int DLG_BADWORDS = DLG_OKONLY + 1;
|
||||||
private static final int QUERY_REQUEST_BLK = DLG_OKONLY + 2;
|
private static final int QUERY_REQUEST_BLK = DLG_OKONLY + 2;
|
||||||
|
@ -75,7 +78,7 @@ public class BoardActivity extends XWActivity
|
||||||
CommsTransport m_xport;
|
CommsTransport m_xport;
|
||||||
private Handler m_handler;
|
private Handler m_handler;
|
||||||
private TimerRunnable[] m_timers;
|
private TimerRunnable[] m_timers;
|
||||||
private String m_path;
|
private String m_name;
|
||||||
private Uri m_uri;
|
private Uri m_uri;
|
||||||
private Toolbar m_toolbar;
|
private Toolbar m_toolbar;
|
||||||
private ArrayList<String> m_pendingChats = new ArrayList<String>();
|
private ArrayList<String> m_pendingChats = new ArrayList<String>();
|
||||||
|
@ -160,7 +163,7 @@ public class BoardActivity extends XWActivity
|
||||||
|
|
||||||
waitCloseGame( false );
|
waitCloseGame( false );
|
||||||
GameUtils.deleteGame( BoardActivity.this,
|
GameUtils.deleteGame( BoardActivity.this,
|
||||||
m_path, false );
|
m_name, false );
|
||||||
// Intent intent = new Intent();
|
// Intent intent = new Intent();
|
||||||
// intent.putExtra( "delete", true );
|
// intent.putExtra( "delete", true );
|
||||||
// intent.putExtra( "path", m_path );
|
// intent.putExtra( "path", m_path );
|
||||||
|
@ -287,12 +290,8 @@ public class BoardActivity extends XWActivity
|
||||||
m_view = (BoardView)findViewById( R.id.board_view );
|
m_view = (BoardView)findViewById( R.id.board_view );
|
||||||
m_volKeysZoom = CommonPrefs.getVolKeysZoom( this );
|
m_volKeysZoom = CommonPrefs.getVolKeysZoom( this );
|
||||||
|
|
||||||
Intent intent = getIntent();
|
m_name = getIntent().getStringExtra( INTENT_KEY_NAME );
|
||||||
m_uri = intent.getData();
|
|
||||||
m_path = m_uri.getPath();
|
|
||||||
if ( m_path.charAt(0) == '/' ) {
|
|
||||||
m_path = m_path.substring( 1 );
|
|
||||||
}
|
|
||||||
setBackgroundColor();
|
setBackgroundColor();
|
||||||
} // onCreate
|
} // onCreate
|
||||||
|
|
||||||
|
@ -315,7 +314,7 @@ public class BoardActivity extends XWActivity
|
||||||
{
|
{
|
||||||
if ( Activity.RESULT_CANCELED != resultCode ) {
|
if ( Activity.RESULT_CANCELED != resultCode ) {
|
||||||
if ( CHAT_REQUEST == requestCode ) {
|
if ( CHAT_REQUEST == requestCode ) {
|
||||||
String msg = data.getStringExtra( "chat" );
|
String msg = data.getStringExtra( INTENT_KEY_CHAT );
|
||||||
if ( null != msg && msg.length() > 0 ) {
|
if ( null != msg && msg.length() > 0 ) {
|
||||||
m_pendingChats.add( msg );
|
m_pendingChats.add( msg );
|
||||||
trySendChats();
|
trySendChats();
|
||||||
|
@ -980,7 +979,7 @@ public class BoardActivity extends XWActivity
|
||||||
m_handler.post( new Runnable() {
|
m_handler.post( new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
DBUtils.appendChatHistory( BoardActivity.this,
|
DBUtils.appendChatHistory( BoardActivity.this,
|
||||||
m_path, msg, false );
|
m_name, msg, false );
|
||||||
startChatActivity();
|
startChatActivity();
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
@ -991,7 +990,7 @@ public class BoardActivity extends XWActivity
|
||||||
{
|
{
|
||||||
if ( 0 == m_jniGamePtr ) {
|
if ( 0 == m_jniGamePtr ) {
|
||||||
Assert.assertNull( m_gameLock );
|
Assert.assertNull( m_gameLock );
|
||||||
m_gameLock = new GameUtils.GameLock( m_path, true ).lock();
|
m_gameLock = new GameUtils.GameLock( m_name, true ).lock();
|
||||||
|
|
||||||
byte[] stream = GameUtils.savedGame( this, m_gameLock );
|
byte[] stream = GameUtils.savedGame( this, m_gameLock );
|
||||||
XwJNI.gi_from_stream( m_gi, stream );
|
XwJNI.gi_from_stream( m_gi, stream );
|
||||||
|
@ -1054,13 +1053,13 @@ public class BoardActivity extends XWActivity
|
||||||
m_jniThread.handle( JNICmd.CMD_START );
|
m_jniThread.handle( JNICmd.CMD_START );
|
||||||
|
|
||||||
if ( !CommonPrefs.getHideTitleBar( this ) ) {
|
if ( !CommonPrefs.getHideTitleBar( this ) ) {
|
||||||
setTitle( GameUtils.gameName( this, m_path ) );
|
setTitle( GameUtils.gameName( this, m_name ) );
|
||||||
}
|
}
|
||||||
m_toolbar = new Toolbar( this );
|
m_toolbar = new Toolbar( this );
|
||||||
|
|
||||||
populateToolbar();
|
populateToolbar();
|
||||||
|
|
||||||
int flags = DBUtils.getMsgFlags( m_path );
|
int flags = DBUtils.getMsgFlags( m_name );
|
||||||
if ( 0 != (GameSummary.MSG_FLAGS_CHAT & flags) ) {
|
if ( 0 != (GameSummary.MSG_FLAGS_CHAT & flags) ) {
|
||||||
startChatActivity();
|
startChatActivity();
|
||||||
}
|
}
|
||||||
|
@ -1068,7 +1067,7 @@ public class BoardActivity extends XWActivity
|
||||||
m_jniThread.handle( JNIThread.JNICmd.CMD_POST_OVER );
|
m_jniThread.handle( JNIThread.JNICmd.CMD_POST_OVER );
|
||||||
}
|
}
|
||||||
if ( 0 != flags ) {
|
if ( 0 != flags ) {
|
||||||
DBUtils.setMsgFlags( m_path, GameSummary.MSG_FLAGS_NONE );
|
DBUtils.setMsgFlags( m_name, GameSummary.MSG_FLAGS_NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
trySendChats();
|
trySendChats();
|
||||||
|
|
|
@ -106,7 +106,7 @@ public class ChatActivity extends XWActivity implements View.OnClickListener {
|
||||||
DBUtils.appendChatHistory( this, m_path, text, true );
|
DBUtils.appendChatHistory( this, m_path, text, true );
|
||||||
|
|
||||||
Intent result = new Intent();
|
Intent result = new Intent();
|
||||||
result.putExtra( "chat", text );
|
result.putExtra( BoardActivity.INTENT_KEY_CHAT, text );
|
||||||
setResult( Activity.RESULT_OK, result );
|
setResult( Activity.RESULT_OK, result );
|
||||||
}
|
}
|
||||||
finish();
|
finish();
|
||||||
|
|
|
@ -672,10 +672,9 @@ public class GameUtils {
|
||||||
|
|
||||||
public static void launchGame( Activity activity, String path )
|
public static void launchGame( Activity activity, String path )
|
||||||
{
|
{
|
||||||
File file = new File( path );
|
Intent intent = new Intent( activity, BoardActivity.class );
|
||||||
Uri uri = Uri.fromFile( file );
|
intent.setAction( Intent.ACTION_EDIT );
|
||||||
Intent intent = new Intent( Intent.ACTION_EDIT, uri,
|
intent.putExtra( BoardActivity.INTENT_KEY_NAME, path );
|
||||||
activity, BoardActivity.class );
|
|
||||||
activity.startActivity( intent );
|
activity.startActivity( intent );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue