in sdk/appcenter-distribute/src/main/java/com/microsoft/appcenter/distribute/Distribute.java [1531:1588]
private synchronized void showUpdateDialog() {
if (mListener == null && mUsingDefaultUpdateDialog == null) {
mUsingDefaultUpdateDialog = true;
}
if (mListener != null && mForegroundActivity != mLastActivityWithDialog.get()) {
AppCenterLog.debug(LOG_TAG, "Calling listener.onReleaseAvailable.");
boolean customized = mListener.onReleaseAvailable(mForegroundActivity, mReleaseDetails);
if (customized) {
mLastActivityWithDialog = new WeakReference<>(mForegroundActivity);
}
mUsingDefaultUpdateDialog = !customized;
}
if (mUsingDefaultUpdateDialog != null && mUsingDefaultUpdateDialog) {
if (!shouldRefreshDialog(mUpdateDialog)) {
return;
}
AppCenterLog.debug(LOG_TAG, "Show default update dialog.");
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mForegroundActivity);
dialogBuilder.setTitle(R.string.appcenter_distribute_update_dialog_title);
final ReleaseDetails releaseDetails = mReleaseDetails;
String message;
if (releaseDetails.isMandatoryUpdate()) {
message = mContext.getString(R.string.appcenter_distribute_update_dialog_message_mandatory);
} else {
message = mContext.getString(R.string.appcenter_distribute_update_dialog_message_optional);
}
message = formatAppNameAndVersion(message);
dialogBuilder.setMessage(message);
dialogBuilder.setPositiveButton(R.string.appcenter_distribute_update_dialog_download, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
enqueueDownloadOrShowUnknownSourcesDialog(releaseDetails);
}
});
dialogBuilder.setCancelable(false);
if (!releaseDetails.isMandatoryUpdate()) {
dialogBuilder.setNegativeButton(R.string.appcenter_distribute_update_dialog_postpone, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
postponeRelease(releaseDetails);
}
});
}
if (!TextUtils.isEmpty(releaseDetails.getReleaseNotes()) && releaseDetails.getReleaseNotesUrl() != null) {
dialogBuilder.setNeutralButton(R.string.appcenter_distribute_update_dialog_view_release_notes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
viewReleaseNotes(releaseDetails);
}
});
}
mUpdateDialog = dialogBuilder.create();
showAndRememberDialogActivity(mUpdateDialog);
}
}