com.android.ddmlib.SyncException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ddmlib Show documentation
Show all versions of ddmlib Show documentation
Library providing APIs to talk to Android devices
/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.ddmlib;
import java.io.IOException;
/**
* Exception thrown when a transfer using {@link SyncService} doesn't complete.
* This is different from an {@link IOException} because it's not the underlying connection
* that triggered the error, but the adb transfer protocol that didn't work somehow, or that the
* targets (local and/or remote) were wrong.
*/
public class SyncException extends CanceledException {
private static final long serialVersionUID = 1L;
public enum SyncError {
/** canceled transfer */
CANCELED("Operation was canceled by the user."),
/** Transfer error */
TRANSFER_PROTOCOL_ERROR("Adb Transfer Protocol Error."),
/** unknown remote object during a pull */
NO_REMOTE_OBJECT("Remote object doesn't exist!"),
/** Result code when attempting to pull multiple files into a file */
TARGET_IS_FILE("Target object is a file."),
/** Result code when attempting to pull multiple into a directory that does not exist. */
NO_DIR_TARGET("Target directory doesn't exist."),
/** wrong encoding on the remote path. */
REMOTE_PATH_ENCODING("Remote Path encoding is not supported."),
/** remote path that is too long. */
REMOTE_PATH_LENGTH("Remote path is too long."),
/** error while reading local file. */
FILE_READ_ERROR("Reading local file failed!"),
/** error while writing local file. */
FILE_WRITE_ERROR("Writing local file failed!"),
/** attempting to push a directory. */
LOCAL_IS_DIRECTORY("Local path is a directory."),
/** attempting to push a non-existent file. */
NO_LOCAL_FILE("Local path doesn't exist."),
/** when the target path of a multi file push is a file. */
REMOTE_IS_FILE("Remote path is a file."),
/** receiving too much data from the remove device at once */
BUFFER_OVERRUN("Receiving too much data.");
private final String mMessage;
private SyncError(String message) {
mMessage = message;
}
public String getMessage() {
return mMessage;
}
}
private final SyncError mError;
public SyncException(SyncError error) {
super(error.getMessage());
mError = error;
}
public SyncException(SyncError error, String message) {
super(message);
mError = error;
}
public SyncException(SyncError error, Throwable cause) {
super(error.getMessage(), cause);
mError = error;
}
public SyncError getErrorCode() {
return mError;
}
/**
* Returns true if the sync was canceled by user input.
*/
@Override
public boolean wasCanceled() {
return mError == SyncError.CANCELED;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy