Fix permission issue on channel

Change-Id: I57f5d128dc2e2aa3bff93e82456f73cb96851f82
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index edbc624..f483576 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -959,10 +959,8 @@
      * an AsyncChannel communication with WifiService
      */
     public Messenger getWifiServiceMessenger() {
-         /* STOPSHIP: Fix this to have old sync API not need these new permissions
-          * enforceAccessPermission();
-          * enforceChangePermission();
-          */
+        enforceAccessPermission();
+        enforceChangePermission();
         return new Messenger(mAsyncServiceHandler);
     }
 
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 3579b86..284bee8 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -1358,7 +1358,11 @@
 
     private void init() {
         mWifiServiceMessenger = getWifiServiceMessenger();
-        if (mWifiServiceMessenger == null) throw new RuntimeException("Failed to initialize");
+        if (mWifiServiceMessenger == null) {
+            mAsyncChannel = null;
+            return;
+        }
+
         HandlerThread t = new HandlerThread("WifiManager");
         t.start();
         mHandler = new ServiceHandler(t.getLooper());
@@ -1372,7 +1376,7 @@
 
     private void validateChannel() {
         if (mAsyncChannel == null) throw new IllegalStateException(
-                "Bad WifiManager instance state, re-initialize");
+                "No permission to access and change wifi or a bad initialization");
     }
 
     /**
@@ -1517,6 +1521,8 @@
             return mService.getWifiServiceMessenger();
         } catch (RemoteException e) {
             return null;
+        } catch (SecurityException e) {
+            return null;
         }
     }