mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-09 22:00:39 +01:00
when there's no default new-game group, get *some* group from the DB
and make that the default, with caution to avoid any -1==groupID games saved by previous buggy versions
This commit is contained in:
parent
edadc962f8
commit
3ba470573d
2 changed files with 18 additions and 3 deletions
|
@ -1112,12 +1112,21 @@ public class DBUtils {
|
|||
return result;
|
||||
}
|
||||
|
||||
// pass ROWID_NOTFOUND to get *any* group. Because there may be
|
||||
// some hidden games stored with group = -1 thanks to
|
||||
// recently-fixed bugs, be sure to skip them.
|
||||
public static long getGroupForGame( Context context, long rowid )
|
||||
{
|
||||
long result = GROUPID_UNSPEC;
|
||||
initDB( context );
|
||||
String[] columns = { DBHelper.GROUPID };
|
||||
String selection = String.format( ROW_ID_FMT, rowid );
|
||||
|
||||
String selection = String.format( "%s != %d", DBHelper.GROUPID,
|
||||
DBUtils.GROUPID_UNSPEC );
|
||||
if ( ROWID_NOTFOUND != rowid ) {
|
||||
selection += " AND " + String.format( ROW_ID_FMT, rowid );
|
||||
}
|
||||
|
||||
synchronized( s_dbHelper ) {
|
||||
SQLiteDatabase db = s_dbHelper.getReadableDatabase();
|
||||
Cursor cursor = db.query( DBHelper.TABLE_NAME_SUM, columns,
|
||||
|
|
|
@ -303,8 +303,14 @@ public class XWPrefs {
|
|||
|
||||
public static long getDefaultNewGameGroup( Context context )
|
||||
{
|
||||
return getPrefsLong( context, R.string.key_default_group,
|
||||
DBUtils.GROUPID_UNSPEC );
|
||||
long groupID = getPrefsLong( context, R.string.key_default_group,
|
||||
DBUtils.GROUPID_UNSPEC );
|
||||
if ( DBUtils.GROUPID_UNSPEC == groupID ) {
|
||||
groupID =
|
||||
DBUtils.getGroupForGame( context, DBUtils.ROWID_NOTFOUND );
|
||||
setPrefsLong( context, R.string.key_default_group, groupID );
|
||||
}
|
||||
return groupID;
|
||||
}
|
||||
|
||||
public static void setDefaultNewGameGroup( Context context, long val )
|
||||
|
|
Loading…
Add table
Reference in a new issue