diff options
author | android-build-team Robot | 2018-05-17 02:26:04 -0500 |
---|---|---|
committer | android-build-team Robot | 2018-05-17 02:26:04 -0500 |
commit | 0f85276fdd6392dfd0a0ee13e8d9fdefc5f6f30b (patch) | |
tree | 183e0d755d719a67fcc8f88a2b430b39c4fcf9b3 | |
parent | 48d29a4a41375a9d19ae31f99bc78e4fe28d78db (diff) | |
parent | 3569b0273f63084f3304df1e7870e02d9c5d4c2b (diff) | |
download | platform-hardware-interfaces-0f85276fdd6392dfd0a0ee13e8d9fdefc5f6f30b.tar.gz platform-hardware-interfaces-0f85276fdd6392dfd0a0ee13e8d9fdefc5f6f30b.tar.xz platform-hardware-interfaces-0f85276fdd6392dfd0a0ee13e8d9fdefc5f6f30b.zip |
Snap for 4787078 from 3569b0273f63084f3304df1e7870e02d9c5d4c2b to pi-release
Change-Id: I8798ce790414a1e314c8c006699fa1fe31a046e7
-rw-r--r-- | compatibility_matrices/Android.mk | 6 | ||||
-rw-r--r-- | compatibility_matrices/compatibility_matrix.3.xml | 14 | ||||
-rw-r--r-- | current.txt | 2 | ||||
-rw-r--r-- | graphics/composer/2.2/IComposerClient.hal | 13 | ||||
-rw-r--r-- | wifi/1.2/default/Android.mk | 3 | ||||
-rw-r--r-- | wifi/1.2/default/tests/mock_wifi_feature_flags.h | 1 | ||||
-rw-r--r-- | wifi/1.2/default/tests/wifi_chip_unit_tests.cpp | 57 | ||||
-rw-r--r-- | wifi/1.2/default/wifi_chip.cpp | 17 | ||||
-rw-r--r-- | wifi/1.2/default/wifi_feature_flags.cpp | 9 | ||||
-rw-r--r-- | wifi/1.2/default/wifi_feature_flags.h | 1 |
10 files changed, 112 insertions, 11 deletions
diff --git a/compatibility_matrices/Android.mk b/compatibility_matrices/Android.mk index 8904c685..86fe00dd 100644 --- a/compatibility_matrices/Android.mk +++ b/compatibility_matrices/Android.mk | |||
@@ -64,9 +64,9 @@ LOCAL_MODULE := framework_compatibility_matrix.3.xml | |||
64 | LOCAL_MODULE_STEM := compatibility_matrix.3.xml | 64 | LOCAL_MODULE_STEM := compatibility_matrix.3.xml |
65 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) | 65 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) |
66 | LOCAL_KERNEL_CONFIG_DATA_PATHS := \ | 66 | LOCAL_KERNEL_CONFIG_DATA_PATHS := \ |
67 | 4.4.0:$(my_kernel_config_data)/p/android-4.4 \ | 67 | 4.4.107:$(my_kernel_config_data)/p/android-4.4 \ |
68 | 4.9.0:$(my_kernel_config_data)/p/android-4.9 \ | 68 | 4.9.84:$(my_kernel_config_data)/p/android-4.9 \ |
69 | 4.14.0:$(my_kernel_config_data)/p/android-4.14 \ | 69 | 4.14.40:$(my_kernel_config_data)/p/android-4.14 \ |
70 | 70 | ||
71 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | 71 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) |
72 | 72 | ||
diff --git a/compatibility_matrices/compatibility_matrix.3.xml b/compatibility_matrices/compatibility_matrix.3.xml index 9bc76ea0..2c5d4310 100644 --- a/compatibility_matrices/compatibility_matrix.3.xml +++ b/compatibility_matrices/compatibility_matrix.3.xml | |||
@@ -88,6 +88,14 @@ | |||
88 | </interface> | 88 | </interface> |
89 | </hal> | 89 | </hal> |
90 | <hal format="hidl" optional="true"> | 90 | <hal format="hidl" optional="true"> |
91 | <name>android.hardware.broadcastradio</name> | ||
92 | <version>2.0</version> | ||
93 | <interface> | ||
94 | <name>IBroadcastRadio</name> | ||
95 | <regex-instance>.*</regex-instance> | ||
96 | </interface> | ||
97 | </hal> | ||
98 | <hal format="hidl" optional="true"> | ||
91 | <name>android.hardware.camera.provider</name> | 99 | <name>android.hardware.camera.provider</name> |
92 | <version>2.4</version> | 100 | <version>2.4</version> |
93 | <interface> | 101 | <interface> |
@@ -185,7 +193,7 @@ | |||
185 | </hal> | 193 | </hal> |
186 | <hal format="hidl" optional="false"> | 194 | <hal format="hidl" optional="false"> |
187 | <name>android.hardware.graphics.composer</name> | 195 | <name>android.hardware.graphics.composer</name> |
188 | <version>2.1</version> | 196 | <version>2.1-2</version> |
189 | <interface> | 197 | <interface> |
190 | <name>IComposer</name> | 198 | <name>IComposer</name> |
191 | <instance>default</instance> | 199 | <instance>default</instance> |
@@ -193,7 +201,7 @@ | |||
193 | </hal> | 201 | </hal> |
194 | <hal format="hidl" optional="false"> | 202 | <hal format="hidl" optional="false"> |
195 | <name>android.hardware.graphics.mapper</name> | 203 | <name>android.hardware.graphics.mapper</name> |
196 | <version>2.0</version> | 204 | <version>2.0-1</version> |
197 | <interface> | 205 | <interface> |
198 | <name>IMapper</name> | 206 | <name>IMapper</name> |
199 | <instance>default</instance> | 207 | <instance>default</instance> |
@@ -258,7 +266,7 @@ | |||
258 | </hal> | 266 | </hal> |
259 | <hal format="hidl" optional="true"> | 267 | <hal format="hidl" optional="true"> |
260 | <name>android.hardware.neuralnetworks</name> | 268 | <name>android.hardware.neuralnetworks</name> |
261 | <version>1.0</version> | 269 | <version>1.0-1</version> |
262 | <interface> | 270 | <interface> |
263 | <name>IDevice</name> | 271 | <name>IDevice</name> |
264 | <regex-instance>.*</regex-instance> | 272 | <regex-instance>.*</regex-instance> |
diff --git a/current.txt b/current.txt index d221238a..7d630d27 100644 --- a/current.txt +++ b/current.txt | |||
@@ -327,7 +327,7 @@ a830336ac8627d6432cfafb1b884343ad9f885dee0a5323e380e6d3c519156b8 android.hardwar | |||
327 | 83e7a10ff3702147bd7ffa04567b20d407a3b16bbb7705644af44d919afe9103 android.hardware.gnss@1.1::IGnssMeasurementCallback | 327 | 83e7a10ff3702147bd7ffa04567b20d407a3b16bbb7705644af44d919afe9103 android.hardware.gnss@1.1::IGnssMeasurementCallback |
328 | 0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types | 328 | 0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types |
329 | d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer | 329 | d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer |
330 | 18eff12102db47b03a5fa906f8d4fd9018f0fb9236c663d457b8eac8d57c2937 android.hardware.graphics.composer@2.2::IComposerClient | 330 | e7717f2ff2f6db43b24370ff08e14cd353da3004b32b17740e4a7ed4894b7e45 android.hardware.graphics.composer@2.2::IComposerClient |
331 | dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper | 331 | dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper |
332 | 675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth | 332 | 675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth |
333 | 434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback | 333 | 434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback |
diff --git a/graphics/composer/2.2/IComposerClient.hal b/graphics/composer/2.2/IComposerClient.hal index a6665a12..2f0a3cca 100644 --- a/graphics/composer/2.2/IComposerClient.hal +++ b/graphics/composer/2.2/IComposerClient.hal | |||
@@ -152,6 +152,11 @@ interface IComposerClient extends @2.1::IComposerClient { | |||
152 | * output of the display remains the same (subject to the note about protected | 152 | * output of the display remains the same (subject to the note about protected |
153 | * content in the description of setReadbackBuffer). | 153 | * content in the description of setReadbackBuffer). |
154 | * | 154 | * |
155 | * If the active configuration or color mode of this display has changed | ||
156 | * since a previous call to this function, it must be called again prior to | ||
157 | * setting a readback buffer such that the returned format and dataspace can | ||
158 | * be updated accordingly. | ||
159 | * | ||
155 | * Parameters: | 160 | * Parameters: |
156 | * @param display - the display on which to create the layer. | 161 | * @param display - the display on which to create the layer. |
157 | * | 162 | * |
@@ -203,7 +208,13 @@ interface IComposerClient extends @2.1::IComposerClient { | |||
203 | * must be non-NULL | 208 | * must be non-NULL |
204 | * @return error - is HWC2_ERROR_NONE or one of the following errors: | 209 | * @return error - is HWC2_ERROR_NONE or one of the following errors: |
205 | * BAD_DISPLAY - an invalid display handle was passed in | 210 | * BAD_DISPLAY - an invalid display handle was passed in |
206 | * UNSUPPORTED if not supported on underlying HAL | 211 | * NO_RESOURCES - the readback operation was successful, but |
212 | * resulted in a different validate result than would | ||
213 | * have occurred without readback | ||
214 | * UNSUPPORTED - the readback operation was unsuccessful because of | ||
215 | * resource constraints, the presence of protected | ||
216 | * content, or other reasons; -1 must be returned for | ||
217 | * acquireFence | ||
207 | * | 218 | * |
208 | * See also: | 219 | * See also: |
209 | * getReadbackBufferAttributes | 220 | * getReadbackBufferAttributes |
diff --git a/wifi/1.2/default/Android.mk b/wifi/1.2/default/Android.mk index 978cf63f..39196901 100644 --- a/wifi/1.2/default/Android.mk +++ b/wifi/1.2/default/Android.mk | |||
@@ -27,6 +27,9 @@ endif | |||
27 | ifdef WIFI_HIDL_FEATURE_DUAL_INTERFACE | 27 | ifdef WIFI_HIDL_FEATURE_DUAL_INTERFACE |
28 | LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DUAL_INTERFACE | 28 | LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DUAL_INTERFACE |
29 | endif | 29 | endif |
30 | ifdef WIFI_HIDL_FEATURE_DISABLE_AP | ||
31 | LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DISABLE_AP | ||
32 | endif | ||
30 | LOCAL_SRC_FILES := \ | 33 | LOCAL_SRC_FILES := \ |
31 | hidl_struct_util.cpp \ | 34 | hidl_struct_util.cpp \ |
32 | hidl_sync_util.cpp \ | 35 | hidl_sync_util.cpp \ |
diff --git a/wifi/1.2/default/tests/mock_wifi_feature_flags.h b/wifi/1.2/default/tests/mock_wifi_feature_flags.h index 8cf1d4b2..2a36dd50 100644 --- a/wifi/1.2/default/tests/mock_wifi_feature_flags.h +++ b/wifi/1.2/default/tests/mock_wifi_feature_flags.h | |||
@@ -34,6 +34,7 @@ class MockWifiFeatureFlags : public WifiFeatureFlags { | |||
34 | 34 | ||
35 | MOCK_METHOD0(isAwareSupported, bool()); | 35 | MOCK_METHOD0(isAwareSupported, bool()); |
36 | MOCK_METHOD0(isDualInterfaceSupported, bool()); | 36 | MOCK_METHOD0(isDualInterfaceSupported, bool()); |
37 | MOCK_METHOD0(isApDisabled, bool()); | ||
37 | }; | 38 | }; |
38 | 39 | ||
39 | } // namespace feature_flags | 40 | } // namespace feature_flags |
diff --git a/wifi/1.2/default/tests/wifi_chip_unit_tests.cpp b/wifi/1.2/default/tests/wifi_chip_unit_tests.cpp index 3928c9ab..8722d0ac 100644 --- a/wifi/1.2/default/tests/wifi_chip_unit_tests.cpp +++ b/wifi/1.2/default/tests/wifi_chip_unit_tests.cpp | |||
@@ -48,6 +48,8 @@ class WifiChipTest : public Test { | |||
48 | .WillRepeatedly(testing::Return(false)); | 48 | .WillRepeatedly(testing::Return(false)); |
49 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) | 49 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) |
50 | .WillRepeatedly(testing::Return(false)); | 50 | .WillRepeatedly(testing::Return(false)); |
51 | EXPECT_CALL(*feature_flags_, isApDisabled()) | ||
52 | .WillRepeatedly(testing::Return(false)); | ||
51 | } | 53 | } |
52 | 54 | ||
53 | void setupV1_AwareIfaceCombination() { | 55 | void setupV1_AwareIfaceCombination() { |
@@ -55,6 +57,17 @@ class WifiChipTest : public Test { | |||
55 | .WillRepeatedly(testing::Return(true)); | 57 | .WillRepeatedly(testing::Return(true)); |
56 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) | 58 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) |
57 | .WillRepeatedly(testing::Return(false)); | 59 | .WillRepeatedly(testing::Return(false)); |
60 | EXPECT_CALL(*feature_flags_, isApDisabled()) | ||
61 | .WillRepeatedly(testing::Return(false)); | ||
62 | } | ||
63 | |||
64 | void setupV1_AwareDisabledApIfaceCombination() { | ||
65 | EXPECT_CALL(*feature_flags_, isAwareSupported()) | ||
66 | .WillRepeatedly(testing::Return(true)); | ||
67 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) | ||
68 | .WillRepeatedly(testing::Return(false)); | ||
69 | EXPECT_CALL(*feature_flags_, isApDisabled()) | ||
70 | .WillRepeatedly(testing::Return(true)); | ||
58 | } | 71 | } |
59 | 72 | ||
60 | void setupV2_AwareIfaceCombination() { | 73 | void setupV2_AwareIfaceCombination() { |
@@ -62,6 +75,17 @@ class WifiChipTest : public Test { | |||
62 | .WillRepeatedly(testing::Return(true)); | 75 | .WillRepeatedly(testing::Return(true)); |
63 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) | 76 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) |
64 | .WillRepeatedly(testing::Return(true)); | 77 | .WillRepeatedly(testing::Return(true)); |
78 | EXPECT_CALL(*feature_flags_, isApDisabled()) | ||
79 | .WillRepeatedly(testing::Return(false)); | ||
80 | } | ||
81 | |||
82 | void setupV2_AwareDisabledApIfaceCombination() { | ||
83 | EXPECT_CALL(*feature_flags_, isAwareSupported()) | ||
84 | .WillRepeatedly(testing::Return(true)); | ||
85 | EXPECT_CALL(*feature_flags_, isDualInterfaceSupported()) | ||
86 | .WillRepeatedly(testing::Return(true)); | ||
87 | EXPECT_CALL(*feature_flags_, isApDisabled()) | ||
88 | .WillRepeatedly(testing::Return(true)); | ||
65 | } | 89 | } |
66 | 90 | ||
67 | void assertNumberOfModes(uint32_t num_modes) { | 91 | void assertNumberOfModes(uint32_t num_modes) { |
@@ -515,6 +539,39 @@ TEST_F(WifiChipV2_AwareIfaceCombinationTest, | |||
515 | ASSERT_FALSE(ap_iface_name.empty()); | 539 | ASSERT_FALSE(ap_iface_name.empty()); |
516 | ASSERT_NE(sta_iface_name, ap_iface_name); | 540 | ASSERT_NE(sta_iface_name, ap_iface_name); |
517 | } | 541 | } |
542 | |||
543 | ////////// V1 Iface Combinations when AP creation is disabled ////////// | ||
544 | class WifiChipV1_AwareDisabledApIfaceCombinationTest : public WifiChipTest { | ||
545 | public: | ||
546 | void SetUp() override { | ||
547 | setupV1_AwareDisabledApIfaceCombination(); | ||
548 | WifiChipTest::SetUp(); | ||
549 | } | ||
550 | }; | ||
551 | |||
552 | TEST_F(WifiChipV1_AwareDisabledApIfaceCombinationTest, | ||
553 | StaMode_CreateSta_ShouldSucceed) { | ||
554 | findModeAndConfigureForIfaceType(IfaceType::STA); | ||
555 | ASSERT_FALSE(createIface(IfaceType::STA).empty()); | ||
556 | ASSERT_TRUE(createIface(IfaceType::AP).empty()); | ||
557 | } | ||
558 | |||
559 | ////////// V2 Iface Combinations when AP creation is disabled ////////// | ||
560 | class WifiChipV2_AwareDisabledApIfaceCombinationTest: public WifiChipTest { | ||
561 | public: | ||
562 | void SetUp() override { | ||
563 | setupV2_AwareDisabledApIfaceCombination(); | ||
564 | WifiChipTest::SetUp(); | ||
565 | } | ||
566 | }; | ||
567 | |||
568 | TEST_F(WifiChipV2_AwareDisabledApIfaceCombinationTest, | ||
569 | CreateSta_ShouldSucceed) { | ||
570 | findModeAndConfigureForIfaceType(IfaceType::STA); | ||
571 | ASSERT_FALSE(createIface(IfaceType::STA).empty()); | ||
572 | ASSERT_TRUE(createIface(IfaceType::AP).empty()); | ||
573 | } | ||
574 | |||
518 | } // namespace implementation | 575 | } // namespace implementation |
519 | } // namespace V1_2 | 576 | } // namespace V1_2 |
520 | } // namespace wifi | 577 | } // namespace wifi |
diff --git a/wifi/1.2/default/wifi_chip.cpp b/wifi/1.2/default/wifi_chip.cpp index ab96ef1b..3bd05570 100644 --- a/wifi/1.2/default/wifi_chip.cpp +++ b/wifi/1.2/default/wifi_chip.cpp | |||
@@ -1211,10 +1211,17 @@ void WifiChip::populateModes() { | |||
1211 | {chip_iface_combination_limit_1, chip_iface_combination_limit_2}}; | 1211 | {chip_iface_combination_limit_1, chip_iface_combination_limit_2}}; |
1212 | const IWifiChip::ChipIfaceCombination chip_iface_combination_2 = { | 1212 | const IWifiChip::ChipIfaceCombination chip_iface_combination_2 = { |
1213 | {chip_iface_combination_limit_1, chip_iface_combination_limit_3}}; | 1213 | {chip_iface_combination_limit_1, chip_iface_combination_limit_3}}; |
1214 | const IWifiChip::ChipMode chip_mode = { | 1214 | if (feature_flags_.lock()->isApDisabled()) { |
1215 | const IWifiChip::ChipMode chip_mode = { | ||
1216 | kV2ChipModeId, | ||
1217 | {chip_iface_combination_2}}; | ||
1218 | modes_ = {chip_mode}; | ||
1219 | } else { | ||
1220 | const IWifiChip::ChipMode chip_mode = { | ||
1215 | kV2ChipModeId, | 1221 | kV2ChipModeId, |
1216 | {chip_iface_combination_1, chip_iface_combination_2}}; | 1222 | {chip_iface_combination_1, chip_iface_combination_2}}; |
1217 | modes_ = {chip_mode}; | 1223 | modes_ = {chip_mode}; |
1224 | } | ||
1218 | } else { | 1225 | } else { |
1219 | // V1 Iface combinations for Mode Id = 0. (STA Mode) | 1226 | // V1 Iface combinations for Mode Id = 0. (STA Mode) |
1220 | const IWifiChip::ChipIfaceCombinationLimit | 1227 | const IWifiChip::ChipIfaceCombinationLimit |
@@ -1238,7 +1245,11 @@ void WifiChip::populateModes() { | |||
1238 | {ap_chip_iface_combination_limit}}; | 1245 | {ap_chip_iface_combination_limit}}; |
1239 | const IWifiChip::ChipMode ap_chip_mode = {kV1ApChipModeId, | 1246 | const IWifiChip::ChipMode ap_chip_mode = {kV1ApChipModeId, |
1240 | {ap_chip_iface_combination}}; | 1247 | {ap_chip_iface_combination}}; |
1241 | modes_ = {sta_chip_mode, ap_chip_mode}; | 1248 | if (feature_flags_.lock()->isApDisabled()) { |
1249 | modes_ = {sta_chip_mode}; | ||
1250 | } else { | ||
1251 | modes_ = {sta_chip_mode, ap_chip_mode}; | ||
1252 | } | ||
1242 | } | 1253 | } |
1243 | } | 1254 | } |
1244 | 1255 | ||
diff --git a/wifi/1.2/default/wifi_feature_flags.cpp b/wifi/1.2/default/wifi_feature_flags.cpp index 554d4d5f..778944dd 100644 --- a/wifi/1.2/default/wifi_feature_flags.cpp +++ b/wifi/1.2/default/wifi_feature_flags.cpp | |||
@@ -27,6 +27,12 @@ static const bool wifiHidlFeatureDualInterface = true; | |||
27 | #else | 27 | #else |
28 | static const bool wifiHidlFeatureDualInterface = false; | 28 | static const bool wifiHidlFeatureDualInterface = false; |
29 | #endif // WIFI_HIDL_FEATURE_DUAL_INTERFACE | 29 | #endif // WIFI_HIDL_FEATURE_DUAL_INTERFACE |
30 | #ifdef WIFI_HIDL_FEATURE_DISABLE_AP | ||
31 | static const bool wifiHidlFeatureDisableAp = true; | ||
32 | #else | ||
33 | static const bool wifiHidlFeatureDisableAp = false; | ||
34 | #endif // WIFI_HIDL_FEATURE_DISABLE_AP | ||
35 | |||
30 | } // namespace | 36 | } // namespace |
31 | 37 | ||
32 | namespace android { | 38 | namespace android { |
@@ -41,6 +47,9 @@ bool WifiFeatureFlags::isAwareSupported() { return wifiHidlFeatureAware; } | |||
41 | bool WifiFeatureFlags::isDualInterfaceSupported() { | 47 | bool WifiFeatureFlags::isDualInterfaceSupported() { |
42 | return wifiHidlFeatureDualInterface; | 48 | return wifiHidlFeatureDualInterface; |
43 | } | 49 | } |
50 | bool WifiFeatureFlags::isApDisabled() { | ||
51 | return wifiHidlFeatureDisableAp; | ||
52 | } | ||
44 | 53 | ||
45 | } // namespace feature_flags | 54 | } // namespace feature_flags |
46 | } // namespace implementation | 55 | } // namespace implementation |
diff --git a/wifi/1.2/default/wifi_feature_flags.h b/wifi/1.2/default/wifi_feature_flags.h index dc0c1ff3..4a7b2d22 100644 --- a/wifi/1.2/default/wifi_feature_flags.h +++ b/wifi/1.2/default/wifi_feature_flags.h | |||
@@ -31,6 +31,7 @@ class WifiFeatureFlags { | |||
31 | 31 | ||
32 | virtual bool isAwareSupported(); | 32 | virtual bool isAwareSupported(); |
33 | virtual bool isDualInterfaceSupported(); | 33 | virtual bool isDualInterfaceSupported(); |
34 | virtual bool isApDisabled(); | ||
34 | }; | 35 | }; |
35 | 36 | ||
36 | } // namespace feature_flags | 37 | } // namespace feature_flags |