Merge "Do not throw NullPointerException from PacService"
diff --git a/core/java/android/net/PacProxySelector.java b/core/java/android/net/PacProxySelector.java
index 8626d08..9bdf4f6 100644
--- a/core/java/android/net/PacProxySelector.java
+++ b/core/java/android/net/PacProxySelector.java
@@ -16,7 +16,6 @@
 
 package android.net;
 
-import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.util.Log;
 
@@ -74,8 +73,8 @@
         }
         try {
             response = mProxyService.resolvePacFile(uri.getHost(), urlString);
-        } catch (RemoteException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+            Log.e(TAG, "Error resolving PAC File", e);
         }
         if (response == null) {
             return mDefaultList;
diff --git a/packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java b/packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java
index c6b76f1..74391eb 100644
--- a/packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java
+++ b/packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java
@@ -72,16 +72,22 @@
         @Override
         public String resolvePacFile(String host, String url) throws RemoteException {
             try {
+                if (host == null) {
+                    throw new IllegalArgumentException("The host must not be null");
+                }
+                if (url == null) {
+                    throw new IllegalArgumentException("The URL must not be null");
+                }
                 // Check for characters that could be used for an injection attack.
                 new URL(url);
                 for (char c : host.toCharArray()) {
                     if (!Character.isLetterOrDigit(c) && (c != '.') && (c != '-')) {
-                        throw new RemoteException("Invalid host was passed");
+                        throw new IllegalArgumentException("Invalid host was passed");
                     }
                 }
                 return mPacNative.makeProxyRequest(url, host);
             } catch (MalformedURLException e) {
-                throw new RemoteException("Invalid URL was passed");
+                throw new IllegalArgumentException("Invalid URL was passed");
             }
         }