Search in sources :

Example 21 with ApiType

use of com.instructure.canvasapi2.utils.ApiType in project instructure-android by instructure.

the class FileFolderManager method getAllFilesRoot.

public static void getAllFilesRoot(CanvasContext canvasContext, final boolean forceNetwork, final StatusCallback<List<FileFolder>> callback) {
    if (isTesting() || mTesting) {
    // TODO
    } else {
        final RestBuilder adapter = new RestBuilder(callback);
        final RestParams params = new RestParams.Builder().withCanvasContext(canvasContext).withForceReadFromNetwork(forceNetwork).withPerPageQueryParam(true).build();
        FileFolderAPI.getRootFolderForContext(adapter, canvasContext, new StatusCallback<FileFolder>() {

            @Override
            public void onResponse(@NonNull Response<FileFolder> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
                getAllFiles(response.body().getId(), forceNetwork, callback);
            }
        }, params);
    }
}
Also used : RestParams(com.instructure.canvasapi2.builders.RestParams) LinkHeaders(com.instructure.canvasapi2.utils.LinkHeaders) FileFolder(com.instructure.canvasapi2.models.FileFolder) UpdateFileFolder(com.instructure.canvasapi2.models.UpdateFileFolder) RestBuilder(com.instructure.canvasapi2.builders.RestBuilder) ApiType(com.instructure.canvasapi2.utils.ApiType) RestBuilder(com.instructure.canvasapi2.builders.RestBuilder)

Example 22 with ApiType

use of com.instructure.canvasapi2.utils.ApiType in project instructure-android by instructure.

the class BaseRouterActivity method handleSpecificFile.

private void handleSpecificFile(long courseId, String fileID) {
    final CanvasContext canvasContext = CanvasContext.getGenericContext(CanvasContext.Type.COURSE, courseId, "");
    Logger.d("handleSpecificFile()");
    FileFolderManager.getFileFolderFromURLAirwolf(ApiPrefs.getAirwolfDomain(), "files/" + fileID, new StatusCallback<FileFolder>() {

        @Override
        public void onResponse(@NonNull Response<FileFolder> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
            if (type == ApiType.API) {
                FileFolder fileFolder = response.body();
                if (fileFolder == null || response.code() == 404) {
                    Toast.makeText(BaseRouterActivity.this, R.string.fileNoLongerExists, Toast.LENGTH_LONG).show();
                } else {
                    if (fileFolder.isLocked() || fileFolder.isLockedForUser()) {
                        Toast.makeText(BaseRouterActivity.this, String.format(getString(R.string.fileLocked), (fileFolder.getDisplayName() == null) ? getString(R.string.file) : fileFolder.getDisplayName()), Toast.LENGTH_LONG).show();
                    } else {
                        downloadMedia(BaseRouterActivity.this, fileFolder.getContentType(), fileFolder.getUrl(), fileFolder.getDisplayName());
                    }
                }
            }
        }

        @Override
        public void onFail(@Nullable Call<FileFolder> call, @NonNull Throwable error, @Nullable Response response) {
            if (response != null && response.code() == 404) {
                Toast.makeText(BaseRouterActivity.this, R.string.fileNoLongerExists, Toast.LENGTH_LONG).show();
            }
        }
    });
}
Also used : Response(retrofit2.Response) LinkHeaders(com.instructure.canvasapi2.utils.LinkHeaders) FileFolder(com.instructure.canvasapi2.models.FileFolder) ApiType(com.instructure.canvasapi2.utils.ApiType) CanvasContext(com.instructure.canvasapi2.models.CanvasContext)

Example 23 with ApiType

use of com.instructure.canvasapi2.utils.ApiType in project instructure-android by instructure.

the class SettingsActivity method removeStudent.

public void removeStudent(final Student student) {
    AnalyticUtils.trackButtonPressed(AnalyticUtils.REMOVE_STUDENT);
    setResult(RESULT_OK);
    final ProgressDialog dialog = ProgressDialog.show(SettingsActivity.this, getString(R.string.removingStudent), "", true, false);
    dialog.show();
    // this api call removes student data from the db (like alerts info).
    UserManager.removeStudentAirwolf(ApiPrefs.getAirwolfDomain(), student.getParentId(), student.getStudentId(), new StatusCallback<ResponseBody>() {

        @Override
        public void onResponse(@NonNull Response<ResponseBody> response, @NonNull LinkHeaders linkHeaders, @NonNull ApiType type) {
            dialog.dismiss();
            Toast.makeText(SettingsActivity.this, getString(R.string.studentRemoved), Toast.LENGTH_SHORT).show();
            int adapterSizeBeforeRemove = getAdapter().size();
            boolean removed = getAdapter().removeItem(student);
            if (removed && adapterSizeBeforeRemove == 1) {
                // Catches case for removing last student
                finish();
            }
        }
    });
}
Also used : LinkHeaders(com.instructure.canvasapi2.utils.LinkHeaders) ApiType(com.instructure.canvasapi2.utils.ApiType) ProgressDialog(android.app.ProgressDialog) ResponseBody(okhttp3.ResponseBody)

Aggregations

ApiType (com.instructure.canvasapi2.utils.ApiType)23 LinkHeaders (com.instructure.canvasapi2.utils.LinkHeaders)23 Response (retrofit2.Response)15 NonNull (android.support.annotation.NonNull)8 StatusCallback (com.instructure.canvasapi2.StatusCallback)7 ArrayList (java.util.ArrayList)7 FileFolder (com.instructure.canvasapi2.models.FileFolder)6 QuizSubmissionResponse (com.instructure.canvasapi2.models.QuizSubmissionResponse)5 List (java.util.List)5 ResponseBody (okhttp3.ResponseBody)5 RestBuilder (com.instructure.canvasapi2.builders.RestBuilder)4 RestParams (com.instructure.canvasapi2.builders.RestParams)4 QuizSubmissionQuestionResponse (com.instructure.canvasapi2.models.QuizSubmissionQuestionResponse)4 UpdateFileFolder (com.instructure.canvasapi2.models.UpdateFileFolder)4 Bundle (android.os.Bundle)3 PollSessionResponse (com.instructure.canvasapi2.models.PollSessionResponse)3 Nullable (android.support.annotation.Nullable)2 View (android.view.View)2 TextView (android.widget.TextView)2 LinkedTreeMap (com.google.gson.internal.LinkedTreeMap)2