Android Open Source - opensudoku Sudoku Import Activity






From Project

Back to project page opensudoku.

License

The source code is released under:

GNU General Public License

If you think the Android project opensudoku listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.moire.opensudoku.gui;
/*from  w ww .jav  a2  s.c  o  m*/
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.widget.ProgressBar;
import org.moire.opensudoku.R;
import org.moire.opensudoku.gui.importing.AbstractImportTask;
import org.moire.opensudoku.gui.importing.ExtrasImportTask;
import org.moire.opensudoku.gui.importing.OpenSudokuImportTask;
import org.moire.opensudoku.gui.importing.SdmImportTask;
import org.moire.opensudoku.gui.importing.AbstractImportTask.OnImportFinishedListener;
import org.moire.opensudoku.utils.Const;

/**
 * This activity is responsible for importing puzzles from various sources
 * (web, file, .opensudoku, .sdm, extras).
 *
 * @author romario
 */
public class SudokuImportActivity extends Activity {
  /**
   * Name of folder to which games should be imported.
   */
  public static final String EXTRA_FOLDER_NAME = "FOLDER_NAME";
  /**
   * Indicates whether games should be appended to the existing folder if such
   * folder exists.
   */
  public static final String EXTRA_APPEND_TO_FOLDER = "APPEND_TO_FOLDER";
  /**
   * Games (puzzles) to import. String should be in this format:
   * 120001232...0041\n 456000213...1100\n
   */
  public static final String EXTRA_GAMES = "GAMES";

  private static final String TAG = "ImportSudokuActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_LEFT_ICON);
    setContentView(R.layout.import_sudoku);
    getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
        R.drawable.ic_launcher);

    ProgressBar progressBar = (ProgressBar) findViewById(R.id.progress);

    AbstractImportTask importTask;
    Intent intent = getIntent();
    Uri dataUri = intent.getData();
    if (dataUri != null) {
      if (Const.MIME_TYPE_OPENSUDOKU.equals(intent.getType())
          || dataUri.toString().endsWith(".opensudoku")) {

        importTask = new OpenSudokuImportTask(dataUri);

      } else if (dataUri.toString().endsWith(".sdm")) {

        importTask = new SdmImportTask(dataUri);

      } else {

        Log.e(
            TAG,
            String.format(
                "Unknown type of data provided (mime-type=%s; uri=%s), exiting.",
                intent.getType(), dataUri));
        finish();
        return;

      }
    } else if (intent.getStringExtra(EXTRA_FOLDER_NAME) != null) {

      String folderName = intent.getStringExtra(EXTRA_FOLDER_NAME);
      String games = intent.getStringExtra(EXTRA_GAMES);
      boolean appendToFolder = intent.getBooleanExtra(
          EXTRA_APPEND_TO_FOLDER, false);
      importTask = new ExtrasImportTask(folderName, games, appendToFolder);

    } else {
      Log.e(TAG, "No data provided, exiting.");
      finish();
      return;
    }

    importTask.initialize(this, progressBar);
    importTask.setOnImportFinishedListener(mOnImportFinishedListener);

    importTask.execute();
  }

  private OnImportFinishedListener mOnImportFinishedListener = new OnImportFinishedListener() {

    @Override
    public void onImportFinished(boolean importSuccessful, long folderId) {
      if (importSuccessful) {
        if (folderId == -1) {
          // multiple folders were imported, go to folder list
          Intent i = new Intent(SudokuImportActivity.this,
              FolderListActivity.class);
          startActivity(i);
        } else {
          // one folder was imported, go to this folder
          Intent i = new Intent(SudokuImportActivity.this,
              SudokuListActivity.class);
          i.putExtra(SudokuListActivity.EXTRA_FOLDER_ID, folderId);
          startActivity(i);
        }
      }
      // call finish, so this activity won't be part of history
      finish();
    }
  };

}




Java Source Code List

org.moire.opensudoku.db.DatabaseHelper.java
org.moire.opensudoku.db.FolderColumns.java
org.moire.opensudoku.db.SudokuColumns.java
org.moire.opensudoku.db.SudokuDatabase.java
org.moire.opensudoku.db.SudokuImportParams.java
org.moire.opensudoku.db.SudokuInvalidFormatException.java
org.moire.opensudoku.game.CellCollection.java
org.moire.opensudoku.game.CellGroup.java
org.moire.opensudoku.game.CellNote.java
org.moire.opensudoku.game.Cell.java
org.moire.opensudoku.game.FolderInfo.java
org.moire.opensudoku.game.SudokuGame.java
org.moire.opensudoku.game.command.AbstractCellCommand.java
org.moire.opensudoku.game.command.AbstractCommand.java
org.moire.opensudoku.game.command.ClearAllNotesCommand.java
org.moire.opensudoku.game.command.CommandStack.java
org.moire.opensudoku.game.command.EditCellNoteCommand.java
org.moire.opensudoku.game.command.FillInNotesCommand.java
org.moire.opensudoku.game.command.SetCellValueCommand.java
org.moire.opensudoku.gui.Changelog.java
org.moire.opensudoku.gui.FileImportActivity.java
org.moire.opensudoku.gui.FileListActivity.java
org.moire.opensudoku.gui.FolderDetailLoader.java
org.moire.opensudoku.gui.FolderListActivity.java
org.moire.opensudoku.gui.GameSettingsActivity.java
org.moire.opensudoku.gui.GameTimeFormat.java
org.moire.opensudoku.gui.HintsQueue.java
org.moire.opensudoku.gui.ImportSudokuActivity.java
org.moire.opensudoku.gui.SeekBarPreference.java
org.moire.opensudoku.gui.SudokuBoardView.java
org.moire.opensudoku.gui.SudokuEditActivity.java
org.moire.opensudoku.gui.SudokuExportActivity.java
org.moire.opensudoku.gui.SudokuImportActivity.java
org.moire.opensudoku.gui.SudokuListActivity.java
org.moire.opensudoku.gui.SudokuListFilter.java
org.moire.opensudoku.gui.SudokuPlayActivity.java
org.moire.opensudoku.gui.Timer.java
org.moire.opensudoku.gui.exporting.FileExportTaskParams.java
org.moire.opensudoku.gui.exporting.FileExportTaskResult.java
org.moire.opensudoku.gui.exporting.FileExportTask.java
org.moire.opensudoku.gui.importing.AbstractImportTask.java
org.moire.opensudoku.gui.importing.ExtrasImportTask.java
org.moire.opensudoku.gui.importing.OpenSudokuImportTask.java
org.moire.opensudoku.gui.importing.SdmImportTask.java
org.moire.opensudoku.gui.inputmethod.IMControlPanelStatePersister.java
org.moire.opensudoku.gui.inputmethod.IMControlPanel.java
org.moire.opensudoku.gui.inputmethod.IMNumpad.java
org.moire.opensudoku.gui.inputmethod.IMPopupDialog.java
org.moire.opensudoku.gui.inputmethod.IMPopup.java
org.moire.opensudoku.gui.inputmethod.IMSingleNumber.java
org.moire.opensudoku.gui.inputmethod.InputMethod.java
org.moire.opensudoku.utils.AndroidUtils.java
org.moire.opensudoku.utils.Const.java
org.moire.opensudoku.utils.StringUtils.java