use of com.box.androidsdk.content.BoxException in project box-android-sdk by box.
the class MainActivity method uploadSampleFile.
/**
* Method demonstrates a sample file being uploaded using the file api
*/
private void uploadSampleFile() {
mDialog = ProgressDialog.show(MainActivity.this, getText(R.string.boxsdk_Please_wait), getText(R.string.boxsdk_Please_wait));
new Thread() {
@Override
public void run() {
try {
String uploadFileName = "box_logo.png";
InputStream uploadStream = getResources().getAssets().open(uploadFileName);
String destinationFolderId = "0";
String uploadName = "BoxSDKUpload.png";
BoxRequestsFile.UploadFile request = mFileApi.getUploadRequest(uploadStream, uploadName, destinationFolderId);
final BoxFile uploadFileInfo = request.send();
showToast("Uploaded " + uploadFileInfo.getName());
loadRootFolder();
} catch (IOException e) {
e.printStackTrace();
} catch (BoxException e) {
e.printStackTrace();
BoxError error = e.getAsBoxError();
if (error != null && error.getStatus() == HttpStatus.SC_CONFLICT) {
ArrayList<BoxEntity> conflicts = error.getContextInfo().getConflicts();
if (conflicts != null && conflicts.size() == 1 && conflicts.get(0) instanceof BoxFile) {
uploadNewVersion((BoxFile) conflicts.get(0));
return;
}
}
showToast("Upload failed");
} finally {
mDialog.dismiss();
}
}
}.start();
}
use of com.box.androidsdk.content.BoxException in project box-android-sdk by box.
the class OAuthActivity method getAuthFailure.
/**
* Takes an auth exception and converts it to an AuthFailure so it can be properly handled
*
* @param e The auth exception
* @return The typed AuthFailure
*/
private OAuthWebView.AuthFailure getAuthFailure(Exception e) {
String error = getString(R.string.boxsdk_Authentication_fail);
if (e != null) {
// Get the proper exception
Throwable ex = e instanceof ExecutionException ? ((ExecutionException) e).getCause() : e;
if (ex instanceof BoxException) {
BoxError boxError = ((BoxException) ex).getAsBoxError();
if (boxError != null) {
if (((BoxException) ex).getResponseCode() == HttpURLConnection.HTTP_FORBIDDEN || ((BoxException) ex).getResponseCode() == HttpURLConnection.HTTP_UNAUTHORIZED || boxError.getError().equals("unauthorized_device")) {
error += ":" + getResources().getText(R.string.boxsdk_Authentication_fail_forbidden) + "\n";
} else {
error += ":";
}
error += boxError.getErrorDescription();
return new OAuthWebView.AuthFailure(OAuthWebView.AuthFailure.TYPE_AUTHENTICATION_UNAUTHORIZED, error);
}
}
error += ":" + ex;
}
return new OAuthWebView.AuthFailure(OAuthWebView.AuthFailure.TYPE_GENERIC, error);
}
use of com.box.androidsdk.content.BoxException in project box-android-sdk by box.
the class BoxRequest method send.
/**
* Synchronously make the request to Box and handle the response appropriately.
*
* @return the expected BoxObject if the request is successful.
* @throws BoxException thrown if there was a problem with handling the request.
*/
public final T send() throws BoxException {
Exception ex = null;
T result = null;
try {
result = onSend();
} catch (Exception e) {
ex = e;
}
// We catch the exception so that onSendCompleted can be called in case additional actions need to be taken
onSendCompleted(new BoxResponse(result, ex, this));
if (ex != null) {
if (ex instanceof BoxException) {
throw (BoxException) ex;
} else {
throw new BoxException("unexpected exception ", ex);
}
}
return result;
}
use of com.box.androidsdk.content.BoxException in project box-android-sdk by box.
the class DefaultAvatarController method executeAvatarDownloadRequest.
@Override
public BoxFutureTask<BoxDownload> executeAvatarDownloadRequest(final String userId, BoxAvatarView avatarView) {
final WeakReference<BoxAvatarView> avatarViewWeakReference = new WeakReference<BoxAvatarView>(avatarView);
try {
final File avatarFile = getAvatarFile(userId);
if (mUnavailableAvatars.contains(avatarFile.getAbsolutePath())) {
// no point trying if we tried before and it was unavailable.
return null;
}
final BoxFutureTask<BoxDownload> avatarDownloadTask = getApiUser().getDownloadAvatarRequest(getAvatarDir(userId), userId).toTask();
avatarDownloadTask.addOnCompletedListener(new BoxFutureTask.OnCompletedListener<BoxDownload>() {
@Override
public void onCompleted(BoxResponse<BoxDownload> response) {
if (response.isSuccess()) {
BoxAvatarView avatarView = avatarViewWeakReference.get();
if (avatarView != null) {
avatarView.updateAvatar();
}
} else {
if (response.getException() instanceof BoxException) {
if (((BoxException) response.getException()).getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
mUnavailableAvatars.add(getAvatarFile(userId).getAbsolutePath());
}
}
if (avatarFile != null) {
avatarFile.delete();
}
}
}
});
executeTask(avatarDownloadTask);
return avatarDownloadTask;
} catch (IOException e) {
BoxLogUtils.e("unable to createFile ", e);
}
return null;
}
Aggregations