public static boolean removeList(final int listId) {
        if (listId < customListIdOffset) {
            return false;
        }

        return withAccessLock(() -> {


            init();

            database.beginTransaction();
            boolean status = false;
            try {
                final int cnt = database.delete(dbTableLists, "_id = " + (listId - customListIdOffset), null);

                if (cnt > 0) {
                    // move caches from deleted list to standard list
                    final SQLiteStatement moveToStandard = PreparedStatement.MOVE_TO_STANDARD_LIST.getStatement();
                    moveToStandard.bindLong(1, listId);
                    moveToStandard.execute();

                    final SQLiteStatement removeAllFromList = PreparedStatement.REMOVE_ALL_FROM_LIST.getStatement();
                    removeAllFromList.bindLong(1, listId);
                    removeAllFromList.execute();

                    status = true;
                }

                database.setTransactionSuccessful();
            } finally {
                database.endTransaction();
            }

            return status;
        });
    }
Remove a list. Caches in the list are moved to the standard list.

@return true if the list got deleted, false else
main/src/main/java/cgeo/geocaching/storage/DataStore.java