コード例 #1
0
ファイル: Deck.java プロジェクト: nox696/Anki-Android
  /** Update relative delays based on current time. */
  private void rebuildQueue() {
    Cursor cursor = null;
    Log.i(TAG, "rebuildQueue - Rebuilding query...");
    // Setup global/daily stats
    globalStats = Stats.globalStats(this);
    dailyStats = Stats.dailyStats(this);

    // Mark due cards and update counts
    checkDue();

    // Invalid card count
    // Determine new card distribution
    if (newCardSpacing == NEW_CARDS_DISTRIBUTE) {
      if (newCountToday > 0) {
        newCardModulus = (newCountToday + revCount) / newCountToday;
        // If there are cards to review, ensure modulo >= 2
        if (revCount > 0) newCardModulus = Math.max(2, newCardModulus);
      } else {
        newCardModulus = 0;
      }
    } else newCardModulus = 0;
    Log.i(TAG, "newCardModulus set to " + newCardModulus);

    try {
      cursor =
          AnkiDb.database.rawQuery("SELECT avg(factor) " + "FROM cards " + "WHERE type = 1", null);
      if (!cursor.moveToFirst()) averageFactor = Deck.initialFactor;
      else averageFactor = cursor.getDouble(0);
    } finally {
      if (cursor != null) cursor.close();
    }
    averageFactor = Math.max(averageFactor, minimumAverage);

    // Recache CSS
    // rebuildCSS();
  }