diff --git a/android/app/jni/com_android_bluetooth_avrcp_target.cpp b/android/app/jni/com_android_bluetooth_avrcp_target.cpp
index fb8c56086d0316b4000ca46da3d59216dc97367e..8f0ec95ce31074945ad0f392592f56b430029ff4 100644
--- a/android/app/jni/com_android_bluetooth_avrcp_target.cpp
+++ b/android/app/jni/com_android_bluetooth_avrcp_target.cpp
@@ -16,8 +16,8 @@
 
 #define LOG_TAG "AvrcpTargetJni"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <map>
 #include <mutex>
 #include <shared_mutex>
diff --git a/android/app/jni/com_android_bluetooth_gatt.cpp b/android/app/jni/com_android_bluetooth_gatt.cpp
index 02e059ed438db9408b94fb28fcaf5a7bc7be7490..c4d62b7871f68664fa18e6e29c696ebb1dba9588 100644
--- a/android/app/jni/com_android_bluetooth_gatt.cpp
+++ b/android/app/jni/com_android_bluetooth_gatt.cpp
@@ -16,8 +16,8 @@
 
 #define LOG_TAG "BtGatt.JNI"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <cutils/log.h>
 #include <string.h>
 
diff --git a/system/bta/ag/bta_ag_api.cc b/system/bta/ag/bta_ag_api.cc
index d012d77a66987e80ed43e780925222cc2425217b..7a0b51266f7f68b8fda4bdba8063aa7fe306fb8a 100644
--- a/system/bta/ag/bta_ag_api.cc
+++ b/system/bta/ag/bta_ag_api.cc
@@ -26,7 +26,7 @@
 
 #include "bta/include/bta_ag_api.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 
 #include <cstdint>
diff --git a/system/bta/ag/bta_ag_rfc.cc b/system/bta/ag/bta_ag_rfc.cc
index 7d08e25bfc0f381c1b4cc93b114370442a3ad076..58ed5e968f293bcd07982974b1182d47103ef35f 100644
--- a/system/bta/ag/bta_ag_rfc.cc
+++ b/system/bta/ag/bta_ag_rfc.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <cstring>
diff --git a/system/bta/ag/bta_ag_sco.cc b/system/bta/ag/bta_ag_sco.cc
index a2e4ac2031a5fc0e6b1c0833d469650fb714585c..85957787797c768a2c7607897f0762747814f47f 100644
--- a/system/bta/ag/bta_ag_sco.cc
+++ b/system/bta/ag/bta_ag_sco.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <cstdint>
diff --git a/system/bta/ag/bta_ag_sdp.cc b/system/bta/ag/bta_ag_sdp.cc
index c199c0809fcf0875b04c4aa11106a9850dc3e933..9455dadf5f7dff3af172be4c91355e8aba6ce9a1 100644
--- a/system/bta/ag/bta_ag_sdp.cc
+++ b/system/bta/ag/bta_ag_sdp.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/bta/csis/csis_client.cc b/system/bta/csis/csis_client.cc
index 81b3d151245427719b5b019b1a2060cc0c48e3f3..30a0418f92c23e6bcba98b9b6fa2f0d888714ded 100644
--- a/system/bta/csis/csis_client.cc
+++ b/system/bta/csis/csis_client.cc
@@ -15,8 +15,8 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>
 #include <hardware/bt_csis.h>
diff --git a/system/bta/csis/csis_client_test.cc b/system/bta/csis/csis_client_test.cc
index 6625313ea2d5aead0abdc374e5184bc99d43dcb2..6436213929b1f78312260bbcfe375fad0025f991 100644
--- a/system/bta/csis/csis_client_test.cc
+++ b/system/bta/csis/csis_client_test.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/system/bta/dm/bta_dm_api.cc b/system/bta/dm/bta_dm_api.cc
index c9076dedd867da8bb449e4d55c8556e98e19a6bc..a4c7627356a3b7fce30538039cbd9c41c70c7991 100644
--- a/system/bta/dm/bta_dm_api.cc
+++ b/system/bta/dm/bta_dm_api.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <vector>
 
diff --git a/system/bta/dm/bta_dm_ci.cc b/system/bta/dm/bta_dm_ci.cc
index ea815247aa321cd394120b71c48daa5384e1b810..6fc4242bb4b6009ea923b4210467ac47757487bf 100644
--- a/system/bta/dm/bta_dm_ci.cc
+++ b/system/bta/dm/bta_dm_ci.cc
@@ -21,7 +21,7 @@
  *  This is the API implementation file for the BTA device manager.
  *
  ******************************************************************************/
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <memory>
 
 #include "bta/dm/bta_dm_int.h"
diff --git a/system/bta/dm/bta_dm_pm.cc b/system/bta/dm/bta_dm_pm.cc
index 7e28f0818718dd8523b00b4c9d82ed9575b7789a..07126bf7dae078991cbc1028357255fdb54f31f4 100644
--- a/system/bta/dm/bta_dm_pm.cc
+++ b/system/bta/dm/bta_dm_pm.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <cstdint>
 #include <mutex>
diff --git a/system/bta/gatt/bta_gattc_act.cc b/system/bta/gatt/bta_gattc_act.cc
index 9b4b092504fc521fc0723ee88fc62b3f734461ce..4590090fae9be895be62a12229233c5800136810 100644
--- a/system/bta/gatt/bta_gattc_act.cc
+++ b/system/bta/gatt/bta_gattc_act.cc
@@ -25,7 +25,7 @@
 
 #define LOG_TAG "bt_bta_gattc"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/strings/stringprintf.h>
 
diff --git a/system/bta/gatt/bta_gattc_api.cc b/system/bta/gatt/bta_gattc_api.cc
index 93d02f212f54c989892368a23ab6baa4f2981135..f602191976af9165474edabe674324b838940c35 100644
--- a/system/bta/gatt/bta_gattc_api.cc
+++ b/system/bta/gatt/bta_gattc_api.cc
@@ -24,7 +24,7 @@
 
 #define LOG_TAG "bta_gattc_api"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <ios>
diff --git a/system/bta/gatt/bta_gatts_api.cc b/system/bta/gatt/bta_gatts_api.cc
index d0e4f444db6482863fc8f18c16ad59268838ade9..55d9acc6eab5b6ca1bbd813d15bb35ceb926805c 100644
--- a/system/bta/gatt/bta_gatts_api.cc
+++ b/system/bta/gatt/bta_gatts_api.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/bta/has/has_client.cc b/system/bta/has/has_client.cc
index 0d88ef2ba7895879ab42da22aaf6f6cc7d7d474a..d01accf4123d17b7078dceffab3d40077196e150 100644
--- a/system/bta/has/has_client.cc
+++ b/system/bta/has/has_client.cc
@@ -15,8 +15,8 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>
 #include <hardware/bt_gatt_types.h>
diff --git a/system/bta/has/has_client_test.cc b/system/bta/has/has_client_test.cc
index a1c77bca77064fcb823e0d0a67593596ef94daac..0b28ff555c9f47c09838836d1a8364265f3da7c8 100644
--- a/system/bta/has/has_client_test.cc
+++ b/system/bta/has/has_client_test.cc
@@ -15,8 +15,8 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
 #include <base/bind_helpers.h>
+#include <base/functional/bind.h>
 #include <base/strings/string_number_conversions.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/system/bta/hearing_aid/hearing_aid.cc b/system/bta/hearing_aid/hearing_aid.cc
index 23156792092153c6ce60c19c5817dde093b5d573..ca8fcd62258b0a559d71fdd6638b2a3d397fd997 100644
--- a/system/bta/hearing_aid/hearing_aid.cc
+++ b/system/bta/hearing_aid/hearing_aid.cc
@@ -20,8 +20,8 @@
 
 #define LOG_TAG "bluetooth"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>  // HexEncode
 
diff --git a/system/bta/hh/bta_hh_le.cc b/system/bta/hh/bta_hh_le.cc
index 2c9df69d7b4d9959a43981ceeeebc8bbb56a1032..8c04a5b5e035b80c7b167a8eaae7a52af563deb9 100644
--- a/system/bta/hh/bta_hh_le.cc
+++ b/system/bta/hh/bta_hh_le.cc
@@ -18,8 +18,8 @@
 
 #define LOG_TAG "bt_bta_hh"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 
 #include <cstdint>
 #include <vector>
diff --git a/system/bta/include/bta_api.h b/system/bta/include/bta_api.h
index c17c516b499ad90a5cfa452e33a20e3dddc6960a..a28dfec618b4b4783964de5f621fac21ef07f797 100644
--- a/system/bta/include/bta_api.h
+++ b/system/bta/include/bta_api.h
@@ -26,7 +26,7 @@
 #define BTA_API_H
 
 #include <base/strings/stringprintf.h>
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <cstdint>
 #include <vector>
diff --git a/system/bta/include/bta_csis_api.h b/system/bta/include/bta_csis_api.h
index 44dca04ff15858563908ac3bad7b5505d47ffd27..6ed5bb41e595eb2bbd03410bd8ab8cb155bde076 100644
--- a/system/bta/include/bta_csis_api.h
+++ b/system/bta/include/bta_csis_api.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "bind_helpers.h"
 #include "bta/include/bta_groups.h"
 #include "hardware/bt_csis.h"
diff --git a/system/bta/include/bta_gatt_api.h b/system/bta/include/bta_gatt_api.h
index 1a38936778fadf44848c84cc1f099467476a8a2d..54ab6401d3f1a758ceba2feddf2feaa4ce626c36 100644
--- a/system/bta/include/bta_gatt_api.h
+++ b/system/bta/include/bta_gatt_api.h
@@ -25,7 +25,7 @@
 #ifndef BTA_GATT_API_H
 #define BTA_GATT_API_H
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <base/strings/stringprintf.h>
 
 #include <list>
diff --git a/system/bta/include/bta_has_api.h b/system/bta/include/bta_has_api.h
index ae9cc5255a2295d462c6464fb6eb102b72132ec4..cd5c5c215091776d708277c6260fba67e18f0ea9 100644
--- a/system/bta/include/bta_has_api.h
+++ b/system/bta/include/bta_has_api.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <string>
 
diff --git a/system/bta/include/bta_hearing_aid_api.h b/system/bta/include/bta_hearing_aid_api.h
index d1b930bbb2dc5e85b499d34aa94874d055fa7f75..a79fb7c26219848a1972941839d06d88efa16a63 100644
--- a/system/bta/include/bta_hearing_aid_api.h
+++ b/system/bta/include/bta_hearing_aid_api.h
@@ -18,7 +18,7 @@
 
 #pragma once
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <hardware/bt_hearing_aid.h>
 
 #include <cstdint>
