use of android.content.DialogInterface.OnCancelListener in project Osmand by osmandapp.
the class GeoIntentActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_address_offline);
getSupportActionBar().setTitle(R.string.search_osm_offline);
getMyApplication().checkApplicationIsBeingInitialized(this, new AppInitializeListener() {
@Override
public void onProgress(AppInitializer init, InitEvents event) {
}
@Override
public void onFinish(AppInitializer init) {
}
});
location = getMyApplication().getSettings().getLastKnownMapLocation();
final Intent intent = getIntent();
if (intent != null) {
final ProgressDialog progress = ProgressDialog.show(GeoIntentActivity.this, getString(R.string.searching), getString(R.string.searching_address));
final GeoIntentTask task = new GeoIntentTask(progress, intent);
progress.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
task.cancel(true);
}
});
progress.setCancelable(true);
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
setIntent(null);
}
}
use of android.content.DialogInterface.OnCancelListener in project android-app by spark.
the class TinkerFragment method showTinkerSelect.
private void showTinkerSelect(Pin pin) {
// No current action on the pin
mutePinsExcept(pin);
toggleViewVisibilityWithFade(R.id.tinker_logo, false);
final View selectDialogView = getActivity().getLayoutInflater().inflate(R.layout.tinker_select, null);
selectDialog = new AlertDialog.Builder(getActivity(), R.style.AppTheme_DialogNoDimBackground).setView(selectDialogView).setCancelable(true).setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
dialog.dismiss();
}
}).create();
selectDialog.setCanceledOnTouchOutside(true);
selectDialog.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
unmutePins();
toggleViewVisibilityWithFade(R.id.tinker_logo, true);
selectDialog = null;
}
});
final View analogRead = Ui.findView(selectDialogView, R.id.tinker_button_analog_read);
final View analogWrite = Ui.findView(selectDialogView, R.id.tinker_button_analog_write);
final View digitalRead = Ui.findView(selectDialogView, R.id.tinker_button_digital_read);
final View digitalWrite = Ui.findView(selectDialogView, R.id.tinker_button_digital_write);
final List<View> allButtons = list(analogRead, analogWrite, digitalRead, digitalWrite);
analogRead.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
setTinkerSelectButtonSelected(analogRead, allButtons);
}
return false;
}
});
analogWrite.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
setTinkerSelectButtonSelected(analogWrite, allButtons);
}
return false;
}
});
digitalRead.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
setTinkerSelectButtonSelected(digitalRead, allButtons);
}
return false;
}
});
digitalWrite.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
setTinkerSelectButtonSelected(digitalWrite, allButtons);
}
return false;
}
});
digitalWrite.setOnClickListener(this);
digitalRead.setOnClickListener(this);
analogRead.setOnClickListener(this);
analogWrite.setOnClickListener(this);
if (!digitalWritePins.contains(pin)) {
digitalWrite.setVisibility(View.INVISIBLE);
} else {
digitalWrite.setVisibility(View.VISIBLE);
}
if (!digitalReadPins.contains(pin)) {
digitalRead.setVisibility(View.INVISIBLE);
} else {
digitalRead.setVisibility(View.VISIBLE);
}
if (!analogReadPins.contains(pin)) {
analogRead.setVisibility(View.INVISIBLE);
} else {
analogRead.setVisibility(View.VISIBLE);
}
if (!analogWritePins.contains(pin)) {
analogWrite.setVisibility(View.INVISIBLE);
} else {
analogWrite.setVisibility(View.VISIBLE);
}
((TextView) selectDialogView.findViewById(R.id.tinker_select_pin)).setText(pin.name);
PinAction action = pin.getConfiguredAction();
switch(action) {
case ANALOG_READ:
setTinkerSelectButtonSelected(analogRead, allButtons);
break;
case ANALOG_WRITE:
setTinkerSelectButtonSelected(analogWrite, allButtons);
break;
case DIGITAL_READ:
setTinkerSelectButtonSelected(digitalRead, allButtons);
break;
case DIGITAL_WRITE:
setTinkerSelectButtonSelected(digitalWrite, allButtons);
break;
case NONE:
setTinkerSelectButtonSelected(null, allButtons);
break;
}
selectDialog.show();
View decorView = selectDialog.getWindow().getDecorView();
noIReallyMeanItIWantThisToBeTransparent(decorView);
}
use of android.content.DialogInterface.OnCancelListener in project Anki-Android by Ramblurr.
the class DeckPicker method onCreateDialog.
@Override
protected Dialog onCreateDialog(int id) {
StyledDialog dialog;
Resources res = getResources();
StyledDialog.Builder builder = new StyledDialog.Builder(this);
switch(id) {
case DIALOG_OK:
builder.setPositiveButton(R.string.ok, null);
dialog = builder.create();
break;
case DIALOG_NO_SDCARD:
builder.setMessage("The SD card could not be read. Please, turn off USB storage.");
builder.setPositiveButton(R.string.ok, null);
dialog = builder.create();
break;
case DIALOG_SELECT_HELP:
builder.setTitle(res.getString(R.string.help_title));
builder.setItems(new String[] { res.getString(R.string.help_tutorial), res.getString(R.string.help_online), res.getString(R.string.help_faq) }, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
if (arg1 == 0) {
createTutorialDeck();
} else {
if (Utils.isIntentAvailable(DeckPicker.this, "android.intent.action.VIEW")) {
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(getResources().getString(arg1 == 0 ? R.string.link_help : R.string.link_faq)));
startActivity(intent);
} else {
startActivity(new Intent(DeckPicker.this, Info.class));
}
}
}
});
dialog = builder.create();
break;
case DIALOG_CONNECTION_ERROR:
builder.setTitle(res.getString(R.string.connection_error_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setMessage(res.getString(R.string.connection_error_message));
builder.setPositiveButton(res.getString(R.string.retry), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
sync();
}
});
builder.setNegativeButton(res.getString(R.string.cancel), null);
dialog = builder.create();
break;
case DIALOG_SYNC_CONFLICT_RESOLUTION:
builder.setTitle(res.getString(R.string.sync_conflict_title));
builder.setIcon(android.R.drawable.ic_input_get);
builder.setMessage(res.getString(R.string.sync_conflict_message));
builder.setPositiveButton(res.getString(R.string.sync_conflict_local), mSyncConflictResolutionListener);
builder.setNeutralButton(res.getString(R.string.sync_conflict_remote), mSyncConflictResolutionListener);
builder.setNegativeButton(res.getString(R.string.sync_conflict_cancel), mSyncConflictResolutionListener);
builder.setCancelable(true);
dialog = builder.create();
break;
case DIALOG_LOAD_FAILED:
builder.setMessage(res.getString(R.string.open_collection_failed_message, BackupManager.BROKEN_DECKS_SUFFIX, res.getString(R.string.repair_deck)));
builder.setTitle(R.string.open_collection_failed_title);
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setPositiveButton(res.getString(R.string.error_handling_options), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setNegativeButton(res.getString(R.string.close), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finishWithAnimation();
}
});
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finishWithAnimation();
}
});
dialog = builder.create();
break;
case DIALOG_DB_ERROR:
builder.setMessage(R.string.answering_error_message);
builder.setTitle(R.string.answering_error_title);
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setPositiveButton(res.getString(R.string.error_handling_options), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setNeutralButton(res.getString(R.string.answering_error_report), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(DeckPicker.this, Feedback.class);
i.putExtra("request", RESULT_DB_ERROR);
dialog.dismiss();
startActivityForResult(i, REPORT_ERROR);
if (AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(DeckPicker.this, ActivityTransitionAnimation.RIGHT);
}
}
});
builder.setNegativeButton(res.getString(R.string.close), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (!AnkiDroidApp.colIsOpen()) {
finishWithAnimation();
}
}
});
builder.setCancelable(true);
dialog = builder.create();
break;
case DIALOG_ERROR_HANDLING:
builder.setTitle(res.getString(R.string.error_handling_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setSingleChoiceItems(new String[] { "1" }, 0, null);
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (mLoadFailed) {
// dialog has been called because collection could not be opened
showDialog(DIALOG_LOAD_FAILED);
} else {
// dialog has been called because a db error happened
showDialog(DIALOG_DB_ERROR);
}
}
});
builder.setNegativeButton(res.getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (mLoadFailed) {
// dialog has been called because collection could not be opened
showDialog(DIALOG_LOAD_FAILED);
} else {
// dialog has been called because a db error happened
showDialog(DIALOG_DB_ERROR);
}
}
});
dialog = builder.create();
break;
case DIALOG_USER_NOT_LOGGED_IN_ADD_SHARED_DECK:
builder.setTitle(res.getString(R.string.connection_error_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setMessage(res.getString(R.string.no_user_password_error_message));
builder.setNegativeButton(res.getString(R.string.cancel), null);
builder.setPositiveButton(res.getString(R.string.log_in), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent myAccount = new Intent(DeckPicker.this, MyAccount.class);
myAccount.putExtra("notLoggedIn", true);
startActivityForResult(myAccount, LOG_IN_FOR_SHARED_DECK);
if (AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(DeckPicker.this, ActivityTransitionAnimation.FADE);
}
}
});
dialog = builder.create();
break;
case DIALOG_USER_NOT_LOGGED_IN_SYNC:
builder.setTitle(res.getString(R.string.connection_error_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setMessage(res.getString(R.string.no_user_password_error_message));
builder.setNegativeButton(res.getString(R.string.cancel), null);
builder.setPositiveButton(res.getString(R.string.log_in), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent myAccount = new Intent(DeckPicker.this, MyAccount.class);
myAccount.putExtra("notLoggedIn", true);
startActivityForResult(myAccount, LOG_IN_FOR_SYNC);
if (AnkiDroidApp.SDK_VERSION > 4) {
ActivityTransitionAnimation.slide(DeckPicker.this, ActivityTransitionAnimation.FADE);
}
}
});
dialog = builder.create();
break;
case DIALOG_NO_CONNECTION:
builder.setTitle(res.getString(R.string.connection_error_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setMessage(res.getString(R.string.connection_needed));
builder.setPositiveButton(res.getString(R.string.ok), null);
dialog = builder.create();
break;
case DIALOG_DELETE_DECK:
if (!AnkiDroidApp.colIsOpen() || mDeckList == null) {
return null;
}
// Message is set in onPrepareDialog
builder.setTitle(res.getString(R.string.delete_deck_title));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setPositiveButton(res.getString(R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_DELETE_DECK, new DeckTask.TaskListener() {
@Override
public void onPreExecute() {
mProgressDialog = StyledProgressDialog.show(DeckPicker.this, "", getResources().getString(R.string.delete_deck), true);
}
@Override
public void onPostExecute(TaskData result) {
if (result == null) {
return;
}
Object[] res = result.getObjArray();
updateDecksList((TreeSet<Object[]>) res[0], (Integer) res[1], (Integer) res[2]);
if (mFragmented) {
selectDeck(AnkiDroidApp.getCol().getDecks().selected());
}
if (mProgressDialog.isShowing()) {
try {
mProgressDialog.dismiss();
} catch (Exception e) {
Log.e(AnkiDroidApp.TAG, "onPostExecute - Dialog dismiss Exception = " + e.getMessage());
}
}
}
@Override
public void onProgressUpdate(TaskData... values) {
}
}, new TaskData(AnkiDroidApp.getCol(), mCurrentDid));
}
});
builder.setNegativeButton(res.getString(R.string.cancel), null);
dialog = builder.create();
break;
case DIALOG_SELECT_STATISTICS_TYPE:
dialog = ChartBuilder.getStatisticsDialog(this, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean muh = mFragmented ? AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).getBoolean("statsRange", true) : true;
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_LOAD_STATISTICS, mLoadStatisticsHandler, new DeckTask.TaskData(AnkiDroidApp.getCol(), which, mFragmented ? AnkiDroidApp.getSharedPrefs(AnkiDroidApp.getInstance().getBaseContext()).getBoolean("statsRange", true) : true));
}
}, mFragmented);
break;
case DIALOG_CONTEXT_MENU:
String[] entries = new String[3];
// entries[CONTEXT_MENU_DECK_SUMMARY] =
// "XXXsum";//res.getStringArray(R.array.statistics_type_labels)[0];
// entries[CONTEXT_MENU_CUSTOM_DICTIONARY] =
// res.getString(R.string.contextmenu_deckpicker_set_custom_dictionary);
// entries[CONTEXT_MENU_RESET_LANGUAGE] =
// res.getString(R.string.contextmenu_deckpicker_reset_language_assignments);
entries[CONTEXT_MENU_COLLAPSE_DECK] = res.getString(R.string.contextmenu_deckpicker_collapse_deck);
entries[CONTEXT_MENU_RENAME_DECK] = res.getString(R.string.contextmenu_deckpicker_rename_deck);
entries[CONTEXT_MENU_DELETE_DECK] = res.getString(R.string.contextmenu_deckpicker_delete_deck);
builder.setTitle("Context Menu");
builder.setIcon(R.drawable.ic_menu_manage);
builder.setItems(entries, mContextMenuListener);
dialog = builder.create();
break;
case DIALOG_REPAIR_COLLECTION:
builder.setTitle(res.getString(R.string.backup_repair_deck));
builder.setMessage(res.getString(R.string.repair_deck_dialog, BackupManager.BROKEN_DECKS_SUFFIX));
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setPositiveButton(res.getString(R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_REPAIR_DECK, mRepairDeckHandler, new DeckTask.TaskData(AnkiDroidApp.getCol(), AnkiDroidApp.getCollectionPath()));
}
});
builder.setNegativeButton(res.getString(R.string.no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
dialog = builder.create();
break;
case DIALOG_SYNC_SANITY_ERROR:
builder.setPositiveButton(getString(R.string.sync_sanity_local), mSyncSanityFailListener);
builder.setNeutralButton(getString(R.string.sync_sanity_remote), mSyncSanityFailListener);
builder.setNegativeButton(res.getString(R.string.sync_conflict_cancel), mSyncSanityFailListener);
builder.setTitle(res.getString(R.string.sync_log_title));
dialog = builder.create();
break;
case DIALOG_SYNC_UPGRADE_REQUIRED:
builder.setMessage(res.getString(R.string.upgrade_required, res.getString(R.string.link_anki)));
builder.setPositiveButton(res.getString(R.string.retry), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
sync("download", mSyncMediaUsn);
}
});
builder.setNegativeButton(res.getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (mLoadFailed) {
// dialog has been called because collection could not be opened
showDialog(DIALOG_LOAD_FAILED);
} else {
// dialog has been called because a db error happened
showDialog(DIALOG_DB_ERROR);
}
}
});
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
if (mLoadFailed) {
// dialog has been called because collection could not be opened
showDialog(DIALOG_LOAD_FAILED);
} else {
// dialog has been called because a db error happened
showDialog(DIALOG_DB_ERROR);
}
}
});
builder.setTitle(res.getString(R.string.sync_log_title));
dialog = builder.create();
break;
case DIALOG_SYNC_LOG:
builder.setTitle(res.getString(R.string.sync_log_title));
builder.setPositiveButton(res.getString(R.string.ok), null);
dialog = builder.create();
break;
case DIALOG_BACKUP_NO_SPACE_LEFT:
builder.setTitle(res.getString(R.string.attention));
builder.setMessage(res.getString(R.string.backup_deck_no_space_left));
builder.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
loadCollection();
}
});
// builder.setNegativeButton(res.getString(R.string.dont_show_again), new
// DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface arg0, int arg1) {
// PrefSettings.getSharedPrefs(getBaseContext()).edit().putBoolean("dontShowLowMemory", true).commit();
// }
// });
builder.setCancelable(true);
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
loadCollection();
}
});
dialog = builder.create();
break;
case DIALOG_SD_CARD_NOT_MOUNTED:
if (mNotMountedDialog == null || !mNotMountedDialog.isShowing()) {
mNotMountedDialog = StyledOpenCollectionDialog.show(DeckPicker.this, getResources().getString(R.string.sd_card_not_mounted), new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
finishWithAnimation();
}
}, new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(DeckPicker.this, Preferences.class), PREFERENCES_UPDATE);
}
});
}
dialog = null;
break;
case DIALOG_IMPORT:
builder.setTitle(res.getString(R.string.import_title));
builder.setMessage(res.getString(R.string.import_message, mImportPath));
builder.setPositiveButton(res.getString(R.string.import_message_add), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_IMPORT, mImportAddListener, new TaskData(AnkiDroidApp.getCol(), mImportPath, false));
mImportPath = null;
}
});
builder.setNeutralButton(res.getString(R.string.import_message_replace), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Resources res = getResources();
StyledDialog.Builder builder = new StyledDialog.Builder(DeckPicker.this);
builder.setTitle(res.getString(R.string.import_title));
builder.setMessage(res.getString(R.string.import_message_replace_confirm, mImportPath));
builder.setPositiveButton(res.getString(R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_IMPORT_REPLACE, mImportReplaceListener, new TaskData(AnkiDroidApp.getCol(), mImportPath));
mImportPath = null;
}
});
builder.setNegativeButton(res.getString(R.string.no), null);
builder.show();
}
});
builder.setNegativeButton(res.getString(R.string.cancel), null);
builder.setCancelable(true);
dialog = builder.create();
break;
case DIALOG_IMPORT_SELECT:
builder.setTitle(res.getString(R.string.import_title));
dialog = builder.create();
break;
case DIALOG_IMPORT_HINT:
builder.setTitle(res.getString(R.string.import_title));
builder.setMessage(res.getString(R.string.import_hint, AnkiDroidApp.getCurrentAnkiDroidDirectory()));
builder.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_IMPORT_SELECT);
}
});
builder.setNegativeButton(res.getString(R.string.cancel), null);
dialog = builder.create();
break;
case DIALOG_IMPORT_LOG:
builder.setIcon(R.drawable.ic_dialog_alert);
builder.setTitle(res.getString(R.string.import_title));
builder.setPositiveButton(res.getString(R.string.ok), null);
dialog = builder.create();
break;
case DIALOG_NO_SPACE_LEFT:
builder.setTitle(res.getString(R.string.attention));
builder.setMessage(res.getString(R.string.sd_space_warning, BackupManager.MIN_FREE_SPACE));
builder.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finishWithAnimation();
}
});
// builder.setNegativeButton(res.getString(R.string.dont_show_again), new
// DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface arg0, int arg1) {
// PrefSettings.getSharedPrefs(getBaseContext()).edit().putBoolean("dontShowLowMemory", true).commit();
// }
// });
builder.setCancelable(true);
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
finishWithAnimation();
}
});
dialog = builder.create();
break;
case DIALOG_RESTORE_BACKUP:
File[] files = BackupManager.getBackups(new File(AnkiDroidApp.getCollectionPath()));
mBackups = new File[files.length];
for (int i = 0; i < files.length; i++) {
mBackups[i] = files[files.length - 1 - i];
}
if (mBackups.length == 0) {
builder.setTitle(getResources().getString(R.string.backup_restore));
builder.setMessage(res.getString(R.string.backup_restore_no_backups));
builder.setPositiveButton(res.getString(R.string.ok), new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setCancelable(true).setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
} else {
String[] dates = new String[mBackups.length];
for (int i = 0; i < mBackups.length; i++) {
dates[i] = mBackups[i].getName().replaceAll(".*-(\\d{4}-\\d{2}-\\d{2})-(\\d{2})-(\\d{2}).anki2", "$1 ($2:$3 h)");
}
builder.setTitle(res.getString(R.string.backup_restore_select_title));
builder.setIcon(android.R.drawable.ic_input_get);
builder.setSingleChoiceItems(dates, dates.length, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_RESTORE_DECK, mRestoreDeckHandler, new DeckTask.TaskData(new Object[] { AnkiDroidApp.getCol(), AnkiDroidApp.getCollectionPath(), mBackups[which].getPath() }));
}
});
builder.setCancelable(true).setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
}
dialog = builder.create();
break;
case DIALOG_NEW_COLLECTION:
builder.setTitle(res.getString(R.string.backup_new_collection));
builder.setMessage(res.getString(R.string.backup_del_collection_question));
builder.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
AnkiDroidApp.closeCollection(false);
String path = AnkiDroidApp.getCollectionPath();
AnkiDatabaseManager.closeDatabase(path);
if (BackupManager.moveDatabaseToBrokenFolder(path, false)) {
loadCollection();
} else {
showDialog(DIALOG_ERROR_HANDLING);
}
}
});
builder.setNegativeButton(res.getString(R.string.no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setCancelable(true);
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
dialog = builder.create();
break;
case DIALOG_FULL_SYNC_FROM_SERVER:
builder.setTitle(res.getString(R.string.backup_full_sync_from_server));
builder.setMessage(res.getString(R.string.backup_full_sync_from_server_question));
builder.setPositiveButton(res.getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
sync("download", mSyncMediaUsn);
}
});
builder.setNegativeButton(res.getString(R.string.no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
builder.setCancelable(true);
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
showDialog(DIALOG_ERROR_HANDLING);
}
});
dialog = builder.create();
break;
default:
dialog = null;
}
if (dialog != null) {
dialog.setOwnerActivity(this);
}
return dialog;
}
use of android.content.DialogInterface.OnCancelListener in project Anki-Android by Ramblurr.
the class CardBrowser method onCreateDialog.
@Override
protected Dialog onCreateDialog(int id) {
StyledDialog dialog = null;
Resources res = getResources();
StyledDialog.Builder builder = new StyledDialog.Builder(this);
switch(id) {
case DIALOG_ORDER:
builder.setTitle(res.getString(R.string.card_browser_change_display_order_title));
builder.setMessage(res.getString(R.string.card_browser_change_display_order_reverse));
builder.setIcon(android.R.drawable.ic_menu_sort_by_size);
builder.setSingleChoiceItems(res.getStringArray(R.array.card_browser_order_labels), mOrder, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int which) {
if (which != mOrder) {
mOrder = which;
mOrderAsc = false;
try {
if (mOrder == 0) {
mCol.getConf().put("sortType", fSortTypes[1]);
AnkiDroidApp.getSharedPrefs(getBaseContext()).edit().putBoolean("cardBrowserNoSorting", true).commit();
} else {
mCol.getConf().put("sortType", fSortTypes[mOrder]);
AnkiDroidApp.getSharedPrefs(getBaseContext()).edit().putBoolean("cardBrowserNoSorting", false).commit();
}
// default to descending for non-text fields
if (fSortTypes[mOrder].equals("noteFld")) {
mOrderAsc = true;
}
mCol.getConf().put("sortBackwards", mOrderAsc);
} catch (JSONException e) {
throw new RuntimeException(e);
}
searchCards();
} else if (which != CARD_ORDER_NONE) {
mOrderAsc = !mOrderAsc;
try {
mCol.getConf().put("sortBackwards", mOrderAsc);
} catch (JSONException e) {
throw new RuntimeException(e);
}
Collections.reverse(mCards);
updateList();
}
}
});
dialog = builder.create();
break;
case DIALOG_CONTEXT_MENU:
// FIXME:
String[] entries = new String[4];
@SuppressWarnings("unused") MenuItem item;
entries[CONTEXT_MENU_MARK] = res.getString(R.string.card_browser_mark_card);
entries[CONTEXT_MENU_SUSPEND] = res.getString(R.string.card_browser_suspend_card);
entries[CONTEXT_MENU_DELETE] = res.getString(R.string.card_browser_delete_card);
entries[CONTEXT_MENU_DETAILS] = res.getString(R.string.card_browser_card_details);
builder.setTitle("contextmenu");
builder.setIcon(R.drawable.ic_menu_manage);
builder.setItems(entries, mContextMenuListener);
dialog = builder.create();
break;
case DIALOG_TAGS:
allTags = mCol.getTags().all();
builder.setTitle(R.string.studyoptions_limit_select_tags);
builder.setMultiChoiceItems(allTags, new boolean[allTags.length], new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String tag = allTags[which];
if (mSelectedTags.contains(tag)) {
// Log.i(AnkiDroidApp.TAG, "unchecked tag: " + tag);
mSelectedTags.remove(tag);
} else {
// Log.i(AnkiDroidApp.TAG, "checked tag: " + tag);
mSelectedTags.add(tag);
}
}
});
builder.setPositiveButton(res.getString(R.string.select), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mSearchEditText.setText("");
String tags = mSelectedTags.toString();
mSearchEditText.setHint(getResources().getString(R.string.card_browser_tags_shown, tags.substring(1, tags.length() - 1)));
StringBuilder sb = new StringBuilder();
for (String tag : mSelectedTags) {
sb.append("tag:").append(tag).append(" ");
}
mSearchTerms = sb.toString();
searchCards();
}
});
builder.setNegativeButton(res.getString(R.string.cancel), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mSelectedTags.clear();
}
});
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
mSelectedTags.clear();
}
});
dialog = builder.create();
break;
}
return dialog;
}
use of android.content.DialogInterface.OnCancelListener in project Anki-Android by Ramblurr.
the class StudyOptionsActivity method registerExternalStorageListener.
/**
* Show/dismiss dialog when sd card is ejected/remounted (collection is saved by SdCardReceiver)
*/
private void registerExternalStorageListener() {
if (mUnmountReceiver == null) {
mUnmountReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SdCardReceiver.MEDIA_EJECT)) {
mNotMountedDialog = StyledOpenCollectionDialog.show(StudyOptionsActivity.this, getResources().getString(R.string.sd_card_not_mounted), new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
finish();
}
});
} else if (intent.getAction().equals(SdCardReceiver.MEDIA_MOUNT)) {
if (mNotMountedDialog != null && mNotMountedDialog.isShowing()) {
mNotMountedDialog.dismiss();
}
mCurrentFragment.reloadCollection();
}
}
};
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(SdCardReceiver.MEDIA_EJECT);
iFilter.addAction(SdCardReceiver.MEDIA_MOUNT);
registerReceiver(mUnmountReceiver, iFilter);
}
}
Aggregations