diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index edbc6246b1c03..f483576f8fccf 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -959,10 +959,8 @@ public class WifiService extends IWifiManager.Stub { * 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 3579b8631beb7..284bee8d8e03d 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -1358,7 +1358,11 @@ public class WifiManager { 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 @@ public class WifiManager { 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 @@ public class WifiManager { return mService.getWifiServiceMessenger(); } catch (RemoteException e) { return null; + } catch (SecurityException e) { + return null; } }