diff --git a/system/bta/include/bta_le_audio_api.h b/system/bta/include/bta_le_audio_api.h
index 5a9950f182b670a6962021cdf2b1a4eba3444fb1..948ec00ed19a395d6113d126739e7569d97e0eff 100644
--- a/system/bta/include/bta_le_audio_api.h
+++ b/system/bta/include/bta_le_audio_api.h
@@ -17,9 +17,9 @@
 
 #pragma once
 
-#include <base/bind.h>
-#include <base/callback.h>
-#include <base/callback_forward.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
+#include <base/functional/callback_forward.h>
 #include <hardware/bt_le_audio.h>
 
 #include <vector>
diff --git a/system/bta/jv/bta_jv_api.cc b/system/bta/jv/bta_jv_api.cc
index 8d145919748ba9b76db19ca41b6770a02c426ec2..2c1df7a31494f031749bc7df927f1427afc60fcc 100644
--- a/system/bta/jv/bta_jv_api.cc
+++ b/system/bta/jv/bta_jv_api.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/bta/le_audio/broadcaster/broadcaster.cc b/system/bta/le_audio/broadcaster/broadcaster.cc
index b4db874de39843dabfd09b4857badafa488718e2..64c3a7930fe65f490c19830a01a605d338771e8c 100644
--- a/system/bta/le_audio/broadcaster/broadcaster.cc
+++ b/system/bta/le_audio/broadcaster/broadcaster.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include "bta/include/bta_le_audio_api.h"
 #include "bta/include/bta_le_audio_broadcaster_api.h"
diff --git a/system/bta/le_audio/broadcaster/mock_ble_advertising_manager.h b/system/bta/le_audio/broadcaster/mock_ble_advertising_manager.h
index 1bfcaf3536d9303358a0e1be2f578bc573849045..0dfae21207757358b78048f21c703f0cc532b4e5 100644
--- a/system/bta/le_audio/broadcaster/mock_ble_advertising_manager.h
+++ b/system/bta/le_audio/broadcaster/mock_ble_advertising_manager.h
@@ -17,8 +17,8 @@
 
 #pragma once
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/memory/weak_ptr.h>
 #include <gmock/gmock.h>
 
diff --git a/system/bta/le_audio/broadcaster/state_machine.cc b/system/bta/le_audio/broadcaster/state_machine.cc
index 2b8eae5416ece8c640dc91a83fdd69cac2f7afc0..2425270533990ff58b05154895fa263ce4e9ef9a 100644
--- a/system/bta/le_audio/broadcaster/state_machine.cc
+++ b/system/bta/le_audio/broadcaster/state_machine.cc
@@ -22,8 +22,8 @@
 #include <functional>
 #include <iostream>
 
-#include "base/bind.h"
-#include "base/callback.h"
+#include "base/functional/bind.h"
+#include "base/functional/callback.h"
 #include "base/logging.h"
 #include "bta/le_audio/broadcaster/broadcaster_types.h"
 #include "bta/le_audio/le_audio_types.h"
diff --git a/system/bta/le_audio/broadcaster/state_machine.h b/system/bta/le_audio/broadcaster/state_machine.h
index e4d8eff83529a9d8b519c7c522c60818e347c38a..422cc079fbfd542a8cfff2a31a2df6c1d0b613d1 100644
--- a/system/bta/le_audio/broadcaster/state_machine.h
+++ b/system/bta/le_audio/broadcaster/state_machine.h
@@ -22,7 +22,7 @@
 #include <optional>
 #include <type_traits>
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "broadcaster_types.h"
 #include "bta_le_audio_broadcaster_api.h"
 
diff --git a/system/bta/le_audio/client.cc b/system/bta/le_audio/client.cc
index 76ac6963dc7bc3296017e34078b12f0814ebe603..a3f2b306e8a94a68b61858be6b8c4f713bc6a4b6 100644
--- a/system/bta/le_audio/client.cc
+++ b/system/bta/le_audio/client.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/strings/string_number_conversions.h>
 
 #include <deque>
diff --git a/system/bta/le_audio/client_linux.cc b/system/bta/le_audio/client_linux.cc
index 13f45633a4c3873ad6c4288d5993154017aec175..4cc133f1e5019d4eb1ef03278c21578c08cb4480 100644
--- a/system/bta/le_audio/client_linux.cc
+++ b/system/bta/le_audio/client_linux.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include "bta_le_audio_api.h"
 
diff --git a/system/bta/le_audio/state_machine.cc b/system/bta/le_audio/state_machine.cc
index 8ae32e12b65706daf409186ffda871d11bef91dc..fb90370168ceffdcac8e1470d107a14286271325 100644
--- a/system/bta/le_audio/state_machine.cc
+++ b/system/bta/le_audio/state_machine.cc
@@ -17,8 +17,8 @@
 
 #include "state_machine.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 
 #include <map>
 
diff --git a/system/bta/sdp/bta_sdp_api.cc b/system/bta/sdp/bta_sdp_api.cc
index 9ce30098996b2c731d07cd17772b6f2334ea9837..a7e88d32e93d9594a8398afd5c7558fd69ce74a2 100644
--- a/system/bta/sdp/bta_sdp_api.cc
+++ b/system/bta/sdp/bta_sdp_api.cc
@@ -24,7 +24,7 @@
 
 #include "bta/include/bta_sdp_api.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 
 #include "bt_target.h"  // Must be first to define build configuration
diff --git a/system/bta/sys/bta_sys_main.cc b/system/bta/sys/bta_sys_main.cc
index e5f447298d708e6be17b20b3aa21921a46f40da8..98f3a31b3e7327768d403aa63b5ddbf11e3bf337 100644
--- a/system/bta/sys/bta_sys_main.cc
+++ b/system/bta/sys/bta_sys_main.cc
@@ -24,7 +24,7 @@
 
 #define LOG_TAG "bt_bta_sys_main"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <cstring>
diff --git a/system/bta/test/bta_api_test.cc b/system/bta/test/bta_api_test.cc
index 327d253de324e35454c1fbe41c9731b42170539b..38134f5e48bb72b97007162b571b53c830578656 100644
--- a/system/bta/test/bta_api_test.cc
+++ b/system/bta/test/bta_api_test.cc
@@ -16,7 +16,7 @@
 
 #include "bta/include/bta_api.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <gtest/gtest.h>
 
diff --git a/system/bta/test/bta_av_test.cc b/system/bta/test/bta_av_test.cc
index cc56cc100525371f35aeac13e6120d7f6ab4f537..617cf5c0fa83777fd448bf5799e5273d0d2e3415 100644
--- a/system/bta/test/bta_av_test.cc
+++ b/system/bta/test/bta_av_test.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <gtest/gtest.h>
 
diff --git a/system/bta/test/bta_dm_test.cc b/system/bta/test/bta_dm_test.cc
index c2b28a6e67c2cb3d4fdb0294198829b2cc2c5840..03afe6d350d8732ab148c590fd9d0cf5a254619f 100644
--- a/system/bta/test/bta_dm_test.cc
+++ b/system/bta/test/bta_dm_test.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <gtest/gtest.h>
 
diff --git a/system/bta/test/common/bta_dm_api_mock.h b/system/bta/test/common/bta_dm_api_mock.h
index 0139aa78d664e82e74a9eb071f7179370b5e3b20..9be98faaca2da501759351beebb41ce2d39410ec 100644
--- a/system/bta/test/common/bta_dm_api_mock.h
+++ b/system/bta/test/common/bta_dm_api_mock.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <gmock/gmock.h>
 
 #include "bta_api.h"
diff --git a/system/bta/test/common/bta_gatt_api_mock.h b/system/bta/test/common/bta_gatt_api_mock.h
index 1ea43ff76912bf440ff225254d2622e06b0523e0..f097236f9a18a6df1e337d78e9abf7b9b3fd9d82 100644
--- a/system/bta/test/common/bta_gatt_api_mock.h
+++ b/system/bta/test/common/bta_gatt_api_mock.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <gmock/gmock.h>
 
 #include "bta_gatt_api.h"
diff --git a/system/bta/test/common/mock_controller.h b/system/bta/test/common/mock_controller.h
index 89958e6230a2213f8579d9541b9a741c034c1e48..6d27a18e72c4832837107438a49c999584301d3f 100644
--- a/system/bta/test/common/mock_controller.h
+++ b/system/bta/test/common/mock_controller.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <gmock/gmock.h>
 
 #include "hcimsgs.h"
diff --git a/system/bta/vc/vc.cc b/system/bta/vc/vc.cc
index 8eaa3399e14081f9e5362261fd042515c2827ea7..bbc4da697d31575e1fdc62b42d9a2af61db421eb 100644
--- a/system/bta/vc/vc.cc
+++ b/system/bta/vc/vc.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>
 #include <base/strings/string_util.h>
diff --git a/system/bta/vc/vc_test.cc b/system/bta/vc/vc_test.cc
index f2c4cbbfedc0471b7fb551f9a805efa68a720320..82d6217b05d1891d2977dd13d0d499ef4fcf05f1 100644
--- a/system/bta/vc/vc_test.cc
+++ b/system/bta/vc/vc_test.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/system/btif/avrcp/avrcp_service.cc b/system/btif/avrcp/avrcp_service.cc
index 24178fe5c99e8ed63526b62f681a0e4bb45b7af8..b6e80d205d51a89a4835c748b4ab89e7db88ed54 100644
--- a/system/btif/avrcp/avrcp_service.cc
+++ b/system/btif/avrcp/avrcp_service.cc
@@ -16,7 +16,7 @@
 
 #include "avrcp_service.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/task/cancelable_task_tracker.h>
 #include <base/threading/thread.h>
diff --git a/system/btif/include/btif_common.h b/system/btif/include/btif_common.h
index 57219d77590d21975c19af33cda3f727fdc42f43..187e0a04c2b3ce85151f991ae29bc86f403b8b80 100644
--- a/system/btif/include/btif_common.h
+++ b/system/btif/include/btif_common.h
@@ -20,7 +20,7 @@
 #ifndef BTIF_COMMON_H
 #define BTIF_COMMON_H
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <hardware/bluetooth.h>
 #include <stdlib.h>
diff --git a/system/btif/src/btif_a2dp_sink.cc b/system/btif/src/btif_a2dp_sink.cc
index f0a85a8c0305cb8113e5b6ee056d05e30c8213ec..1de5ec3704640e012c4fc96e7eebd83d218c0eef 100644
--- a/system/btif/src/btif_a2dp_sink.cc
+++ b/system/btif/src/btif_a2dp_sink.cc
@@ -21,7 +21,7 @@
 
 #include "btif/include/btif_a2dp_sink.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <atomic>
diff --git a/system/btif/src/btif_av.cc b/system/btif/src/btif_av.cc
index 9b0360405f6bf37e4beaa28b018202ed6ad58ba1..4a5065d759f43194beb84fb5ea77d47e26dc78ba 100644
--- a/system/btif/src/btif_av.cc
+++ b/system/btif/src/btif_av.cc
@@ -20,7 +20,7 @@
 
 #include "btif/include/btif_av.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/strings/stringprintf.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/a2dp/enums.pb.h>
