mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-20 22:26:54 +01:00
use a dummy TextArea instead of an empty custom view as a placeholder
for loading game summary view.
This commit is contained in:
parent
d6fdd24637
commit
9a23473b2f
3 changed files with 38 additions and 20 deletions
9
xwords4/android/XWords4/res/layout/game_list_tmp.xml
Normal file
9
xwords4/android/XWords4/res/layout/game_list_tmp.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/game_list_tmp"
|
||||||
|
/>
|
|
@ -1945,4 +1945,6 @@
|
||||||
<!-- board menu for small devices only -->
|
<!-- board menu for small devices only -->
|
||||||
<string name="board_menu_dict">Browse wordlist</string>
|
<string name="board_menu_dict">Browse wordlist</string>
|
||||||
|
|
||||||
|
<string name="game_list_tmp">Loading game summary...</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -33,6 +33,7 @@ import android.widget.LinearLayout;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap; // class is not synchronized
|
import java.util.HashMap; // class is not synchronized
|
||||||
|
import java.util.Random;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
@ -54,10 +55,16 @@ public class GameListAdapter extends XWListAdapter {
|
||||||
private boolean m_expanded, m_haveTurn, m_haveTurnLocal;
|
private boolean m_expanded, m_haveTurn, m_haveTurnLocal;
|
||||||
private long m_rowid;
|
private long m_rowid;
|
||||||
private ImageButton m_expandButton;
|
private ImageButton m_expandButton;
|
||||||
public ViewInfo( View view, long rowid, boolean expanded,
|
|
||||||
boolean haveTurn, boolean haveTurnLocal ) {
|
public ViewInfo( View view, long rowid )
|
||||||
|
{
|
||||||
m_view = view;
|
m_view = view;
|
||||||
m_rowid = rowid;
|
m_rowid = rowid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ViewInfo( View view, long rowid, boolean expanded,
|
||||||
|
boolean haveTurn, boolean haveTurnLocal ) {
|
||||||
|
this( view, rowid );
|
||||||
m_expanded = expanded;
|
m_expanded = expanded;
|
||||||
m_haveTurn = haveTurn;
|
m_haveTurn = haveTurn;
|
||||||
m_haveTurnLocal = haveTurnLocal;
|
m_haveTurnLocal = haveTurnLocal;
|
||||||
|
@ -116,15 +123,19 @@ public class GameListAdapter extends XWListAdapter {
|
||||||
@Override
|
@Override
|
||||||
protected Void doInBackground( Void... unused )
|
protected Void doInBackground( Void... unused )
|
||||||
{
|
{
|
||||||
// DbgUtils.logf( "doInBackground(id=%d)", m_id );
|
// force slow loading for debugging
|
||||||
|
// try {
|
||||||
|
// Random random = new Random();
|
||||||
|
// int sleepTime = random.nextInt() % 3000;
|
||||||
|
// Thread.sleep( sleepTime );
|
||||||
|
// } catch ( Exception e ) {
|
||||||
|
// }
|
||||||
View layout = m_factory.inflate( R.layout.game_list_item, null );
|
View layout = m_factory.inflate( R.layout.game_list_item, null );
|
||||||
boolean hideTitle = false;//CommonPrefs.getHideTitleBar(m_context);
|
boolean hideTitle = false;//CommonPrefs.getHideTitleBar(m_context);
|
||||||
GameSummary summary = DBUtils.getSummary( m_context, m_rowid );
|
GameSummary summary = DBUtils.getSummary( m_context, m_rowid );
|
||||||
if ( null == summary ) {
|
if ( null == summary ) {
|
||||||
m_rowid = -1;
|
m_rowid = -1;
|
||||||
} else {
|
} else {
|
||||||
//Assert.assertNotNull( summary );
|
|
||||||
|
|
||||||
String state = summary.summarizeState();
|
String state = summary.summarizeState();
|
||||||
|
|
||||||
TextView view = (TextView)layout.findViewById( R.id.game_name );
|
TextView view = (TextView)layout.findViewById( R.id.game_name );
|
||||||
|
@ -234,7 +245,7 @@ public class GameListAdapter extends XWListAdapter {
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute( Void unused )
|
protected void onPostExecute( Void unused )
|
||||||
{
|
{
|
||||||
// DbgUtils.logf( "onPostExecute(id=%d)", m_id );
|
// DbgUtils.logf( "onPostExecute(rowid=%d)", m_rowid );
|
||||||
if ( -1 != m_rowid ) {
|
if ( -1 != m_rowid ) {
|
||||||
m_cb.itemLoaded( m_rowid );
|
m_cb.itemLoaded( m_rowid );
|
||||||
}
|
}
|
||||||
|
@ -260,24 +271,20 @@ public class GameListAdapter extends XWListAdapter {
|
||||||
{
|
{
|
||||||
final long rowid = DBUtils.gamesList(m_context)[position];
|
final long rowid = DBUtils.gamesList(m_context)[position];
|
||||||
View layout;
|
View layout;
|
||||||
|
boolean haveLayout = false;
|
||||||
synchronized( m_viewsCache ) {
|
synchronized( m_viewsCache ) {
|
||||||
ViewInfo vi = m_viewsCache.get( rowid );
|
ViewInfo vi = m_viewsCache.get( rowid );
|
||||||
layout = null == vi? null : vi.m_view;
|
haveLayout = null != vi;
|
||||||
|
if ( haveLayout ) {
|
||||||
|
layout = vi.m_view;
|
||||||
|
} else {
|
||||||
|
layout = m_factory.inflate( R.layout.game_list_tmp, null );
|
||||||
|
vi = new ViewInfo( layout, rowid );
|
||||||
|
m_viewsCache.put( rowid, vi );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( null == layout ) {
|
if ( !haveLayout ) {
|
||||||
layout = m_factory.inflate( R.layout.game_list_item, null );
|
|
||||||
final boolean hideTitle =
|
|
||||||
false;//CommonPrefs.getHideTitleBar( m_context );
|
|
||||||
|
|
||||||
TextView view = (TextView)layout.findViewById( R.id.game_name );
|
|
||||||
if ( hideTitle ) {
|
|
||||||
view.setVisibility( View.GONE );
|
|
||||||
} else {
|
|
||||||
String text = GameUtils.getName( m_context, rowid );
|
|
||||||
view.setText( text );
|
|
||||||
}
|
|
||||||
|
|
||||||
new LoadItemTask( m_context, rowid/*, ++m_taskCounter*/ ).execute();
|
new LoadItemTask( m_context, rowid/*, ++m_taskCounter*/ ).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue