From fe1a993c3243cf7d393ae649ad7743b58b7491bd Mon Sep 17 00:00:00 2001 From: Eric Kok Date: Mon, 27 Aug 2012 11:45:37 +0200 Subject: [PATCH] Merged changes. --- android/.classpath | 2 +- android/src/org/transdroid/gui/DetailsFragment.java | 5 ++++- lib/src/org/transdroid/daemon/util/HttpHelper.java | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/android/.classpath b/android/.classpath index 1d5a58ae..6b9842fa 100644 --- a/android/.classpath +++ b/android/.classpath @@ -2,8 +2,8 @@ - + diff --git a/android/src/org/transdroid/gui/DetailsFragment.java b/android/src/org/transdroid/gui/DetailsFragment.java index 001db821..78a2a45d 100644 --- a/android/src/org/transdroid/gui/DetailsFragment.java +++ b/android/src/org/transdroid/gui/DetailsFragment.java @@ -265,8 +265,11 @@ public class DetailsFragment extends Fragment implements IDaemonCallback, OnSele } if (item.getItemId() == FILEMENU_FTPDOWNLOAD_ID) { + // Set up an intent to download this file using the partial user-specified FTP URL Uri ftpUri = Uri.parse(daemon.getSettings().getFtpUrl() + file.getRelativePath()); + + // Try with an AndFTP PICK Intent Intent dl = new Intent(Intent.ACTION_PICK); dl.setDataAndType(Uri.parse(ftpUri.getScheme() + "://" + ftpUri.getHost()), Transdroid.ANDFTP_INTENT_TYPE); if (!ftpUri.getScheme().equals("alias")) { @@ -283,7 +286,7 @@ public class DetailsFragment extends Fragment implements IDaemonCallback, OnSele ftpUri.getEncodedPath().indexOf("/", 1) < 0? ftpUri.getEncodedPath().substring(1): ftpUri.getEncodedPath()); dl.putExtra(Transdroid.ANDFTP_INTENT_LOCAL, "/sdcard/download"); - TLog.d(LOG_NAME, "Requesting FTP transfer for " + dl.getStringExtra(Transdroid.ANDFTP_INTENT_FILE) + TLog.d(LOG_NAME, "Requesting AndFTP transfer for " + dl.getStringExtra(Transdroid.ANDFTP_INTENT_FILE) + " from " + dl.getDataString()); if (ActivityUtil.isIntentAvailable(getActivity(), dl)) { startActivity(dl); diff --git a/lib/src/org/transdroid/daemon/util/HttpHelper.java b/lib/src/org/transdroid/daemon/util/HttpHelper.java index 6fa419ac..dcfce506 100644 --- a/lib/src/org/transdroid/daemon/util/HttpHelper.java +++ b/lib/src/org/transdroid/daemon/util/HttpHelper.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; -import java.security.InvalidParameterException; import java.util.zip.GZIPInputStream; import org.apache.http.Header; @@ -49,6 +48,7 @@ import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.HttpContext; import org.transdroid.daemon.DaemonException; +import org.transdroid.daemon.DaemonException.ExceptionType; import org.transdroid.daemon.DaemonSettings; /** @@ -113,7 +113,7 @@ public class HttpHelper { // Authentication credentials if (userBasicAuth) { if (username == null || password == null) { - throw new InvalidParameterException("No username or password was provided while we hadauthentication enabled"); + throw new DaemonException(ExceptionType.AuthenticationFailure, "No username or password was provided while we hadauthentication enabled"); } httpclient.getCredentialsProvider().setCredentials( new AuthScope(authAddress, authPort, AuthScope.ANY_REALM),