提交 7caed817 编写于 作者: O openharmony_ci 提交者: Gitee

!34 fix fds leaks when enter/exit wifi page

Merge pull request !34 from niulihua/master
......@@ -24,7 +24,7 @@ static int g_wifiStatus = 0;
SettingWifiAbilitySlice::SettingWifiAbilitySlice()
: headView_(nullptr), toggleButtonView_(nullptr), scrollView_(nullptr), rootView_(nullptr),
changeListener_(nullptr), buttonBackListener_(nullptr), buttonInputListener_(nullptr)
changeListener_(nullptr), buttonBackListener_(nullptr), buttonInputListener_(nullptr), wpaCount_(0)
{
int taskPeriod = 5000;
Task::Init();
......@@ -33,8 +33,13 @@ SettingWifiAbilitySlice::SettingWifiAbilitySlice()
SettingWifiAbilitySlice::~SettingWifiAbilitySlice()
{
ExitWpa();
ExitWpaScan();
if (wpaCount_ == 1) {
printf("%s:%d call ExitWpa, this %p\n", __FUNCTION__, __LINE__, this);
ExitWpa();
ExitWpaScan();
wpaCount_ = 0;
}
if (toggleButtonView_) {
DeleteChildren(toggleButtonView_);
toggleButtonView_ = nullptr;
......@@ -224,11 +229,11 @@ void SettingWifiAbilitySlice::Callback()
void SettingWifiAbilitySlice::OnStart(const Want& want)
{
static int wpaCount = 0;
if (wpaCount == 0) {
if (wpaCount_ == 0) {
printf("%s:%d call WpaClientStart, this %p\n", __FUNCTION__, __LINE__, this);
WpaClientStart();
WpaScanReconnect(nullptr, nullptr, HIDDEN_CLOSE);
wpaCount = 1;
wpaCount_ = 1;
}
AbilitySlice::OnStart(want);
......@@ -263,5 +268,11 @@ void SettingWifiAbilitySlice::OnBackground()
void SettingWifiAbilitySlice::OnStop()
{
AbilitySlice::OnStop();
if (wpaCount_ == 1) {
printf("%s:%d call ExitWpa, this %p\n", __FUNCTION__, __LINE__, this);
ExitWpa();
ExitWpaScan();
wpaCount_ = 0;
}
}
} // namespace OHOS
......@@ -90,6 +90,7 @@ private:
TestBtnOnStateChangeListener* changeListener_;
EventListener* buttonBackListener_;
EventListener* buttonInputListener_;
int wpaCount_;
constexpr static int TOGGLE_X = 36;
constexpr static int TOGGLE_Y = 72;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册