diff --git a/system/btif/src/btif_ble_advertiser.cc b/system/btif/src/btif_ble_advertiser.cc
index 8e6d07bf70eb2f6a426b5fa25bf8e2bf56dc4e8a..c86d95649a151b06dbd9c936d0449dd07fd8c767 100644
--- a/system/btif/src/btif_ble_advertiser.cc
+++ b/system/btif/src/btif_ble_advertiser.cc
@@ -21,7 +21,7 @@
 #include <hardware/bluetooth.h>
 #include <hardware/bt_gatt.h>
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <vector>
 
diff --git a/system/btif/src/btif_ble_scanner.cc b/system/btif/src/btif_ble_scanner.cc
index 80161dba2e75570ad62b3599881eee7818c934e1..086fba34a2dacd9563bdc3f86c25f797cd204a3a 100644
--- a/system/btif/src/btif_ble_scanner.cc
+++ b/system/btif/src/btif_ble_scanner.cc
@@ -18,7 +18,7 @@
 
 #define LOG_TAG "bt_btif_scanner"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/threading/thread.h>
 #include <errno.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_core.cc b/system/btif/src/btif_core.cc
index 764d4887537f7f9d727f1b3c4bc51246fe4833b1..792afd062aac7cca54f454ba7457711b37ec1b90 100644
--- a/system/btif/src/btif_core.cc
+++ b/system/btif/src/btif_core.cc
@@ -29,7 +29,7 @@
 #define LOG_TAG "bt_btif_core"
 
 #include <base/at_exit.h>
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/threading/platform_thread.h>
 #include <signal.h>
diff --git a/system/btif/src/btif_csis_client.cc b/system/btif/src/btif_csis_client.cc
index 52dcc3cf443627d454e98272d7853e72a51b4f2b..383070b444e2f426ce7e1f4b375766e8a8aaa9fa 100644
--- a/system/btif/src/btif_csis_client.cc
+++ b/system/btif/src/btif_csis_client.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_dm.cc b/system/btif/src/btif_dm.cc
index fbf479f4ca59d758935a75e741afda2a365ef284..1e3d348980c73314b4a69a77cb1730e029aaeb56 100644
--- a/system/btif/src/btif_dm.cc
+++ b/system/btif/src/btif_dm.cc
@@ -30,7 +30,7 @@
 
 #include "btif_dm.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <bluetooth/uuid.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_gatt_client.cc b/system/btif/src/btif_gatt_client.cc
index dd7ac2f8da66d275dd0ce9a2eb97b5f4af18793a..a6150b530697dcc3944e27fd92920405a4e15612 100644
--- a/system/btif/src/btif_gatt_client.cc
+++ b/system/btif/src/btif_gatt_client.cc
@@ -27,7 +27,7 @@
 #define LOG_TAG "bt_btif_gattc"
 
 #include <base/at_exit.h>
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/threading/thread.h>
 #include <errno.h>
diff --git a/system/btif/src/btif_gatt_server.cc b/system/btif/src/btif_gatt_server.cc
index cac7bf9ec86aacbf4b1a320067a092b3d8c0582f..b97f2df18f940d3b1c865ef8d5f05cfb834c0860 100644
--- a/system/btif/src/btif_gatt_server.cc
+++ b/system/btif/src/btif_gatt_server.cc
@@ -26,7 +26,7 @@
 
 #define LOG_TAG "bt_btif_gatt"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <errno.h>
 #include <hardware/bluetooth.h>
 #include <hardware/bt_gatt.h>
diff --git a/system/btif/src/btif_has_client.cc b/system/btif/src/btif_has_client.cc
index cf9f4f7a49784143121826242d0bfeabe27affba..c62eb0926ce09d87b3d7cf437852f65fc1ed0743 100644
--- a/system/btif/src/btif_has_client.cc
+++ b/system/btif/src/btif_has_client.cc
@@ -15,8 +15,8 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
 #include <base/bind_helpers.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_hearing_aid.cc b/system/btif/src/btif_hearing_aid.cc
index f2198e9bb3f3eb767c250498e8bfc375e7e590ca..1fdd46029e217047dbde26980cee89203a0d1f4e 100644
--- a/system/btif/src/btif_hearing_aid.cc
+++ b/system/btif/src/btif_hearing_aid.cc
@@ -18,7 +18,7 @@
 
 /* Hearing Aid Profile Interface */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_hf.cc b/system/btif/src/btif_hf.cc
index 868cee7dee31aa4869c3813473b9f73dd2a18d01..18a1ef67b4ac771c34bf00015de5d1211a33fb01 100644
--- a/system/btif/src/btif_hf.cc
+++ b/system/btif/src/btif_hf.cc
@@ -27,7 +27,7 @@
 
 #define LOG_TAG "bt_btif_hf"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
 
diff --git a/system/btif/src/btif_keystore.cc b/system/btif/src/btif_keystore.cc
index 592d306b875fc9a60f4bb8c51b39b06bd63d12ae..a0796e7f9c01a31eb1af9bb9ca3f92ebc4d1fee9 100644
--- a/system/btif/src/btif_keystore.cc
+++ b/system/btif/src/btif_keystore.cc
@@ -18,7 +18,7 @@
 
 #include "btif_keystore.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_le_audio_broadcaster.cc b/system/btif/src/btif_le_audio_broadcaster.cc
index 7b867a19d6cdb05b8f2a0db7df17b741ac44fe55..85c7abb8548f59b8a88d6a4f96efb07f5aea7557 100644
--- a/system/btif/src/btif_le_audio_broadcaster.cc
+++ b/system/btif/src/btif_le_audio_broadcaster.cc
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
 #include <hardware/bt_le_audio.h>
diff --git a/system/btif/src/btif_pan.cc b/system/btif/src/btif_pan.cc
index a567cfcb7c7587bc46459afb5d9c680877b5d81f..7cf608799fadf49755dc9f6f273d1d6e69c3fb9c 100644
--- a/system/btif/src/btif_pan.cc
+++ b/system/btif/src/btif_pan.cc
@@ -28,7 +28,7 @@
 #define LOG_TAG "bt_btif_pan"
 
 #include <arpa/inet.h>
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <fcntl.h>
 #include <linux/if_ether.h>
diff --git a/system/btif/src/btif_profile_queue.cc b/system/btif/src/btif_profile_queue.cc
index d4f23ad28a4aa8be8bacec3b55770f66ff7cafd2..16f74a3d0bdc278df7b3caa59fccfa128817a46a 100644
--- a/system/btif/src/btif_profile_queue.cc
+++ b/system/btif/src/btif_profile_queue.cc
@@ -28,8 +28,8 @@
 
 #include "btif_profile_queue.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/stringprintf.h>
 #include <string.h>
diff --git a/system/btif/src/btif_sock.cc b/system/btif/src/btif_sock.cc
index fba5f54110e956988fa7339576a806ff81c6b319..fbe7dbe1b39429f5f0548df511f1080f755ce1b9 100644
--- a/system/btif/src/btif_sock.cc
+++ b/system/btif/src/btif_sock.cc
@@ -18,7 +18,7 @@
 
 #define LOG_TAG "bt_btif_sock"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/src/btif_vc.cc b/system/btif/src/btif_vc.cc
index 348f58bb96a5bbf63fc97e5e97a06480cc6bcd91..1c67adf8d03aa4d5f7e2e8f515ae2e306d2c6c3b 100644
--- a/system/btif/src/btif_vc.cc
+++ b/system/btif/src/btif_vc.cc
@@ -17,7 +17,7 @@
 
 /* Volume Control Interface */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <hardware/bluetooth.h>
diff --git a/system/btif/test/btif_profile_queue_test.cc b/system/btif/test/btif_profile_queue_test.cc
index da2412dde419ade6775518e311fc5de71431fa13..a525fb471511db66ea8b19814193f2afcafb1f90 100644
--- a/system/btif/test/btif_profile_queue_test.cc
+++ b/system/btif/test/btif_profile_queue_test.cc
@@ -17,8 +17,8 @@
  ******************************************************************************/
 #include "btif/include/btif_profile_queue.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <gtest/gtest.h>
 
diff --git a/system/common/base_bind_unittest.cc b/system/common/base_bind_unittest.cc
index dc4d0682edbc1a2d9fc0a89f4b2332b70a097717..a5dc1574c029e2498b608cbd9d7ead1ba0bb6b67 100644
--- a/system/common/base_bind_unittest.cc
+++ b/system/common/base_bind_unittest.cc
@@ -13,8 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/threading/platform_thread.h>
 #include <gtest/gtest.h>
 #include <sys/capability.h>
diff --git a/system/common/benchmark/thread_performance_benchmark.cc b/system/common/benchmark/thread_performance_benchmark.cc
index 8538dac05f6cc8ac11b858f643fef60410a9f6e3..0f718801e9d8fca03bf86158853f48812ff67521 100644
--- a/system/common/benchmark/thread_performance_benchmark.cc
+++ b/system/common/benchmark/thread_performance_benchmark.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/run_loop.h>
 #include <base/threading/thread.h>
diff --git a/system/common/benchmark/timer_performance_benchmark.cc b/system/common/benchmark/timer_performance_benchmark.cc
index 4dc04f2a3ddd260dc2f825e5acc815f9fb58dd78..1447ac41c11dacceadbf3e75d796d2c82a1f54e7 100644
--- a/system/common/benchmark/timer_performance_benchmark.cc
+++ b/system/common/benchmark/timer_performance_benchmark.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/run_loop.h>
 #include <base/threading/thread.h>
 #include <benchmark/benchmark.h>
diff --git a/system/common/message_loop_thread.h b/system/common/message_loop_thread.h
index ece1d0ffbcd7f9561ebaae4e4ae2016b1fb0be59..06d7958d0f25977fe92c9e8fed5b164147397813 100644
--- a/system/common/message_loop_thread.h
+++ b/system/common/message_loop_thread.h
@@ -22,7 +22,7 @@
 #include <string>
 #include <thread>
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/run_loop.h>
 #include <base/threading/platform_thread.h>
diff --git a/system/common/message_loop_thread_unittest.cc b/system/common/message_loop_thread_unittest.cc
index 0e8f0a462e8a060c37b7dcab7a2c656df7f17c2b..c61c9046a766210b13088b9d9340171657c34d50 100644
--- a/system/common/message_loop_thread_unittest.cc
+++ b/system/common/message_loop_thread_unittest.cc
@@ -21,7 +21,7 @@
 
 #include <gtest/gtest.h>
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/threading/platform_thread.h>
 #include <sys/capability.h>
 #include <syscall.h>
