use of com.instructure.canvasapi2.models.Submission in project instructure-android by instructure.
the class AssignmentAPI method getNextPageSubmissions.
public static void getNextPageSubmissions(@NonNull String nextUrl, @NonNull RestBuilder adapter, boolean forceNetwork, @NonNull StatusCallback<List<Submission>> callback) {
RestParams params = new RestParams.Builder().withShouldIgnoreToken(false).withPerPageQueryParam(true).withForceReadFromNetwork(forceNetwork).build();
callback.addCall(adapter.build(AssignmentInterface.class, params).getNextPageSubmissions(nextUrl)).enqueue(callback);
}
use of com.instructure.canvasapi2.models.Submission in project instructure-android by instructure.
the class AddSubmissionFragment method setUpCallback.
// /////////////////////////////////////////////////////////////////////////
// CallBack
// /////////////////////////////////////////////////////////////////////////
public void setUpCallback() {
canvasCallbackSubmission = new StatusCallback<Submission>() {
@Override
public void onResponse(@NonNull Response<Submission> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
if (!apiCheck()) {
return;
}
Submission result = response.body();
if (result.getBody() != null || result.getUrl() != null) {
Toast.makeText(getActivity(), R.string.successPostingSubmission, Toast.LENGTH_LONG).show();
// clear text fields because they are saved
textSubmission.setText("");
urlSubmission.setText("");
// Send broadcast so list is updated.
EventBus.getDefault().post(new FileUploadEvent(new FileUploadNotification(null, new ArrayList<Attachment>())));
Navigation navigation = getNavigation();
if (navigation != null)
navigation.popCurrentFragment();
} else {
Toast.makeText(getActivity(), R.string.errorPostingSubmission, Toast.LENGTH_LONG).show();
}
}
};
mLTIToolCallback = new StatusCallback<List<LTITool>>() {
@Override
public void onResponse(@NonNull Response<List<LTITool>> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
for (LTITool ltiTool : response.body()) {
final String url = ltiTool.getUrl();
if (url != null && url.contains("instructuremedia.com/lti/launch")) {
mArcUpload.setVisibility(View.VISIBLE);
mArcLTITool = ltiTool;
break;
}
}
// check to see if we should automatically show the file upload dialog
showFileUploadDialog();
}
@Override
public void onFail(@Nullable Call<List<LTITool>> call, @NonNull Throwable error, @Nullable Response response) {
// we don't want to show it if this failed due to there being no cache
if (response != null && response.code() != 504) {
showFileUploadDialog();
}
}
};
}
use of com.instructure.canvasapi2.models.Submission in project instructure-android by instructure.
the class AssignmentBinder method bind.
public static void bind(Context context, final AssignmentViewHolder holder, final Assignment assignment, final int courseColor, final AdapterToFragmentCallback adapterToFragmentCallback) {
holder.title.setText(assignment.getName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapterToFragmentCallback.onRowClicked(assignment, holder.getAdapterPosition(), true);
}
});
long courseId = assignment.getCourseId();
int color = ColorKeeper.getOrGenerateColor(CanvasContext.makeContextId(CanvasContext.Type.COURSE, courseId));
Submission submission = assignment.getSubmission();
if (assignment.isMuted()) {
// mute that score
holder.points.setVisibility(View.GONE);
} else {
holder.points.setVisibility(View.VISIBLE);
setupGradeText(context, holder.points, assignment, submission, courseColor);
}
final int drawable = getAssignmentIcon(assignment);
holder.icon.setImageDrawable(ColorKeeper.getColoredDrawable(context, drawable, color));
if (assignment.getDueAt() != null) {
holder.date.setText(DateHelper.createPrefixedDateTimeString(context, R.string.toDoDue, assignment.getDueAt()));
} else {
holder.date.setText(context.getResources().getString(R.string.toDoNoDueDate));
}
// set description to assignment description or excused
String description;
if (submission != null && submission.isExcused()) {
description = context.getString(R.string.excusedAssignment);
holder.description.setTypeface(null, Typeface.BOLD);
} else {
description = getHtmlAsText(assignment.getDescription());
holder.description.setTypeface(null, Typeface.NORMAL);
}
setCleanText(holder.description, description);
if (TextUtils.isEmpty(description)) {
setGone(holder.description);
} else {
setVisible(holder.description);
}
}
use of com.instructure.canvasapi2.models.Submission in project instructure-android by instructure.
the class AssignmentManager method getAllSubmissionsForAssignment.
public static void getAllSubmissionsForAssignment(long courseId, long assignmentId, final boolean forceNetwork, StatusCallback<List<Submission>> callback) {
if (isTesting() || mTesting) {
AssignmentManager_Test.getAllSubmissionsForAssignment(courseId, assignmentId, callback);
} else {
final RestBuilder adapter = new RestBuilder(callback);
StatusCallback<List<Submission>> depaginatedCallback = new ExhaustiveListCallback<Submission>(callback) {
@Override
public void getNextPage(@NonNull StatusCallback<List<Submission>> callback, @NonNull String nextUrl, boolean isCached) {
AssignmentAPI.getNextPageSubmissions(nextUrl, adapter, forceNetwork, callback);
}
};
adapter.setStatusCallback(depaginatedCallback);
AssignmentAPI.getFirstPageSubmissionsForAssignment(courseId, assignmentId, forceNetwork, adapter, depaginatedCallback);
}
}
use of com.instructure.canvasapi2.models.Submission in project instructure-android by instructure.
the class AssignmentUtils2Test method getAssignmentState_stateExcused.
@Test
public void getAssignmentState_stateExcused() throws Exception {
Assignment assignment = new Assignment();
Submission submission = new Submission();
submission.setExcused(true);
assignment.setSubmission(submission);
int testValue = AssignmentUtils2.getAssignmentState(assignment, submission);
assertEquals("", testValue, AssignmentUtils2.ASSIGNMENT_STATE_EXCUSED);
}
Aggregations