All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.android.ddmlib.SyncException Maven / Gradle / Ivy

There is a newer version: 25.3.0
Show newest version
/*
 * 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