From d0f0fa04ce35339f56d5de683719d45243906cfd Mon Sep 17 00:00:00 2001 From: Andy2 Date: Fri, 3 Jun 2011 23:35:06 -0700 Subject: [PATCH 1/3] set background color of board root view from prefs on creation and whenever pref color might have changed. --- .../src/org/eehouse/android/xw4/BoardActivity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java index 7ed1e4c0f..64361d107 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java @@ -293,6 +293,7 @@ public class BoardActivity extends XWActivity if ( m_path.charAt(0) == '/' ) { m_path = m_path.substring( 1 ); } + setBackgroundColor(); } // onCreate @Override @@ -334,6 +335,7 @@ public class BoardActivity extends XWActivity if ( null != m_jniThread ) { m_jniThread.handle( JNIThread.JNICmd.CMD_PREFS_CHANGE ); } + setBackgroundColor(); } } } @@ -1272,4 +1274,11 @@ public class BoardActivity extends XWActivity m_toolbar.update( Toolbar.BUTTON_CHAT, m_gsi.gameIsConnected ); } + private void setBackgroundColor() + { + int back = CommonPrefs.get(this) + .otherColors[CommonPrefs.COLOR_BACKGRND]; + m_view.getRootView().setBackgroundColor( back ); + } + } // class BoardActivity From c46015c5145b074f02302aa275589926e3c67369 Mon Sep 17 00:00:00 2001 From: Andy2 Date: Sun, 5 Jun 2011 10:29:33 -0700 Subject: [PATCH 2/3] 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. --- .../eehouse/android/xw4/BoardActivity.java | 27 +++++++++---------- .../org/eehouse/android/xw4/ChatActivity.java | 2 +- .../org/eehouse/android/xw4/GameUtils.java | 7 +++-- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java index 64361d107..01248f91c 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java @@ -56,6 +56,9 @@ import org.eehouse.android.xw4.jni.CurGameInfo.DeviceRole; public class BoardActivity extends XWActivity 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_BADWORDS = DLG_OKONLY + 1; private static final int QUERY_REQUEST_BLK = DLG_OKONLY + 2; @@ -75,7 +78,7 @@ public class BoardActivity extends XWActivity CommsTransport m_xport; private Handler m_handler; private TimerRunnable[] m_timers; - private String m_path; + private String m_name; private Uri m_uri; private Toolbar m_toolbar; private ArrayList m_pendingChats = new ArrayList(); @@ -160,7 +163,7 @@ public class BoardActivity extends XWActivity waitCloseGame( false ); GameUtils.deleteGame( BoardActivity.this, - m_path, false ); + m_name, false ); // Intent intent = new Intent(); // intent.putExtra( "delete", true ); // intent.putExtra( "path", m_path ); @@ -287,12 +290,8 @@ public class BoardActivity extends XWActivity m_view = (BoardView)findViewById( R.id.board_view ); m_volKeysZoom = CommonPrefs.getVolKeysZoom( this ); - Intent intent = getIntent(); - m_uri = intent.getData(); - m_path = m_uri.getPath(); - if ( m_path.charAt(0) == '/' ) { - m_path = m_path.substring( 1 ); - } + m_name = getIntent().getStringExtra( INTENT_KEY_NAME ); + setBackgroundColor(); } // onCreate @@ -315,7 +314,7 @@ public class BoardActivity extends XWActivity { if ( Activity.RESULT_CANCELED != resultCode ) { if ( CHAT_REQUEST == requestCode ) { - String msg = data.getStringExtra( "chat" ); + String msg = data.getStringExtra( INTENT_KEY_CHAT ); if ( null != msg && msg.length() > 0 ) { m_pendingChats.add( msg ); trySendChats(); @@ -980,7 +979,7 @@ public class BoardActivity extends XWActivity m_handler.post( new Runnable() { public void run() { DBUtils.appendChatHistory( BoardActivity.this, - m_path, msg, false ); + m_name, msg, false ); startChatActivity(); } } ); @@ -991,7 +990,7 @@ public class BoardActivity extends XWActivity { if ( 0 == m_jniGamePtr ) { 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 ); XwJNI.gi_from_stream( m_gi, stream ); @@ -1054,13 +1053,13 @@ public class BoardActivity extends XWActivity m_jniThread.handle( JNICmd.CMD_START ); if ( !CommonPrefs.getHideTitleBar( this ) ) { - setTitle( GameUtils.gameName( this, m_path ) ); + setTitle( GameUtils.gameName( this, m_name ) ); } m_toolbar = new Toolbar( this ); populateToolbar(); - int flags = DBUtils.getMsgFlags( m_path ); + int flags = DBUtils.getMsgFlags( m_name ); if ( 0 != (GameSummary.MSG_FLAGS_CHAT & flags) ) { startChatActivity(); } @@ -1068,7 +1067,7 @@ public class BoardActivity extends XWActivity m_jniThread.handle( JNIThread.JNICmd.CMD_POST_OVER ); } if ( 0 != flags ) { - DBUtils.setMsgFlags( m_path, GameSummary.MSG_FLAGS_NONE ); + DBUtils.setMsgFlags( m_name, GameSummary.MSG_FLAGS_NONE ); } trySendChats(); diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatActivity.java index bd64d2ec7..778a2fb95 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatActivity.java @@ -106,7 +106,7 @@ public class ChatActivity extends XWActivity implements View.OnClickListener { DBUtils.appendChatHistory( this, m_path, text, true ); Intent result = new Intent(); - result.putExtra( "chat", text ); + result.putExtra( BoardActivity.INTENT_KEY_CHAT, text ); setResult( Activity.RESULT_OK, result ); } finish(); diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java index 436c0f60d..a382fc213 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java @@ -672,10 +672,9 @@ public class GameUtils { public static void launchGame( Activity activity, String path ) { - File file = new File( path ); - Uri uri = Uri.fromFile( file ); - Intent intent = new Intent( Intent.ACTION_EDIT, uri, - activity, BoardActivity.class ); + Intent intent = new Intent( activity, BoardActivity.class ); + intent.setAction( Intent.ACTION_EDIT ); + intent.putExtra( BoardActivity.INTENT_KEY_NAME, path ); activity.startActivity( intent ); } From 84572c1ed651854ee3c146007492b32f275a57ac Mon Sep 17 00:00:00 2001 From: Andy2 Date: Sun, 5 Jun 2011 10:44:26 -0700 Subject: [PATCH 3/3] get rid of the other places where Uri's being used but a simple name is needed. --- .../src/org/eehouse/android/xw4/BoardActivity.java | 7 +++---- .../src/org/eehouse/android/xw4/DictsActivity.java | 3 ++- .../XWords4/src/org/eehouse/android/xw4/DlgDelegate.java | 1 - .../XWords4/src/org/eehouse/android/xw4/GameConfig.java | 8 +------- .../XWords4/src/org/eehouse/android/xw4/GameUtils.java | 6 +++--- .../XWords4/src/org/eehouse/android/xw4/GamesList.java | 1 - .../src/org/eehouse/android/xw4/RelayGameActivity.java | 7 +------ .../XWords4/src/org/eehouse/android/xw4/XWActivity.java | 1 - 8 files changed, 10 insertions(+), 24 deletions(-) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java index 01248f91c..82314c716 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java @@ -35,7 +35,6 @@ import android.content.Intent; import java.util.concurrent.Semaphore; import java.util.ArrayList; import java.util.Iterator; -import android.net.Uri; import android.app.Dialog; import android.app.AlertDialog; import android.app.ProgressDialog; @@ -79,7 +78,6 @@ public class BoardActivity extends XWActivity private Handler m_handler; private TimerRunnable[] m_timers; private String m_name; - private Uri m_uri; private Toolbar m_toolbar; private ArrayList m_pendingChats = new ArrayList(); @@ -1221,8 +1219,9 @@ public class BoardActivity extends XWActivity private void startChatActivity() { - Intent intent = new Intent( Intent.ACTION_EDIT, - m_uri, this, ChatActivity.class ); + Intent intent = new Intent( this, ChatActivity.class ); + intent.setAction( Intent.ACTION_EDIT ); + intent.putExtra( BoardActivity.INTENT_KEY_NAME, m_name ); startActivityForResult( intent, CHAT_REQUEST ); } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java index 44bd4731f..02bc6646f 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java @@ -528,7 +528,8 @@ public class DictsActivity extends ExpandableListActivity return intent; } - public static void launchAndDownload( Activity activity, int lang, String name ) + public static void launchAndDownload( Activity activity, int lang, + String name ) { Intent intent = new Intent( activity, DictsActivity.class ); intent.putExtra( DICT_DOLAUNCH, true ); diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java index 4d2df3dcb..a1c739370 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java @@ -25,7 +25,6 @@ import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.view.LayoutInflater; -import android.net.Uri; import junit.framework.Assert; import android.view.View; import android.widget.TextView; diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java index 252db02a6..4cc635dad 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java @@ -22,7 +22,6 @@ package org.eehouse.android.xw4; import android.app.Activity; import android.content.Intent; -import android.net.Uri; import android.os.Bundle; import java.io.File; import java.util.ArrayList; @@ -373,15 +372,10 @@ public class GameConfig extends XWActivity m_cp = CommonPrefs.get( this ); Intent intent = getIntent(); - Uri uri = intent.getData(); - m_path = uri.getPath(); - if ( m_path.charAt(0) == '/' ) { - m_path = m_path.substring( 1 ); - } + m_path = intent.getStringExtra( BoardActivity.INTENT_KEY_NAME ); setContentView(R.layout.game_config); - m_connectSet = findViewById(R.id.connect_set); m_addPlayerButton = (Button)findViewById(R.id.add_player); m_addPlayerButton.setOnClickListener( this ); diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java index a382fc213..78eb88b76 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java @@ -29,7 +29,6 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.channels.FileChannel; -import android.net.Uri; import java.util.ArrayList; import java.util.Arrays; import android.content.res.AssetManager; @@ -836,8 +835,9 @@ public class GameUtils { public static void doConfig( Activity activity, String path, Class clazz ) { - Uri uri = Uri.fromFile( new File(path) ); - Intent intent = new Intent( Intent.ACTION_EDIT, uri, activity, clazz ); + Intent intent = new Intent( activity, clazz ); + intent.setAction( Intent.ACTION_EDIT ); + intent.putExtra( BoardActivity.INTENT_KEY_NAME, path ); activity.startActivity( intent ); } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java index 81fb954b6..c93fb12ba 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java @@ -28,7 +28,6 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.DialogInterface; -import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.view.ContextMenu; diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java index ed3c5b473..fc603a5ea 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameActivity.java @@ -28,7 +28,6 @@ package org.eehouse.android.xw4; import android.app.Activity; import java.io.File; import android.os.Bundle; -import android.net.Uri; import android.widget.Button; import android.widget.TextView; import android.view.View; @@ -54,11 +53,7 @@ public class RelayGameActivity extends XWActivity setContentView( R.layout.relay_game_config ); - Uri uri = getIntent().getData(); - m_path = uri.getPath(); - if ( m_path.charAt(0) == '/' ) { - m_path = m_path.substring( 1 ); - } + m_path = getIntent().getStringExtra( BoardActivity.INTENT_KEY_NAME ); m_playButton = (Button)findViewById( R.id.play_button ); m_playButton.setOnClickListener( this ); diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWActivity.java index 7d479bfba..18c9f9d95 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWActivity.java @@ -25,7 +25,6 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; -import android.net.Uri; import junit.framework.Assert; import android.view.View; import android.widget.TextView;