use of com.ichi2.async.DeckTask.Listener in project Anki-Android by Ramblurr.
the class MultimediaCardEditorActivity method save.
private void save() {
NoteService.saveMedia((MultimediaEditableNote) mNote);
NoteService.updateJsonNoteFromMultimediaNote(mNote, mEditorNote);
TaskListener listener = new TaskListener() {
@Override
public void onProgressUpdate(TaskData... values) {
// TODO Auto-generated method stub
}
@Override
public void onPreExecute() {
// TODO Auto-generated method stub
}
@Override
public void onPostExecute(TaskData result) {
// TODO Auto-generated method stub
}
};
if (mAddNote) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_ADD_FACT, listener, new DeckTask.TaskData(mEditorNote));
} else {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_UPDATE_FACT, listener, new DeckTask.TaskData(mCol.getSched(), mCard, false));
}
setResult(Activity.RESULT_OK);
finish();
animateRight();
}
use of com.ichi2.async.DeckTask.Listener in project Anki-Android by Ramblurr.
the class ChartBuilder method getStatisticsDialog.
public static StyledDialog getStatisticsDialog(Context context, DialogInterface.OnClickListener listener, boolean showWholeDeckSelection) {
StyledDialog.Builder builder = new StyledDialog.Builder(context);
builder.setTitle(context.getString(R.string.statistics_type_title));
builder.setIcon(android.R.drawable.ic_menu_sort_by_size);
// set items
String[] items = new String[3];
items[0] = context.getResources().getString(R.string.stats_forecast);
items[1] = context.getResources().getString(R.string.stats_review_count);
items[2] = context.getResources().getString(R.string.stats_review_time);
builder.setItems(items, listener);
// period selection
final RadioButton[] statisticRadioButtons = new RadioButton[3];
RadioGroup rg = new RadioGroup(context);
rg.setOrientation(RadioGroup.HORIZONTAL);
RadioGroup.LayoutParams lp = new RadioGroup.LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
Resources res = context.getResources();
String[] text = res.getStringArray(R.array.stats_period);
int height = context.getResources().getDrawable(R.drawable.white_btn_radio).getIntrinsicHeight();
for (int i = 0; i < statisticRadioButtons.length; i++) {
statisticRadioButtons[i] = new RadioButton(context);
statisticRadioButtons[i].setClickable(true);
statisticRadioButtons[i].setText(" " + text[i]);
statisticRadioButtons[i].setHeight(height * 2);
statisticRadioButtons[i].setSingleLine();
statisticRadioButtons[i].setBackgroundDrawable(null);
statisticRadioButtons[i].setGravity(Gravity.CENTER_VERTICAL);
rg.addView(statisticRadioButtons[i], lp);
}
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
int checked = arg0.getCheckedRadioButtonId();
for (int i = 0; i < 3; i++) {
if (arg0.getChildAt(i).getId() == checked) {
AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).edit().putInt("statsType", i).commit();
break;
}
}
}
});
rg.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, height));
statisticRadioButtons[Math.min(AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).getInt("statsType", Stats.TYPE_MONTH), Stats.TYPE_LIFE)].setChecked(true);
if (showWholeDeckSelection) {
// collection/current deck
final RadioButton[] statisticRadioButtons2 = new RadioButton[2];
RadioGroup rg2 = new RadioGroup(context);
rg2.setOrientation(RadioGroup.HORIZONTAL);
String[] text2 = res.getStringArray(R.array.stats_range);
for (int i = 0; i < statisticRadioButtons2.length; i++) {
statisticRadioButtons2[i] = new RadioButton(context);
statisticRadioButtons2[i].setClickable(true);
statisticRadioButtons2[i].setText(" " + text2[i]);
statisticRadioButtons2[i].setHeight(height * 2);
statisticRadioButtons2[i].setSingleLine();
statisticRadioButtons2[i].setBackgroundDrawable(null);
statisticRadioButtons2[i].setGravity(Gravity.CENTER_VERTICAL);
rg2.addView(statisticRadioButtons2[i], lp);
}
rg2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).edit().putBoolean("statsRange", arg0.getCheckedRadioButtonId() == arg0.getChildAt(0).getId()).commit();
}
});
rg2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, height));
statisticRadioButtons2[AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).getBoolean("statsRange", true) ? 0 : 1].setChecked(true);
LinearLayout ll = new LinearLayout(context);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
ll.addView(rg);
ll.addView(rg2);
builder.setView(ll, false, true);
} else {
builder.setView(rg, false, true);
}
return builder.create();
}
use of com.ichi2.async.DeckTask.Listener in project Anki-Android by Ramblurr.
the class DeckPicker method showStartupScreensAndDialogs.
private void showStartupScreensAndDialogs(SharedPreferences preferences, int skip) {
if (skip < 1 && preferences.getLong("lastTimeOpened", 0) == 0) {
Intent infoIntent = new Intent(this, Info.class);
infoIntent.putExtra(Info.TYPE_EXTRA, Info.TYPE_WELCOME);
startActivityForResult(infoIntent, SHOW_INFO_WELCOME);
if (skip != 0 && AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(this, ActivityTransitionAnimation.LEFT);
}
} else if (skip < 2 && !preferences.getString("lastVersion", "").equals(AnkiDroidApp.getPkgVersionName())) {
preferences.edit().putBoolean("showBroadcastMessageToday", true).commit();
Intent infoIntent = new Intent(this, Info.class);
infoIntent.putExtra(Info.TYPE_EXTRA, Info.TYPE_NEW_VERSION);
startActivityForResult(infoIntent, SHOW_INFO_NEW_VERSION);
if (skip != 0 && AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(this, ActivityTransitionAnimation.LEFT);
}
} else if (skip < 3 && upgradeNeeded()) {
// Note that the "upgrade needed" refers to upgrading Anki 1.x decks, not to newer
// versions of AnkiDroid.
AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).edit().putInt("lastUpgradeVersion", AnkiDroidApp.getPkgVersionCode()).commit();
showUpgradeScreen(skip != 0, Info.UPGRADE_SCREEN_BASIC1);
} else if (skip < 4 && hasErrorFiles()) {
Intent i = new Intent(this, Feedback.class);
startActivityForResult(i, REPORT_ERROR);
if (skip != 0 && AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(this, ActivityTransitionAnimation.LEFT);
}
} else if (!AnkiDroidApp.isSdCardMounted()) {
showDialog(DIALOG_SD_CARD_NOT_MOUNTED);
} else if (!BackupManager.enoughDiscSpace(mPrefDeckPath)) {
// && !preferences.getBoolean("dontShowLowMemory",
// false)) {
showDialog(DIALOG_NO_SPACE_LEFT);
} else if (preferences.getBoolean("noSpaceLeft", false)) {
showDialog(DIALOG_BACKUP_NO_SPACE_LEFT);
preferences.edit().putBoolean("noSpaceLeft", false).commit();
} else if (mImportPath != null && AnkiDroidApp.colIsOpen()) {
showDialog(DIALOG_IMPORT);
} else {
// AnkiDroid is being updated and a collection already exists. We check if we are upgrading
// to a version that contains additions to the database integrity check routine that we would
// like to run on all collections. A missing version number is assumed to be a fresh
// installation of AnkiDroid and we don't run the check.
int current = AnkiDroidApp.getPkgVersionCode();
// a non-final variable, for intermediate calculations
int previousTemp;
if (!preferences.contains("lastUpgradeVersion")) {
// Fresh install
previousTemp = current;
} else {
try {
previousTemp = preferences.getInt("lastUpgradeVersion", current);
} catch (ClassCastException e) {
// Previous versions stored this as a string.
String s = preferences.getString("lastUpgradeVersion", "");
// check.
if (s.equals("2.0.2")) {
previousTemp = 40;
} else {
previousTemp = 0;
}
}
}
final int previous = previousTemp;
preferences.edit().putInt("lastUpgradeVersion", current).commit();
if (previous < AnkiDroidApp.CHECK_DB_AT_VERSION || previous < AnkiDroidApp.CHECK_PREFERENCES_AT_VERSION) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_OPEN_COLLECTION, new Listener() {
@Override
public void onPostExecute(DeckTask task, TaskData result) {
mOpenCollectionHandler.onPostExecute(result);
if (previous < AnkiDroidApp.CHECK_DB_AT_VERSION) {
integrityCheck();
}
if (previous < AnkiDroidApp.CHECK_PREFERENCES_AT_VERSION) {
upgradePreferences(previous);
}
}
@Override
public void onPreExecute(DeckTask task) {
}
@Override
public void onProgressUpdate(DeckTask task, TaskData... values) {
}
}, new DeckTask.TaskData(AnkiDroidApp.getCollectionPath()));
} else {
loadCollection();
}
}
}
Aggregations