diff --git a/service/java/com/android/server/wifi/HalDeviceManager.java b/service/java/com/android/server/wifi/HalDeviceManager.java
index d6009c7..8623659 100644
--- a/service/java/com/android/server/wifi/HalDeviceManager.java
+++ b/service/java/com/android/server/wifi/HalDeviceManager.java
@@ -33,6 +33,7 @@
 import android.hidl.manager.V1_0.IServiceManager;
 import android.hidl.manager.V1_0.IServiceNotification;
 import android.os.Handler;
+import android.os.HidlSupport.Mutable;
 import android.os.HwRemoteBinder;
 import android.os.Looper;
 import android.os.Message;
@@ -1940,18 +1941,6 @@
         return typeResp.value;
     }
 
-    private static class Mutable<E> {
-        public E value;
-
-        Mutable() {
-            value = null;
-        }
-
-        Mutable(E value) {
-            this.value = value;
-        }
-    }
-
     /**
      * Dump the internal state of the class.
      */
diff --git a/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java b/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java
index d2182fc..d22046c 100644
--- a/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java
+++ b/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java
@@ -46,6 +46,7 @@
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiSsid;
+import android.os.HidlSupport.Mutable;
 import android.os.HwRemoteBinder;
 import android.os.RemoteException;
 import android.text.TextUtils;
@@ -1909,18 +1910,6 @@
         }
     }
 
-    private static class Mutable<E> {
-        public E value;
-
-        Mutable() {
-            value = null;
-        }
-
-        Mutable(E value) {
-            this.value = value;
-        }
-    }
-
     private class SupplicantStaIfaceHalCallback extends ISupplicantStaIfaceCallback.Stub {
         private static final int WLAN_REASON_IE_IN_4WAY_DIFFERS = 17; // IEEE 802.11i
         private boolean mStateIsFourway = false; // Used to help check for PSK password mismatch
diff --git a/service/java/com/android/server/wifi/SupplicantStaNetworkHal.java b/service/java/com/android/server/wifi/SupplicantStaNetworkHal.java
index b359897..0524a80 100644
--- a/service/java/com/android/server/wifi/SupplicantStaNetworkHal.java
+++ b/service/java/com/android/server/wifi/SupplicantStaNetworkHal.java
@@ -22,6 +22,7 @@
 import android.hardware.wifi.supplicant.V1_0.SupplicantStatusCode;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiEnterpriseConfig;
+import android.os.HidlSupport.Mutable;
 import android.os.RemoteException;
 import android.text.TextUtils;
 import android.util.Log;
@@ -2510,18 +2511,6 @@
         }
     }
 
-    private static class Mutable<E> {
-        public E value;
-
-        Mutable() {
-            value = null;
-        }
-
-        Mutable(E value) {
-            this.value = value;
-        }
-    }
-
     private class SupplicantStaNetworkHalCallback extends ISupplicantStaNetworkCallback.Stub {
         /**
          * Current configured network's framework network id.