diff --git a/system/common/once_timer.h b/system/common/once_timer.h
index d708ed97d652badb9162c578c8a382ef333a0eef..6722d6b1e0df6c14e6df3e7e82221af5345fd423 100644
--- a/system/common/once_timer.h
+++ b/system/common/once_timer.h
@@ -16,8 +16,8 @@
 
 #pragma once
 
-#include <base/bind.h>
 #include <base/cancelable_callback.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/time/time.h>
 
diff --git a/system/common/once_timer_unittest.cc b/system/common/once_timer_unittest.cc
index 57996559f56be95f5ed475731c9eeee26e567455..ac326c9eb7f2fc48ceeb05a77c26f5f583a09204 100644
--- a/system/common/once_timer_unittest.cc
+++ b/system/common/once_timer_unittest.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <gtest/gtest.h>
 #include <future>
diff --git a/system/common/repeating_timer.cc b/system/common/repeating_timer.cc
index 9a2e415e8589d3d7314d7f8efb08bc6a18ea66d1..11762264e058602e5aac7bfed2ca86b5649f90a0 100644
--- a/system/common/repeating_timer.cc
+++ b/system/common/repeating_timer.cc
@@ -19,7 +19,7 @@
 #include "message_loop_thread.h"
 #include "time_util.h"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 
 namespace bluetooth {
diff --git a/system/common/repeating_timer.h b/system/common/repeating_timer.h
index 5c2c9e3169050b9e29a6ba8f5d7fadfbe97cfad0..9319fa98806c1bb2b5f2e3b779f5c374287a5e04 100644
--- a/system/common/repeating_timer.h
+++ b/system/common/repeating_timer.h
@@ -16,8 +16,8 @@
 
 #pragma once
 
-#include <base/bind.h>
 #include <base/cancelable_callback.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/time/time.h>
 
diff --git a/system/common/repeating_timer_unittest.cc b/system/common/repeating_timer_unittest.cc
index b98b12cf1a1794d5fa7abb7bd9efa05414285736..65bee83b7683d4a1a4f2d6878ec33b6997e4a657 100644
--- a/system/common/repeating_timer_unittest.cc
+++ b/system/common/repeating_timer_unittest.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <gtest/gtest.h>
 #include <future>
diff --git a/system/common/test/thread_performance_test.cc b/system/common/test/thread_performance_test.cc
index b9ab10605bbe17b844e7cd4d10d73cf4e672dcca..1e764f8dac16c5dd24a82b55707ae683f6d03edd 100644
--- a/system/common/test/thread_performance_test.cc
+++ b/system/common/test/thread_performance_test.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/run_loop.h>
 #include <base/threading/thread.h>
diff --git a/system/device/include/controller.h b/system/device/include/controller.h
index 6daddd200d84e40e8f6e810dc47f319904ef737d..58a80cdabf2a380b5e49da46756cb916e10c2b11 100644
--- a/system/device/include/controller.h
+++ b/system/device/include/controller.h
@@ -21,7 +21,7 @@
 #include <cstddef>
 #include <cstdint>
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "btcore/include/version.h"
 #include "types/raw_address.h"
 
diff --git a/system/gd/common/bind.h b/system/gd/common/bind.h
index e46d3d2c986015aeaf49ff5d38abcc89bfcb0a93..5692e02b0386812e156ddbb9d25e68a129a65fd7 100644
--- a/system/gd/common/bind.h
+++ b/system/gd/common/bind.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "base/bind.h"
+#include "base/functional/bind.h"
 
 namespace bluetooth {
 namespace common {
diff --git a/system/gd/common/callback.h b/system/gd/common/callback.h
index b8be642e240744034cbc10c5ac586ffc9354fbe7..7bf6f3a4ef6061b754effa7c67c525d7a939832b 100644
--- a/system/gd/common/callback.h
+++ b/system/gd/common/callback.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 
 namespace bluetooth {
 namespace common {
diff --git a/system/gd/rust/shim/callbacks/callbacks.h b/system/gd/rust/shim/callbacks/callbacks.h
index 98d9f81b6bc78dbba1245d3a54a050dff3f76760..48b3d49602280af33dc6f37813c65a66a44b692d 100644
--- a/system/gd/rust/shim/callbacks/callbacks.h
+++ b/system/gd/rust/shim/callbacks/callbacks.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "rust/cxx.h"
 
diff --git a/system/gd/rust/topshim/btav/btav_shim.cc b/system/gd/rust/topshim/btav/btav_shim.cc
index d010ee805228e5d2a4d531f4ea26624e9c729b0a..424b0953e1f0be96eeab52c39a569635b3628496 100644
--- a/system/gd/rust/topshim/btav/btav_shim.cc
+++ b/system/gd/rust/topshim/btav/btav_shim.cc
@@ -19,7 +19,7 @@
 #include <cstdio>
 #include <memory>
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "include/hardware/avrcp/avrcp.h"
 #include "include/hardware/bluetooth.h"
 #include "rust/cxx.h"
diff --git a/system/gd/rust/topshim/gatt/gatt_ble_advertiser_shim.cc b/system/gd/rust/topshim/gatt/gatt_ble_advertiser_shim.cc
index 49ae8e53411ffb31ba69e5b343bb1934919987f8..a47cfab4e8d76dbd214c7a13db2794eee4d86bd7 100644
--- a/system/gd/rust/topshim/gatt/gatt_ble_advertiser_shim.cc
+++ b/system/gd/rust/topshim/gatt/gatt_ble_advertiser_shim.cc
@@ -16,8 +16,8 @@
 
 #include "gd/rust/topshim/gatt/gatt_ble_advertiser_shim.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 
 #include <algorithm>
 #include <iterator>
diff --git a/system/gd/rust/topshim/gatt/gatt_ble_scanner_shim.cc b/system/gd/rust/topshim/gatt/gatt_ble_scanner_shim.cc
index 806cfe267c409c03dc38db374265f17969bd04a1..be7dec180ff4786c4e137e70eac9bf235e598c77 100644
--- a/system/gd/rust/topshim/gatt/gatt_ble_scanner_shim.cc
+++ b/system/gd/rust/topshim/gatt/gatt_ble_scanner_shim.cc
@@ -16,8 +16,8 @@
 
 #include "gd/rust/topshim/gatt/gatt_ble_scanner_shim.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 
 #include <algorithm>
 #include <iterator>
diff --git a/system/gd/rust/topshim/gatt/gatt_shim.cc b/system/gd/rust/topshim/gatt/gatt_shim.cc
index a737100973e54673393aa6680146b668b7420c3a..1439e8241d77acf1cf27b1c2bba99160ceeb7c1a 100644
--- a/system/gd/rust/topshim/gatt/gatt_shim.cc
+++ b/system/gd/rust/topshim/gatt/gatt_shim.cc
@@ -16,8 +16,8 @@
 
 #include "gd/rust/topshim/gatt/gatt_shim.h"
 
-#include "base/bind.h"
-#include "base/callback.h"
+#include "base/functional/bind.h"
+#include "base/functional/callback.h"
 #include "rust/cxx.h"
 #include "src/profiles/gatt.rs.h"
 #include "types/raw_address.h"
diff --git a/system/hci/include/hci_layer.h b/system/hci/include/hci_layer.h
index 74ffc5ce760db89177c2e809d1e6d900ec287aa7..ab781ff0108f079826f19c8a36d3607c983867d7 100644
--- a/system/hci/include/hci_layer.h
+++ b/system/hci/include/hci_layer.h
@@ -18,7 +18,7 @@
 
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 
 #include "osi/include/future.h"
diff --git a/system/include/bind_helpers.h b/system/include/bind_helpers.h
index c92d8f768e8c741e53b560786e1fc65a1bd15af9..b7bff4955acd2dde79822559d70ca9b335db83b4 100644
--- a/system/include/bind_helpers.h
+++ b/system/include/bind_helpers.h
@@ -16,7 +16,7 @@
 #pragma once
 
 #if defined(BASE_VER) && BASE_VER >= 860220
-#include <base/callback_helpers.h>
+#include <base/functional/callback_helpers.h>
 #else
 #include <base/bind_helpers.h>
 #endif
diff --git a/system/include/hardware/avrcp/avrcp.h b/system/include/hardware/avrcp/avrcp.h
index a78027d0c07a74bc12b5e0db954d737705d02e9e..87c42e771cb6753984c850f73c42599f5a9a734e 100644
--- a/system/include/hardware/avrcp/avrcp.h
+++ b/system/include/hardware/avrcp/avrcp.h
@@ -20,7 +20,7 @@
 #include <string>
 #include <vector>
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 
 #include "avrcp_common.h"
 #include "raw_address.h"
diff --git a/system/include/hardware/ble_advertiser.h b/system/include/hardware/ble_advertiser.h
index 3e5385110552e5708f67ec1ded371e5fb463f8ed..f18937e526a0f0108abb220e66915e4d3292b050 100644
--- a/system/include/hardware/ble_advertiser.h
+++ b/system/include/hardware/ble_advertiser.h
@@ -17,7 +17,7 @@
 #ifndef ANDROID_INCLUDE_BLE_ADVERTISER_H
 #define ANDROID_INCLUDE_BLE_ADVERTISER_H
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <raw_address.h>
 #include <stdint.h>
 
diff --git a/system/include/hardware/bluetooth.h b/system/include/hardware/bluetooth.h
index 6ab1c34bc8d1c7c35053d1968f3e49c2e319c94f..0c2c0513f8ae48e0c16921055e6d2a1b480f48ba 100644
--- a/system/include/hardware/bluetooth.h
+++ b/system/include/hardware/bluetooth.h
@@ -24,7 +24,7 @@
 #include <sys/types.h>
 
 #include "avrcp/avrcp.h"
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "bluetooth/uuid.h"
 #include "bt_transport.h"
 #include "raw_address.h"
diff --git a/system/main/shim/btm_api.cc b/system/main/shim/btm_api.cc
index 742e64703fcdda740be06215c8265249be2c7e58..535e42aa5d00b435a9eb9ee220aff9cf36542441 100644
--- a/system/main/shim/btm_api.cc
+++ b/system/main/shim/btm_api.cc
@@ -18,7 +18,7 @@
 
 #include "main/shim/btm_api.h"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 
 #include <mutex>
diff --git a/system/main/shim/btm_api.h b/system/main/shim/btm_api.h
index 0a2edb8ae904f1b329b50f1375dbecf453ee47ca..6d4869043f34b986ab1850b4eeed87181f4c4826 100644
--- a/system/main/shim/btm_api.h
+++ b/system/main/shim/btm_api.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "device/include/esco_parameters.h"
 #include "stack/btm/btm_sec.h"
 #include "stack/btm/neighbor_inquiry.h"
diff --git a/system/main/shim/hci_layer.cc b/system/main/shim/hci_layer.cc
index 8581f85b7c15872877cf39e48a1ecb50ae9e225e..361544c3bc95b2254efb49b91093cd9e3e2ca5d2 100644
--- a/system/main/shim/hci_layer.cc
+++ b/system/main/shim/hci_layer.cc
@@ -18,7 +18,7 @@
 
 #include "hci/hci_layer.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <algorithm>
 #include <cstdint>
diff --git a/system/main/shim/le_scanning_manager.cc b/system/main/shim/le_scanning_manager.cc
index 800c88b5bb79c737efe0993b72e1e0cef2a25f52..f2e8ff2222a716392063cfaf78a64bf3282d8363 100644
--- a/system/main/shim/le_scanning_manager.cc
+++ b/system/main/shim/le_scanning_manager.cc
@@ -18,7 +18,7 @@
 
 #include "le_scanning_manager.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/threading/thread.h>
 #include <hardware/bluetooth.h>
diff --git a/system/profile/avrcp/connection_handler.cc b/system/profile/avrcp/connection_handler.cc
index fd87b675ed5a30d5324c4357e61761564f0d9d3e..abd32cf151e6a7636dab81781cecded735e6c53c 100644
--- a/system/profile/avrcp/connection_handler.cc
+++ b/system/profile/avrcp/connection_handler.cc
@@ -16,7 +16,7 @@
 
 #include "connection_handler.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <map>
diff --git a/system/profile/avrcp/connection_handler.h b/system/profile/avrcp/connection_handler.h
index 67445a8df5aa9123e27f5d8d963d906924688ec9..58c3bbe511dc59c24642de446f0a0576615ccafd 100644
--- a/system/profile/avrcp/connection_handler.h
+++ b/system/profile/avrcp/connection_handler.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/memory/weak_ptr.h>
 #include <map>
 #include <memory>
diff --git a/system/profile/avrcp/device.h b/system/profile/avrcp/device.h
index 07e1cac7d24dce366ac1b12081860e11c465fd83..1564d62da450534dfb84ee09c24aec9e08d52647 100644
--- a/system/profile/avrcp/device.h
+++ b/system/profile/avrcp/device.h
@@ -20,8 +20,8 @@
 #include <memory>
 #include <stack>
 
-#include <base/bind.h>
 #include <base/cancelable_callback.h>
+#include <base/functional/bind.h>
 
 #include "avrcp_internal.h"
 #include "hardware/avrcp/avrcp.h"
diff --git a/system/profile/avrcp/tests/avrcp_connection_handler_test.cc b/system/profile/avrcp/tests/avrcp_connection_handler_test.cc
index e9f79c48e4b536cc0837aefe7b2b75c2a6d6d31c..56834cac8248b89f2c790e17cf407cf20c8f5535 100644
--- a/system/profile/avrcp/tests/avrcp_connection_handler_test.cc
+++ b/system/profile/avrcp/tests/avrcp_connection_handler_test.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/system/profile/avrcp/tests/avrcp_device_test.cc b/system/profile/avrcp/tests/avrcp_device_test.cc
index e8058aa378659bb4e17f0c832d7f0d99a39df4ae..b1fcec2032bdcd5e5dbf4326e41ee21efdb0230a 100644
--- a/system/profile/avrcp/tests/avrcp_device_test.cc
+++ b/system/profile/avrcp/tests/avrcp_device_test.cc
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/threading/thread.h>
 #include <gmock/gmock.h>
diff --git a/system/service/example/heart_rate/heart_rate_server.cc b/system/service/example/heart_rate/heart_rate_server.cc
index 9777c203f87344c6899459e1a25a35bfd8ee9b82..2a53ba4d63b11e9f70430b6d3161a61dbfb3ec64 100644
--- a/system/service/example/heart_rate/heart_rate_server.cc
+++ b/system/service/example/heart_rate/heart_rate_server.cc
@@ -13,7 +13,7 @@
 //  See the License for the specific language governing permissions and
 //  limitations under the License.
 //
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <base/rand_util.h>
diff --git a/system/service/example/heart_rate/server_main.cc b/system/service/example/heart_rate/server_main.cc
index f8953f16a4bce35ac971066f4af26ceae6a55922..f7a434e666e18019b59a1523f326839058512a5e 100644
--- a/system/service/example/heart_rate/server_main.cc
+++ b/system/service/example/heart_rate/server_main.cc
@@ -15,8 +15,8 @@
 //
 
 #include <base/at_exit.h>
-#include <base/bind.h>
 #include <base/command_line.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <base/run_loop.h>
diff --git a/system/service/gatt_server_old.cc b/system/service/gatt_server_old.cc
index 8bb81e4297f57ef97f46409aa5c78db4e6b2ac94..ac438d2ef7347a9cdd8f2f2b4b5cff4c188f3dc5 100644
--- a/system/service/gatt_server_old.cc
+++ b/system/service/gatt_server_old.cc
@@ -18,8 +18,8 @@
 
 #include "gatt_server_old.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <hardware/bluetooth.h>
 #include <hardware/bt_gatt.h>
 #include <stdio.h>
diff --git a/system/service/ipc/binder/ipc_handler_binder.cc b/system/service/ipc/binder/ipc_handler_binder.cc
index 11ff66fc6bfb3c79c35eda329cc144fb77287baa..c8249066bc6ddfbd16b8b87c3969204a3953d07e 100644
--- a/system/service/ipc/binder/ipc_handler_binder.cc
+++ b/system/service/ipc/binder/ipc_handler_binder.cc
@@ -16,7 +16,7 @@
 
 #include "service/ipc/binder/ipc_handler_binder.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <binder/IPCThreadState.h>
 #include <binder/IServiceManager.h>
diff --git a/system/service/ipc/dbus/ipc_handler_dbus.cc b/system/service/ipc/dbus/ipc_handler_dbus.cc
index 8abd2449d97006bd79d5dfc4dfad009b31081e89..52af25af306d9ddf2d344c91b367a9e4bb442ee5 100644
--- a/system/service/ipc/dbus/ipc_handler_dbus.cc
+++ b/system/service/ipc/dbus/ipc_handler_dbus.cc
@@ -16,7 +16,7 @@
 
 #include "service/ipc/dbus/ipc_handler_dbus.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/threading/thread_task_runner_handle.h>
 #include <dbus/bus.h>
 #include "service/daemon.h"
diff --git a/system/service/ipc/ipc_handler_linux.cc b/system/service/ipc/ipc_handler_linux.cc
index fa7727a87c50e5f371296b00981f05a5b5444263..43940bebb75a7ef83e8bbf3ca3c430f0ebdb140d 100644
--- a/system/service/ipc/ipc_handler_linux.cc
+++ b/system/service/ipc/ipc_handler_linux.cc
@@ -19,7 +19,7 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include "abstract_message_loop.h"
 #include "osi/include/socket_utils/sockets.h"
diff --git a/system/service/low_energy_advertiser.cc b/system/service/low_energy_advertiser.cc
index 7a7029f8ca01da3062aaaf841239095b5d6864d9..e34adb9e75e79184317b1159f24584719cc744b1 100644
--- a/system/service/low_energy_advertiser.cc
+++ b/system/service/low_energy_advertiser.cc
@@ -20,8 +20,8 @@
 #include "service/logging_helpers.h"
 #include "stack/include/bt_types.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 
 #include "bind_helpers.h"
diff --git a/system/service/low_energy_scanner.cc b/system/service/low_energy_scanner.cc
index 8f25e858ce1558e46bfbd6b4ece1cb0d6f909836..599fa181da5a5cce6c0152efd3d5e7825ef24c4a 100644
--- a/system/service/low_energy_scanner.cc
+++ b/system/service/low_energy_scanner.cc
@@ -16,8 +16,8 @@
 
 #include "service/low_energy_scanner.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 
 #include "service/adapter.h"
diff --git a/system/stack/btm/ble_advertiser_hci_interface.cc b/system/stack/btm/ble_advertiser_hci_interface.cc
index 70d2abfd27cff61d06356aca941dc980b232f646..6fa077f6a27dd5ced6eabeee3012c2e55a4e14db 100644
--- a/system/stack/btm/ble_advertiser_hci_interface.cc
+++ b/system/stack/btm/ble_advertiser_hci_interface.cc
@@ -18,8 +18,8 @@
 
 #include "ble_advertiser_hci_interface.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/stack/btm/ble_advertiser_hci_interface.h b/system/stack/btm/ble_advertiser_hci_interface.h
index 548a0e2ce4f987a3a5d1e29b525b2611caf094f4..0b95cf9a6c82445513917d5b9321fd5c7c77a6af 100644
--- a/system/stack/btm/ble_advertiser_hci_interface.h
+++ b/system/stack/btm/ble_advertiser_hci_interface.h
@@ -19,7 +19,7 @@
 #ifndef BLE_ADVERTISER_HCI_INTERFACE_H
 #define BLE_ADVERTISER_HCI_INTERFACE_H
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <vector>
 
diff --git a/system/stack/btm/ble_scanner_hci_interface.cc b/system/stack/btm/ble_scanner_hci_interface.cc
index 2e521f2bd59943d3d3806aa084c43953dfebe3b9..a5ca993c847d3fa5ab2bf98694aebef7fe8bf05e 100644
--- a/system/stack/btm/ble_scanner_hci_interface.cc
+++ b/system/stack/btm/ble_scanner_hci_interface.cc
@@ -17,7 +17,7 @@
 
 #include "ble_scanner_hci_interface.h"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include "acl_api.h"
diff --git a/system/stack/btm/ble_scanner_hci_interface.h b/system/stack/btm/ble_scanner_hci_interface.h
index df0541c3624543e8196d2112633969ef3460489b..31080016a400928f5ac02663ff80778af87d465a 100644
--- a/system/stack/btm/ble_scanner_hci_interface.h
+++ b/system/stack/btm/ble_scanner_hci_interface.h
@@ -18,7 +18,7 @@
 #ifndef BLE_SCANNER_HCI_INTERFACE_H
 #define BLE_SCANNER_HCI_INTERFACE_H
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <vector>
 
diff --git a/system/stack/btm/btm_ble_addr.cc b/system/stack/btm/btm_ble_addr.cc
index e83b7964dd693c7a1ad064d9d7c6995d82f10fe8..524adbf8efb4bae5c214193732b536c202b77af1 100644
--- a/system/stack/btm/btm_ble_addr.cc
+++ b/system/stack/btm/btm_ble_addr.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <string.h>
 
 #include "btm_ble_int.h"
diff --git a/system/stack/btm/btm_ble_adv_filter.cc b/system/stack/btm/btm_ble_adv_filter.cc
index ec4388a314c2c503523aed9bd9ac0c5018cfb713..2f6fc143b8581c86e2d72f24b29d98bb35e2922b 100644
--- a/system/stack/btm/btm_ble_adv_filter.cc
+++ b/system/stack/btm/btm_ble_adv_filter.cc
@@ -18,7 +18,7 @@
 
 #define LOG_TAG "bt_btm_ble"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <string.h>
 
diff --git a/system/stack/btm/btm_ble_batchscan.cc b/system/stack/btm/btm_ble_batchscan.cc
index bdce3676889b8fb538f67af07da306de4bbcf5d8..82447c5a915a9ae65b196537331af4da448278c0 100644
--- a/system/stack/btm/btm_ble_batchscan.cc
+++ b/system/stack/btm/btm_ble_batchscan.cc
@@ -15,7 +15,7 @@
  *  limitations under the License.
  *
  ******************************************************************************/
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <stddef.h>
 #include <stdio.h>
 #include <string.h>
diff --git a/system/stack/btm/btm_ble_bgconn.cc b/system/stack/btm/btm_ble_bgconn.cc
index 480a6fd1bb418008c36643cae231a59211674b00..faeebf2520cefae6b8c650aa8be84727de96713e 100644
--- a/system/stack/btm/btm_ble_bgconn.cc
+++ b/system/stack/btm/btm_ble_bgconn.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 
 #include <cstdint>
diff --git a/system/stack/btm/btm_ble_gap.cc b/system/stack/btm/btm_ble_gap.cc
index f8ad2a7e4fa0049f1ba741480a8ed12025e3b5de..907341a33e1582d552d4e6fa1158cb361255f327 100644
--- a/system/stack/btm/btm_ble_gap.cc
+++ b/system/stack/btm/btm_ble_gap.cc
@@ -24,7 +24,7 @@
 
 #define LOG_TAG "bt_btm_ble"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>
 
diff --git a/system/stack/btm/btm_ble_multi_adv.cc b/system/stack/btm/btm_ble_multi_adv.cc
index 040d828b30ec29d0c4c26d349ee74114097cfc2d..2d365258cd3a36492b425d9217ea84529d2f80ff 100644
--- a/system/stack/btm/btm_ble_multi_adv.cc
+++ b/system/stack/btm/btm_ble_multi_adv.cc
@@ -17,7 +17,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <base/memory/weak_ptr.h>
diff --git a/system/stack/btm/btm_iso_impl.h b/system/stack/btm/btm_iso_impl.h
index 9559e1dd15123b5468b44a8135e449f4c4c04fef..c05c834aaf2e279575b0aeb05e2b61de6a1e8985 100644
--- a/system/stack/btm/btm_iso_impl.h
+++ b/system/stack/btm/btm_iso_impl.h
@@ -21,8 +21,8 @@
 #include <memory>
 #include <set>
 
-#include "base/bind.h"
-#include "base/callback.h"
+#include "base/functional/bind.h"
+#include "base/functional/callback.h"
 #include "base/logging.h"
 #include "bind_helpers.h"
 #include "btm_dev.h"
diff --git a/system/stack/btu/btu_hcif.cc b/system/stack/btu/btu_hcif.cc
index 128a2f31a8c9b95be4cce9f27192dd93cf50bea8..558176f5935d00e0b6c8e907740274756b832331 100644
--- a/system/stack/btu/btu_hcif.cc
+++ b/system/stack/btu/btu_hcif.cc
@@ -27,7 +27,7 @@
 
 #define LOG_TAG "bt_btu_hcif"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/stack/btu/btu_task.cc b/system/stack/btu/btu_task.cc
index 5f3260763fd986554a63089a129bbc2c2df2826a..63ebf89c5c15bbaae42cf48f4c92a4c13fc6b999 100644
--- a/system/stack/btu/btu_task.cc
+++ b/system/stack/btu/btu_task.cc
@@ -18,7 +18,7 @@
 
 #define LOG_TAG "bt_btu_task"
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/run_loop.h>
 #include <base/threading/thread.h>
diff --git a/system/stack/gatt/connection_manager.cc b/system/stack/gatt/connection_manager.cc
index ef82d766df291669068359c57ec944c3869e5c1b..798167399e98fb2f9372ccb9e434a073c0f7f322 100644
--- a/system/stack/gatt/connection_manager.cc
+++ b/system/stack/gatt/connection_manager.cc
@@ -18,8 +18,8 @@
 
 #include "connection_manager.h"
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/stack/gatt/gatt_attr.cc b/system/stack/gatt/gatt_attr.cc
index f30e0b755eeb9236f382fa9a04db8d71eabd7e23..d845597ce56f81c6777fde113f00c7239bfa4a09 100644
--- a/system/stack/gatt/gatt_attr.cc
+++ b/system/stack/gatt/gatt_attr.cc
@@ -25,7 +25,7 @@
 
 #include <map>
 
-#include "base/callback.h"
+#include "base/functional/callback.h"
 #include "bt_target.h"
 #include "bt_utils.h"
 #include "btif/include/btif_storage.h"
diff --git a/system/stack/gatt/gatt_int.h b/system/stack/gatt/gatt_int.h
index 77a97e1576a18ba489c7fcac56eb21799d1de06e..dd6ba186b46854893c3bdda4bcbd2144312c8db3 100644
--- a/system/stack/gatt/gatt_int.h
+++ b/system/stack/gatt/gatt_int.h
@@ -19,7 +19,7 @@
 #ifndef GATT_INT_H
 #define GATT_INT_H
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/strings/stringprintf.h>
 #include <string.h>
 
diff --git a/system/stack/hcic/hciblecmds.cc b/system/stack/hcic/hciblecmds.cc
index 4d57696de6f640c2ff753d62f374df96131662dc..fd99d6ac370c8fe0b92ef2eff2b61501ddfc151b 100644
--- a/system/stack/hcic/hciblecmds.cc
+++ b/system/stack/hcic/hciblecmds.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <stddef.h>
 #include <string.h>
 
diff --git a/system/stack/hcic/hcicmds.cc b/system/stack/hcic/hcicmds.cc
index d41f11c2f8f446f3a5373e5597ee3745bc1ee17e..a597fa35f9e4a53893305950cef0dc21e5313e4e 100644
--- a/system/stack/hcic/hcicmds.cc
+++ b/system/stack/hcic/hcicmds.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <stddef.h>
 #include <string.h>
 
diff --git a/system/stack/hid/hidd_conn.cc b/system/stack/hid/hidd_conn.cc
index e80bc933f86c8be7b9c7a2537a2a3b0e2977ddc4..faca3241fc1ae81a7e4e3287de7bcdfab564cef6 100644
--- a/system/stack/hid/hidd_conn.cc
+++ b/system/stack/hid/hidd_conn.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
 
diff --git a/system/stack/hid/hidh_conn.cc b/system/stack/hid/hidh_conn.cc
index 102573253f4285a0bdd8eb7655b1af9f915aabfc..108f5a70970420bc373ccec0396be0d51d3db04c 100644
--- a/system/stack/hid/hidh_conn.cc
+++ b/system/stack/hid/hidh_conn.cc
@@ -22,7 +22,7 @@
  *
  ******************************************************************************/
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/stringprintf.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
diff --git a/system/stack/include/avrc_api.h b/system/stack/include/avrc_api.h
index 4e9201bb5f4307f9aeedf73503cba8131a248a7f..0f3d385cfd4f80b12086780651b47d2767acd2da 100644
--- a/system/stack/include/avrc_api.h
+++ b/system/stack/include/avrc_api.h
@@ -24,7 +24,7 @@
 #ifndef AVRC_API_H
 #define AVRC_API_H
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <cstdint>
 
diff --git a/system/stack/include/ble_advertiser.h b/system/stack/include/ble_advertiser.h
index a42b216fd095d1b569ce2cc0eee0d64ed7a282db..e8ac5ea165b2ed5cbf7ae679d1cbb66f51a04d73 100644
--- a/system/stack/include/ble_advertiser.h
+++ b/system/stack/include/ble_advertiser.h
@@ -19,7 +19,7 @@
 #ifndef BLE_ADVERTISER_H
 #define BLE_ADVERTISER_H
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/memory/weak_ptr.h>
 
 #include <cstdint>
diff --git a/system/stack/include/ble_scanner.h b/system/stack/include/ble_scanner.h
index 1456f90086bfcdac093c634a8b5e02cdaefa82f0..bd2011a63b61125640c6c2a8a6b5eb2dc05d5890 100644
--- a/system/stack/include/ble_scanner.h
+++ b/system/stack/include/ble_scanner.h
@@ -17,7 +17,7 @@
 #ifndef BLE_SCANNER_H
 #define BLE_SCANNER_H
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/memory/weak_ptr.h>
 
 #include <vector>
diff --git a/system/stack/include/btm_ble_api.h b/system/stack/include/btm_ble_api.h
index a495bfd96204f56a311ec6951f313d6ab4502b56..5f5648103d512d279f2d6f005076c390da1cc555 100644
--- a/system/stack/include/btm_ble_api.h
+++ b/system/stack/include/btm_ble_api.h
@@ -25,7 +25,7 @@
 #ifndef BTM_BLE_API_H
 #define BTM_BLE_API_H
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <hardware/bt_common_types.h>
 
 #include <cstdint>
diff --git a/system/stack/include/btm_ble_api_types.h b/system/stack/include/btm_ble_api_types.h
index 6495082d3ea02eab50156507b081cd5cd2bfc1a4..f66f3c07b6f8fa9614d3eef2b4e1a05ee0bfd23f 100644
--- a/system/stack/include/btm_ble_api_types.h
+++ b/system/stack/include/btm_ble_api_types.h
@@ -19,7 +19,7 @@
 #ifndef BTM_BLE_API_TYPES_H
 #define BTM_BLE_API_TYPES_H
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <hardware/bt_common_types.h>
 
 #include <cstdint>
diff --git a/system/stack/include/btu.h b/system/stack/include/btu.h
index 30a8e14f232f60d3a10971b8bb62ac431532231f..bc25ca3adac520b3a084d493981565dc03558235 100644
--- a/system/stack/include/btu.h
+++ b/system/stack/include/btu.h
@@ -27,7 +27,7 @@
 #ifndef BTU_H
 #define BTU_H
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <base/threading/thread.h>
 
diff --git a/system/stack/include/hcimsgs.h b/system/stack/include/hcimsgs.h
index 0f8932762385abea003552e40da5cc0fcc8ade5a..39a17977002726f19be3392d2f9fa34285cdc339 100644
--- a/system/stack/include/hcimsgs.h
+++ b/system/stack/include/hcimsgs.h
@@ -19,7 +19,7 @@
 #ifndef HCIMSGS_H
 #define HCIMSGS_H
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 
 #include <cstdint>
 
diff --git a/system/stack/l2cap/l2c_csm.cc b/system/stack/l2cap/l2c_csm.cc
index 2632845db6f04a2669627de301385024eff0ea6e..9de899a3c459b8d9adc4e0bd3df4fc4fd95ebe27 100755
--- a/system/stack/l2cap/l2c_csm.cc
+++ b/system/stack/l2cap/l2c_csm.cc
@@ -23,7 +23,7 @@
  ******************************************************************************/
 #define LOG_TAG "l2c_csm"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
 
diff --git a/system/stack/rfcomm/port_rfc.cc b/system/stack/rfcomm/port_rfc.cc
index 7d6f900e965776905820ebbaaf643dab3f6b8498..927bb1c56d27932103058dd06a21c09f1d5655b8 100644
--- a/system/stack/rfcomm/port_rfc.cc
+++ b/system/stack/rfcomm/port_rfc.cc
@@ -23,7 +23,7 @@
  *
  ******************************************************************************/
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
 
diff --git a/system/stack/smp/smp_keys.cc b/system/stack/smp/smp_keys.cc
index 47454db87e82b935df40eea6643255a81d12d01d..b0aa9841e0c8480d038fa302c2f7075e5ccb617c 100644
--- a/system/stack/smp/smp_keys.cc
+++ b/system/stack/smp/smp_keys.cc
@@ -21,8 +21,8 @@
  *  This file contains security manager protocol utility functions
  *
  ******************************************************************************/
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 
 #include <algorithm>
 #include <cstring>
diff --git a/system/stack/test/common/mock_controller.h b/system/stack/test/common/mock_controller.h
index 74ee5fc94f567aab796aeea0528825801837eaa5..359a03b39ae9e24199c19f1eb85c7d800b1db075 100644
--- a/system/stack/test/common/mock_controller.h
+++ b/system/stack/test/common/mock_controller.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <gmock/gmock.h>
 
 
diff --git a/system/stack/test/common/mock_hcic_layer.h b/system/stack/test/common/mock_hcic_layer.h
index 680dad8be630f24ec4b78dea83daa83483306e89..251184c4153bdae4f9ccc356b4bb3582223bb34d 100644
--- a/system/stack/test/common/mock_hcic_layer.h
+++ b/system/stack/test/common/mock_hcic_layer.h
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <gmock/gmock.h>
 
 #include <array>
diff --git a/system/stack/test/gatt_connection_manager_test.cc b/system/stack/test/gatt_connection_manager_test.cc
index a073551e99d64e9092e6fea624434b1d3cbbd99f..2753c5f87ef38cc5720281cd8fc901b5c73b0d1c 100644
--- a/system/stack/test/gatt_connection_manager_test.cc
+++ b/system/stack/test/gatt_connection_manager_test.cc
@@ -1,6 +1,6 @@
-#include <base/bind.h>
 #include <base/bind_helpers.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/system/test/common/jni_thread.cc b/system/test/common/jni_thread.cc
index 978533d625b177d232b328f92df10797a9b86bb7..8216671445a41e3b49885e3e389427d94cdb8fa5 100644
--- a/system/test/common/jni_thread.cc
+++ b/system/test/common/jni_thread.cc
@@ -16,7 +16,7 @@
 
 #include "test/common/jni_thread.h"
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <map>
 
diff --git a/system/test/common/jni_thread.h b/system/test/common/jni_thread.h
index 12a2457354b323f540ca39da03d2d203b41ed9cc..580997d832172e1f1c36605a9d9f7249eda320fc 100644
--- a/system/test/common/jni_thread.h
+++ b/system/test/common/jni_thread.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <queue>
 
diff --git a/system/test/common/main_handler.cc b/system/test/common/main_handler.cc
index fbcc34654248200580da68d93c1e6038e9e3e43a..fb9d52874ae8002eefcf642e585ad805f819df57 100644
--- a/system/test/common/main_handler.cc
+++ b/system/test/common/main_handler.cc
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#include <base/bind.h>
-#include <base/callback_forward.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback_forward.h>
 #include <base/location.h>
 #include <base/time/time.h>
 #include <sys/types.h>
diff --git a/system/test/common/main_handler.h b/system/test/common/main_handler.h
index 1122c4ad121b369b73b2814025e1eeaefa86b3b9..3aeeb663d59722b6a737351a98779722d5fac183 100644
--- a/system/test/common/main_handler.h
+++ b/system/test/common/main_handler.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <base/location.h>
 #include <base/time/time.h>
 #include <functional>
diff --git a/system/test/mock/mock_bta_ag_api.cc b/system/test/mock/mock_bta_ag_api.cc
index c846c7d012ac7f475c78ecf88f98c1416abfe1df..df0eb6c63f17a6ce0eb9df729f239a54bf01a097 100644
--- a/system/test/mock/mock_bta_ag_api.cc
+++ b/system/test/mock/mock_bta_ag_api.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 
 #include <cstdint>
diff --git a/system/test/mock/mock_bta_csis.cc b/system/test/mock/mock_bta_csis.cc
index bb8603a534826ddb234018157b58e01b4e1bb083..cbf2c488ecf76a2dead9de31eb4d1a0df2f1e817 100644
--- a/system/test/mock/mock_bta_csis.cc
+++ b/system/test/mock/mock_bta_csis.cc
@@ -20,7 +20,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <hardware/bt_csis.h>
 
 #include "bta/include/bta_csis_api.h"
diff --git a/system/test/mock/mock_bta_dm_api.h b/system/test/mock/mock_bta_dm_api.h
index 3e64ff3679aa546e107920954dfb851355cea1c9..3af4a2e024a460d262200b45aa7370a2ef5d3d2e 100644
--- a/system/test/mock/mock_bta_dm_api.h
+++ b/system/test/mock/mock_bta_dm_api.h
@@ -34,7 +34,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <map>
 #include <string>
diff --git a/system/test/mock/mock_bta_gattc_api.cc b/system/test/mock/mock_bta_gattc_api.cc
index 148afd343f6637ec64e9072e94b5c9136d636409..ca9d19801c99be023d39f8312aaab45d49fd02c4 100644
--- a/system/test/mock/mock_bta_gattc_api.cc
+++ b/system/test/mock/mock_bta_gattc_api.cc
@@ -19,14 +19,14 @@
  *   Functions generated:30
  */
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <map>
 #include <string>
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <ios>
 #include <list>
diff --git a/system/test/mock/mock_bta_gatts_api.cc b/system/test/mock/mock_bta_gatts_api.cc
index ba86ae5355a8b5ad728a85b5b865fdd465036865..8a041f0bea58d5b45d6ff8f3e7b32c7d6a96aa88 100644
--- a/system/test/mock/mock_bta_gatts_api.cc
+++ b/system/test/mock/mock_bta_gatts_api.cc
@@ -24,8 +24,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 
 #include <cstdint>
diff --git a/system/test/mock/mock_bta_has.cc b/system/test/mock/mock_bta_has.cc
index 2b92b58353bc965e7cea12a66ec83cde26adc9b8..8cd1c103c9edb7755c353d530a0c98613214ad63 100644
--- a/system/test/mock/mock_bta_has.cc
+++ b/system/test/mock/mock_bta_has.cc
@@ -19,8 +19,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
 #include <base/bind_helpers.h>
+#include <base/functional/bind.h>
 
 #include "bta/include/bta_has_api.h"
 #include "types/raw_address.h"
diff --git a/system/test/mock/mock_bta_hearing_aid.cc b/system/test/mock/mock_bta_hearing_aid.cc
index 200df2d948c1bc5d9df7dbd86f992effb18e2443..428203299ee45f1a18e48783519c383b37d66a85 100644
--- a/system/test/mock/mock_bta_hearing_aid.cc
+++ b/system/test/mock/mock_bta_hearing_aid.cc
@@ -24,8 +24,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/strings/string_number_conversions.h>
 #include <cstdint>
 #include <vector>
diff --git a/system/test/mock/mock_bta_jv_api.cc b/system/test/mock/mock_bta_jv_api.cc
index 26a19609584a2f0f4b2f68190ecb6742a7c589ce..6d97fca36f02c94abdcc313852980de932477fde 100644
--- a/system/test/mock/mock_bta_jv_api.cc
+++ b/system/test/mock/mock_bta_jv_api.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/test/mock/mock_bta_leaudio.cc b/system/test/mock/mock_bta_leaudio.cc
index a4bf05c42fbfdc52327706055b69052f1a1ff4d7..3879dff419a01025196993cde4d330ea988308f8 100644
--- a/system/test/mock/mock_bta_leaudio.cc
+++ b/system/test/mock/mock_bta_leaudio.cc
@@ -25,8 +25,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
 #include <base/bind_helpers.h>
+#include <base/functional/bind.h>
 #include <hardware/bt_le_audio.h>
 
 #include "bta/include/bta_le_audio_api.h"
diff --git a/system/test/mock/mock_bta_leaudio_broadcaster.cc b/system/test/mock/mock_bta_leaudio_broadcaster.cc
index f0ce96fab81e6fff2dc796c4544311e241b2266e..f50a7ad08f020509e380ea4b107d431e4594ab47 100644
--- a/system/test/mock/mock_bta_leaudio_broadcaster.cc
+++ b/system/test/mock/mock_bta_leaudio_broadcaster.cc
@@ -19,8 +19,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
 #include <base/bind_helpers.h>
+#include <base/functional/bind.h>
 #include <hardware/bt_le_audio.h>
 
 #include "bta/include/bta_le_audio_broadcaster_api.h"
diff --git a/system/test/mock/mock_bta_sdp_api.cc b/system/test/mock/mock_bta_sdp_api.cc
index 4df716ee578a341cdedfc380f2d62d85ca4be8df..10dde0a4f18617cf026e61f084869aa650e52035 100644
--- a/system/test/mock/mock_bta_sdp_api.cc
+++ b/system/test/mock/mock_bta_sdp_api.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 
 #include "bt_target.h"
diff --git a/system/test/mock/mock_bta_sys_main.h b/system/test/mock/mock_bta_sys_main.h
index e3a9851aa955b144fe938b5d9d7ca67d7f3232e7..b92a7ebd07f7d22f25c6393478426e285d2235dc 100644
--- a/system/test/mock/mock_bta_sys_main.h
+++ b/system/test/mock/mock_bta_sys_main.h
@@ -34,7 +34,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/bind.h>
+#include <base/functional/bind.h>
 
 #include <cstring>
 #include <map>
diff --git a/system/test/mock/mock_bta_vc.cc b/system/test/mock/mock_bta_vc.cc
index 309e62faf950f885a8db30c51d017240949e52bc..214e7595638ca8b3a9784dd6cde39d78ddcb72ab 100644
--- a/system/test/mock/mock_bta_vc.cc
+++ b/system/test/mock/mock_bta_vc.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/strings/string_number_conversions.h>
 #include <hardware/bt_vc.h>
diff --git a/system/test/mock/mock_btif_avrcp_service.h b/system/test/mock/mock_btif_avrcp_service.h
index 7452a76ca604c5cc0747436851899f91e54719a8..f9e4190f3fc0d408458663c23faa896a32cf66c9 100644
--- a/system/test/mock/mock_btif_avrcp_service.h
+++ b/system/test/mock/mock_btif_avrcp_service.h
@@ -35,7 +35,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/task/cancelable_task_tracker.h>
 #include <base/threading/thread.h>
diff --git a/system/test/mock/mock_btif_core.cc b/system/test/mock/mock_btif_core.cc
index e0ed5a142d6f909523888539101bf523d8487901..264c984936c0d09fd9e862cd03d7cd93284f03dc 100644
--- a/system/test/mock/mock_btif_core.cc
+++ b/system/test/mock/mock_btif_core.cc
@@ -25,7 +25,7 @@
 extern std::map<std::string, int> mock_function_count_map;
 
 #include <base/at_exit.h>
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/threading/platform_thread.h>
 #include <signal.h>
 #include <sys/types.h>
diff --git a/system/test/mock/mock_btif_profile_queue.h b/system/test/mock/mock_btif_profile_queue.h
index a5b1b3fa36d969484472dbb4a8fd54b27201015a..620a18073df4b19a0f3f05af64b83c85f3a54ecf 100644
--- a/system/test/mock/mock_btif_profile_queue.h
+++ b/system/test/mock/mock_btif_profile_queue.h
@@ -35,8 +35,8 @@
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/logging.h>
 #include <base/strings/stringprintf.h>
 #include <string.h>
diff --git a/system/test/mock/mock_btu_task.cc b/system/test/mock/mock_btu_task.cc
index b0e5edfa70d64e81423cd7f78b62f0252ccba789..2b7b9e2ebbf6f6705f3faf8cbca9e3dd9ef6857b 100644
--- a/system/test/mock/mock_btu_task.cc
+++ b/system/test/mock/mock_btu_task.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/logging.h>
 #include <base/run_loop.h>
 #include <base/threading/thread.h>
diff --git a/system/test/mock/mock_legacy_hci_iterface.cc b/system/test/mock/mock_legacy_hci_iterface.cc
index aa83e497c6cf2bb5005166d2eb81717aa700a056..70afb51a922de47ea23440ecd63fe0d7aa1852f4 100644
--- a/system/test/mock/mock_legacy_hci_iterface.cc
+++ b/system/test/mock/mock_legacy_hci_iterface.cc
@@ -19,7 +19,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 #include <stddef.h>
 
 #include "bt_target.h"
diff --git a/system/test/mock/mock_main_shim_btm_api.cc b/system/test/mock/mock_main_shim_btm_api.cc
index 78290b2422c6c89cae542cd276873cae4db12f59..3d2442a8466588060b96a02e3a498c914aa16fb1 100644
--- a/system/test/mock/mock_main_shim_btm_api.cc
+++ b/system/test/mock/mock_main_shim_btm_api.cc
@@ -19,13 +19,13 @@
  *   Functions generated:85
  */
 
-#include <base/bind.h>
-#include <base/callback.h>
-
 #include <cstdint>
 #include <map>
 #include <string>
 
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
+
 #include "main/shim/btm_api.h"
 #include "stack/include/bt_hdr.h"
 #include "stack/include/bt_octets.h"
diff --git a/system/test/mock/mock_stack_btm_ble_addr.h b/system/test/mock/mock_stack_btm_ble_addr.h
index 6f9a93737a51a9b5cad9483f03a01c1a39f2a674..79db810781e2e567e2cc403c6407620c187d52af 100644
--- a/system/test/mock/mock_stack_btm_ble_addr.h
+++ b/system/test/mock/mock_stack_btm_ble_addr.h
@@ -21,7 +21,7 @@
  *  mockcify.pl ver 0.2
  */
 
-#include <base/callback.h>  // RepeatingCallback
+#include <base/functional/callback.h>  // RepeatingCallback
 #include <cstdint>
 #include <functional>
 #include <map>
diff --git a/system/test/mock/mock_stack_btm_ble_adv_filter.cc b/system/test/mock/mock_stack_btm_ble_adv_filter.cc
index 6e4f6ce754de367e0dac89bb333d3e3c71b7849b..89cb50d2973dbc1e3cc17970557b2a4a2b668d51 100644
--- a/system/test/mock/mock_stack_btm_ble_adv_filter.cc
+++ b/system/test/mock/mock_stack_btm_ble_adv_filter.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <string.h>
 #include <algorithm>
 #include <vector>
diff --git a/system/test/mock/mock_stack_btm_ble_batchscan.cc b/system/test/mock/mock_stack_btm_ble_batchscan.cc
index 4e88e1db3b432354b16a871f81607fe942d5c5ba..e4ae7c7bf32c6237f09c87331ba96132c8761084 100644
--- a/system/test/mock/mock_stack_btm_ble_batchscan.cc
+++ b/system/test/mock/mock_stack_btm_ble_batchscan.cc
@@ -24,8 +24,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <string.h>
 
 #include <cstddef>
diff --git a/system/test/mock/mock_stack_btm_ble_bgconn.h b/system/test/mock/mock_stack_btm_ble_bgconn.h
index f88cfb1d33b831440a29a1667daa3a862d3c394d..53fe256aeddc3107165cca514e79d82531cb95b0 100644
--- a/system/test/mock/mock_stack_btm_ble_bgconn.h
+++ b/system/test/mock/mock_stack_btm_ble_bgconn.h
@@ -34,7 +34,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune the inclusion set.
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <cstdint>
 #include <unordered_map>
 #include "device/include/controller.h"
diff --git a/system/test/mock/mock_stack_btm_ble_gap.cc b/system/test/mock/mock_stack_btm_ble_gap.cc
index 01ac97b096048555c28ae11a2f835785cc884583..b26037fbf3aab3656850532c89fd408225991424 100644
--- a/system/test/mock/mock_stack_btm_ble_gap.cc
+++ b/system/test/mock/mock_stack_btm_ble_gap.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/strings/string_number_conversions.h>
 
 #include <cstdint>
diff --git a/system/test/mock/mock_stack_btm_ble_multi_adv.cc b/system/test/mock/mock_stack_btm_ble_multi_adv.cc
index f6f25ed1ca28a878d43de6f4862506a4d954fc4c..4e08cccddf47bb23e9b76cdf042ea296b90ad3a4 100644
--- a/system/test/mock/mock_stack_btm_ble_multi_adv.cc
+++ b/system/test/mock/mock_stack_btm_ble_multi_adv.cc
@@ -24,7 +24,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <base/memory/weak_ptr.h>
diff --git a/system/test/mock/mock_stack_btm_ble_scanner.cc b/system/test/mock/mock_stack_btm_ble_scanner.cc
index 64d9891fcb1a223e568c32c8d028472a636272d3..5bf5a90c5296c9bb2d365ba1358965a2f8ab0723 100644
--- a/system/test/mock/mock_stack_btm_ble_scanner.cc
+++ b/system/test/mock/mock_stack_btm_ble_scanner.cc
@@ -19,7 +19,7 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <base/location.h>
 #include <base/logging.h>
 #include <base/memory/weak_ptr.h>
@@ -56,4 +56,4 @@ bool BleScanningManager::IsInitialized() {
 void BleScanningManager::Initialize(BleScannerHciInterface* interface) {
   mock_function_count_map[__func__]++;
 }
-void btm_ble_scanner_cleanup(void) { mock_function_count_map[__func__]++; }
\ No newline at end of file
+void btm_ble_scanner_cleanup(void) { mock_function_count_map[__func__]++; }
diff --git a/system/test/mock/mock_stack_btu_hcif.cc b/system/test/mock/mock_stack_btu_hcif.cc
index 6ea1be2da693060fb68cbfaff46cdc0f71612624..a1de571343241f8d6499b70b4fa51dab771afef4 100644
--- a/system/test/mock/mock_stack_btu_hcif.cc
+++ b/system/test/mock/mock_stack_btu_hcif.cc
@@ -26,8 +26,8 @@
 extern std::map<std::string, int> mock_function_count_map;
 
 #define LOG_TAG "bt_btu_hcif"
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 
 #include "stack/include/bt_hdr.h"
diff --git a/system/test/mock/mock_stack_gatt_attr.cc b/system/test/mock/mock_stack_gatt_attr.cc
index 051ede282ffa278fb26ccdca9de1b9a71ee98ec7..5c031de2c63c9ed3788050897444f893f9f896bd 100644
--- a/system/test/mock/mock_stack_gatt_attr.cc
+++ b/system/test/mock/mock_stack_gatt_attr.cc
@@ -19,7 +19,7 @@
  *   Functions generated:14
  */
 
-#include <base/callback.h>
+#include <base/functional/callback.h>
 
 #include <cstdint>
 #include <map>
diff --git a/system/test/mock/mock_stack_gatt_connection_manager.cc b/system/test/mock/mock_stack_gatt_connection_manager.cc
index 372b4f081382ae81e01c61563452ff44f8d4b9dc..5e507e7587222bce4a2927a5302a64dbadb022da 100644
--- a/system/test/mock/mock_stack_gatt_connection_manager.cc
+++ b/system/test/mock/mock_stack_gatt_connection_manager.cc
@@ -24,8 +24,8 @@
 
 extern std::map<std::string, int> mock_function_count_map;
 
-#include <base/bind.h>
-#include <base/callback.h>
+#include <base/functional/bind.h>
+#include <base/functional/callback.h>
 #include <base/location.h>
 #include <base/logging.h>
 
diff --git a/system/test/mock/mock_stack_hcic_hciblecmds.h b/system/test/mock/mock_stack_hcic_hciblecmds.h
index ae074c754fae93ea6ef6125ade3bfee6c9e8f601..92a1c2cd7baed4f08ab29cd8c0e3cf3e10b6bca3 100644
--- a/system/test/mock/mock_stack_hcic_hciblecmds.h
+++ b/system/test/mock/mock_stack_hcic_hciblecmds.h
@@ -35,7 +35,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/bind.h>
+#include <base/functional/bind.h>
 #include <stddef.h>
 #include <string.h>
 
diff --git a/system/test/mock/mock_stack_hcic_hcicmds.h b/system/test/mock/mock_stack_hcic_hcicmds.h
index d7a8eef1ef1b64cbec2149780d9f71a4b001a99d..1c0c5671d13791fb466a0b8890bca5278d3cf55c 100644
--- a/system/test/mock/mock_stack_hcic_hcicmds.h
+++ b/system/test/mock/mock_stack_hcic_hcicmds.h
@@ -36,7 +36,7 @@ extern std::map<std::string, int> mock_function_count_map;
 //       still applies, but crafting proper inclusion is out of scope
 //       for this effort.  This compilation unit may compile as-is, or
 //       may need attention to prune from (or add to ) the inclusion set.
-#include <base/callback_forward.h>
+#include <base/functional/callback_forward.h>
 #include <stddef.h>
 #include <string.h>