From 77dd4dbdf03ee96c2a3577661dd0f21a4e324fc8 Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Tue, 20 Sep 2022 16:56:12 +0900 Subject: [PATCH 1/6] Add TizenView::Blur() method * When Blur() is called, the view no longer handles key-events. As a result the keyboard focus can be removed from the view. * Now, if a backkey is pressed when the navigation stack is empty, the view loses keyboard focus by Platform channel with TizenViewElementary. Signed-off-by: Boram Bae --- .../tizen/channels/platform_channel.cc | 22 +++++++++++-------- .../tizen/channels/platform_channel.h | 6 ++--- shell/platform/tizen/flutter_tizen_view.cc | 5 +++-- shell/platform/tizen/tizen_view.h | 2 ++ shell/platform/tizen/tizen_view_elementary.cc | 16 ++++++++++++-- shell/platform/tizen/tizen_view_elementary.h | 3 +++ shell/platform/tizen/tizen_view_nui.cc | 4 ++++ shell/platform/tizen/tizen_view_nui.h | 2 ++ 8 files changed, 44 insertions(+), 16 deletions(-) diff --git a/shell/platform/tizen/channels/platform_channel.cc b/shell/platform/tizen/channels/platform_channel.cc index 9deb3a4ea255a..0585f4c6b7789 100644 --- a/shell/platform/tizen/channels/platform_channel.cc +++ b/shell/platform/tizen/channels/platform_channel.cc @@ -14,6 +14,8 @@ #include "flutter/shell/platform/tizen/channels/tizen_shell.h" #endif #include "flutter/shell/platform/tizen/logger.h" +#include "flutter/shell/platform/tizen/tizen_view.h" +#include "flutter/shell/platform/tizen/tizen_window.h" namespace flutter { @@ -62,12 +64,12 @@ std::string text_clipboard = ""; } // namespace PlatformChannel::PlatformChannel(BinaryMessenger* messenger, - TizenWindow* window) + TizenViewBase* view) : channel_(std::make_unique>( messenger, kChannelName, &JsonMethodCodec::GetInstance())), - window_(window) { + view_(view) { channel_->SetMethodCallHandler( [this](const MethodCall& call, std::unique_ptr> result) { @@ -156,8 +158,10 @@ void PlatformChannel::HandleMethodCall( } void PlatformChannel::SystemNavigatorPop() { - if (window_) { + if (view_->GetType() == TizenViewType::kWindow) { ui_app_exit(); + } else { + reinterpret_cast(view_)->Blur(); } } @@ -174,13 +178,13 @@ void PlatformChannel::HapticFeedbackVibrate(const std::string& feedback_type) { } void PlatformChannel::RestoreSystemUiOverlays() { - if (!window_) { + if (view_->GetType() != TizenViewType::kWindow) { return; } #ifdef COMMON_PROFILE auto& shell = TizenShell::GetInstance(); - shell.InitializeSoftkey(window_->GetWindowId()); + shell.InitializeSoftkey(view_->GetWindowId()); if (shell.IsSoftkeyShown()) { shell.ShowSoftkey(); @@ -192,13 +196,13 @@ void PlatformChannel::RestoreSystemUiOverlays() { void PlatformChannel::SetEnabledSystemUiOverlays( const std::vector& overlays) { - if (!window_) { + if (view_->GetType() != TizenViewType::kWindow) { return; } #ifdef COMMON_PROFILE auto& shell = TizenShell::GetInstance(); - shell.InitializeSoftkey(window_->GetWindowId()); + shell.InitializeSoftkey(view_->GetWindowId()); if (std::find(overlays.begin(), overlays.end(), kSystemUiOverlayBottom) != overlays.end()) { @@ -211,7 +215,7 @@ void PlatformChannel::SetEnabledSystemUiOverlays( void PlatformChannel::SetPreferredOrientations( const std::vector& orientations) { - if (!window_) { + if (view_->GetType() != TizenViewType::kWindow) { return; } @@ -230,7 +234,7 @@ void PlatformChannel::SetPreferredOrientations( // default. rotations = {0, 90, 180, 270}; } - window_->SetPreferredOrientations(rotations); + reinterpret_cast(view_)->SetPreferredOrientations(rotations); } } // namespace flutter diff --git a/shell/platform/tizen/channels/platform_channel.h b/shell/platform/tizen/channels/platform_channel.h index 4e11fdd5ca7af..e3039d041314b 100644 --- a/shell/platform/tizen/channels/platform_channel.h +++ b/shell/platform/tizen/channels/platform_channel.h @@ -11,14 +11,14 @@ #include "flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h" #include "flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h" -#include "flutter/shell/platform/tizen/tizen_window.h" +#include "flutter/shell/platform/tizen/tizen_view_base.h" #include "rapidjson/document.h" namespace flutter { class PlatformChannel { public: - explicit PlatformChannel(BinaryMessenger* messenger, TizenWindow* window); + explicit PlatformChannel(BinaryMessenger* messenger, TizenViewBase* view); virtual ~PlatformChannel(); private: @@ -37,7 +37,7 @@ class PlatformChannel { // A reference to the window object managed by FlutterTizenView. // This can be nullptr if the engine is running in headless mode. - TizenWindow* window_; + TizenViewBase* view_; }; } // namespace flutter diff --git a/shell/platform/tizen/flutter_tizen_view.cc b/shell/platform/tizen/flutter_tizen_view.cc index 20d9e2f8ea397..38b15a7cf5961 100644 --- a/shell/platform/tizen/flutter_tizen_view.cc +++ b/shell/platform/tizen/flutter_tizen_view.cc @@ -73,12 +73,13 @@ void FlutterTizenView::SetEngine(std::unique_ptr engine) { // Set up window dependent channels. BinaryMessenger* messenger = internal_plugin_registrar_->messenger(); + platform_channel_ = + std::make_unique(messenger, tizen_view_.get()); + if (tizen_view_->GetType() == TizenViewType::kWindow) { auto* window = reinterpret_cast(tizen_view_.get()); - platform_channel_ = std::make_unique(messenger, window); window_channel_ = std::make_unique(messenger, window); } else { - platform_channel_ = std::make_unique(messenger, nullptr); window_channel_ = std::make_unique(messenger, nullptr); } diff --git a/shell/platform/tizen/tizen_view.h b/shell/platform/tizen/tizen_view.h index f39447c2edaff..f9696e901b832 100644 --- a/shell/platform/tizen/tizen_view.h +++ b/shell/platform/tizen/tizen_view.h @@ -20,6 +20,8 @@ class TizenView : public TizenViewBase { TizenViewType GetType() override { return TizenViewType::kView; }; + virtual void Blur() = 0; + protected: explicit TizenView(int32_t width, int32_t height) : initial_width_(width), initial_height_(height) {} diff --git a/shell/platform/tizen/tizen_view_elementary.cc b/shell/platform/tizen/tizen_view_elementary.cc index e4ecd0bf266e8..6b1792fdc6153 100644 --- a/shell/platform/tizen/tizen_view_elementary.cc +++ b/shell/platform/tizen/tizen_view_elementary.cc @@ -243,7 +243,7 @@ void TizenViewElementary::RegisterEventHandlers() { void* event_info) { auto* self = reinterpret_cast(data); if (self->view_delegate_) { - if (self->event_layer_ == object) { + if (self->event_layer_ == object && self->has_focus_) { auto* key_event = reinterpret_cast(event_info); bool handled = false; key_event->event_flags = @@ -269,7 +269,7 @@ void TizenViewElementary::RegisterEventHandlers() { [](void* data, Evas* evas, Evas_Object* object, void* event_info) { auto* self = reinterpret_cast(data); if (self->view_delegate_) { - if (self->event_layer_ == object) { + if (self->event_layer_ == object && self->has_focus_) { auto* key_event = reinterpret_cast(event_info); bool handled = false; key_event->event_flags = Evas_Event_Flags(key_event->event_flags | @@ -290,6 +290,18 @@ void TizenViewElementary::RegisterEventHandlers() { evas_object_event_callback_add(event_layer_, EVAS_CALLBACK_KEY_UP, evas_object_callbacks_[EVAS_CALLBACK_KEY_UP], this); + + evas_object_smart_callback_add( + event_layer_, "focused", + [](void* data, Evas_Object* object, void* event_info) { + auto* self = reinterpret_cast(data); + if (self->view_delegate_) { + if (self->event_layer_ == object) { + self->has_focus_ = true; + } + } + }, + this); } void TizenViewElementary::UnregisterEventHandlers() { diff --git a/shell/platform/tizen/tizen_view_elementary.h b/shell/platform/tizen/tizen_view_elementary.h index 94e596c723b35..fbf67a0cf9ec9 100644 --- a/shell/platform/tizen/tizen_view_elementary.h +++ b/shell/platform/tizen/tizen_view_elementary.h @@ -37,6 +37,8 @@ class TizenViewElementary : public TizenView { void Show() override; + void Blur() override { has_focus_ = false; }; + private: bool CreateView(); @@ -58,6 +60,7 @@ class TizenViewElementary : public TizenView { std::vector ecore_event_key_handlers_; bool scroll_hold_ = false; + bool has_focus_ = false; }; } // namespace flutter diff --git a/shell/platform/tizen/tizen_view_nui.cc b/shell/platform/tizen/tizen_view_nui.cc index 2cb180738ec77..2077859409810 100644 --- a/shell/platform/tizen/tizen_view_nui.cc +++ b/shell/platform/tizen/tizen_view_nui.cc @@ -74,6 +74,10 @@ void TizenViewNui::RequestRendering() { rendering_callback_->Trigger(); } +void TizenViewNui::Blur() { + FT_UNIMPLEMENTED(); +} + void TizenViewNui::PrepareInputMethod() { input_method_context_ = std::make_unique(GetWindowId()); diff --git a/shell/platform/tizen/tizen_view_nui.h b/shell/platform/tizen/tizen_view_nui.h index 83d39e65e0f78..314b2a5e5bd71 100644 --- a/shell/platform/tizen/tizen_view_nui.h +++ b/shell/platform/tizen/tizen_view_nui.h @@ -42,6 +42,8 @@ class TizenViewNui : public TizenView { void RequestRendering(); + void Blur() override; + private: void RegisterEventHandlers(); From c71e3ab7b4c6c294cfce91364e033f17a2120cb6 Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Tue, 20 Sep 2022 18:14:24 +0900 Subject: [PATCH 2/6] Rename to Unfocus based on review comment Signed-off-by: Boram Bae --- shell/platform/tizen/channels/platform_channel.cc | 2 +- shell/platform/tizen/tizen_view.h | 2 +- shell/platform/tizen/tizen_view_elementary.h | 2 +- shell/platform/tizen/tizen_view_nui.cc | 2 +- shell/platform/tizen/tizen_view_nui.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/shell/platform/tizen/channels/platform_channel.cc b/shell/platform/tizen/channels/platform_channel.cc index 0585f4c6b7789..62d6f2e625982 100644 --- a/shell/platform/tizen/channels/platform_channel.cc +++ b/shell/platform/tizen/channels/platform_channel.cc @@ -161,7 +161,7 @@ void PlatformChannel::SystemNavigatorPop() { if (view_->GetType() == TizenViewType::kWindow) { ui_app_exit(); } else { - reinterpret_cast(view_)->Blur(); + reinterpret_cast(view_)->Unfocus(); } } diff --git a/shell/platform/tizen/tizen_view.h b/shell/platform/tizen/tizen_view.h index f9696e901b832..4626c4f016adb 100644 --- a/shell/platform/tizen/tizen_view.h +++ b/shell/platform/tizen/tizen_view.h @@ -20,7 +20,7 @@ class TizenView : public TizenViewBase { TizenViewType GetType() override { return TizenViewType::kView; }; - virtual void Blur() = 0; + virtual void Unfocus() = 0; protected: explicit TizenView(int32_t width, int32_t height) diff --git a/shell/platform/tizen/tizen_view_elementary.h b/shell/platform/tizen/tizen_view_elementary.h index fbf67a0cf9ec9..93a10f1ab8b14 100644 --- a/shell/platform/tizen/tizen_view_elementary.h +++ b/shell/platform/tizen/tizen_view_elementary.h @@ -37,7 +37,7 @@ class TizenViewElementary : public TizenView { void Show() override; - void Blur() override { has_focus_ = false; }; + void Unfocus() override { has_focus_ = false; }; private: bool CreateView(); diff --git a/shell/platform/tizen/tizen_view_nui.cc b/shell/platform/tizen/tizen_view_nui.cc index 2077859409810..55c1c48197434 100644 --- a/shell/platform/tizen/tizen_view_nui.cc +++ b/shell/platform/tizen/tizen_view_nui.cc @@ -74,7 +74,7 @@ void TizenViewNui::RequestRendering() { rendering_callback_->Trigger(); } -void TizenViewNui::Blur() { +void TizenViewNui::Unfocus() { FT_UNIMPLEMENTED(); } diff --git a/shell/platform/tizen/tizen_view_nui.h b/shell/platform/tizen/tizen_view_nui.h index 314b2a5e5bd71..1cb0e7998a31d 100644 --- a/shell/platform/tizen/tizen_view_nui.h +++ b/shell/platform/tizen/tizen_view_nui.h @@ -42,7 +42,7 @@ class TizenViewNui : public TizenView { void RequestRendering(); - void Blur() override; + void Unfocus() override; private: void RegisterEventHandlers(); From a89a7215633765803e2404ec3467fea5e6eaf134 Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Wed, 21 Sep 2022 10:38:08 +0900 Subject: [PATCH 3/6] Update based on review Signed-off-by: Boram Bae --- shell/platform/tizen/tizen_view_elementary.cc | 6 +++--- shell/platform/tizen/tizen_view_elementary.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/shell/platform/tizen/tizen_view_elementary.cc b/shell/platform/tizen/tizen_view_elementary.cc index 6b1792fdc6153..86fc2bc8b42da 100644 --- a/shell/platform/tizen/tizen_view_elementary.cc +++ b/shell/platform/tizen/tizen_view_elementary.cc @@ -243,7 +243,7 @@ void TizenViewElementary::RegisterEventHandlers() { void* event_info) { auto* self = reinterpret_cast(data); if (self->view_delegate_) { - if (self->event_layer_ == object && self->has_focus_) { + if (self->event_layer_ == object && self->focused_) { auto* key_event = reinterpret_cast(event_info); bool handled = false; key_event->event_flags = @@ -269,7 +269,7 @@ void TizenViewElementary::RegisterEventHandlers() { [](void* data, Evas* evas, Evas_Object* object, void* event_info) { auto* self = reinterpret_cast(data); if (self->view_delegate_) { - if (self->event_layer_ == object && self->has_focus_) { + if (self->event_layer_ == object && self->focused_) { auto* key_event = reinterpret_cast(event_info); bool handled = false; key_event->event_flags = Evas_Event_Flags(key_event->event_flags | @@ -297,7 +297,7 @@ void TizenViewElementary::RegisterEventHandlers() { auto* self = reinterpret_cast(data); if (self->view_delegate_) { if (self->event_layer_ == object) { - self->has_focus_ = true; + self->focused_ = true; } } }, diff --git a/shell/platform/tizen/tizen_view_elementary.h b/shell/platform/tizen/tizen_view_elementary.h index 93a10f1ab8b14..30068c40a27db 100644 --- a/shell/platform/tizen/tizen_view_elementary.h +++ b/shell/platform/tizen/tizen_view_elementary.h @@ -37,7 +37,7 @@ class TizenViewElementary : public TizenView { void Show() override; - void Unfocus() override { has_focus_ = false; }; + void Unfocus() override { focused_ = false; }; private: bool CreateView(); @@ -60,7 +60,7 @@ class TizenViewElementary : public TizenView { std::vector ecore_event_key_handlers_; bool scroll_hold_ = false; - bool has_focus_ = false; + bool focused_ = false; }; } // namespace flutter From 856e9a45a7c5d667d783a9720ad82b2defaf89df Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Wed, 21 Sep 2022 11:02:21 +0900 Subject: [PATCH 4/6] Add focused callback unregistration * Tidy up based on review. Signed-off-by: Boram Bae --- .../tizen/channels/platform_channel.h | 2 +- shell/platform/tizen/flutter_tizen_view.cc | 6 ++--- shell/platform/tizen/tizen_view_elementary.cc | 22 +++++++++---------- shell/platform/tizen/tizen_view_elementary.h | 1 + .../platform/tizen/tizen_window_elementary.h | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/shell/platform/tizen/channels/platform_channel.h b/shell/platform/tizen/channels/platform_channel.h index e3039d041314b..c75faa1d0e049 100644 --- a/shell/platform/tizen/channels/platform_channel.h +++ b/shell/platform/tizen/channels/platform_channel.h @@ -35,7 +35,7 @@ class PlatformChannel { std::unique_ptr> channel_; - // A reference to the window object managed by FlutterTizenView. + // A reference to the native view managed by FlutterTizenView. // This can be nullptr if the engine is running in headless mode. TizenViewBase* view_; }; diff --git a/shell/platform/tizen/flutter_tizen_view.cc b/shell/platform/tizen/flutter_tizen_view.cc index 38b15a7cf5961..eab7f64463293 100644 --- a/shell/platform/tizen/flutter_tizen_view.cc +++ b/shell/platform/tizen/flutter_tizen_view.cc @@ -73,16 +73,14 @@ void FlutterTizenView::SetEngine(std::unique_ptr engine) { // Set up window dependent channels. BinaryMessenger* messenger = internal_plugin_registrar_->messenger(); - platform_channel_ = - std::make_unique(messenger, tizen_view_.get()); - if (tizen_view_->GetType() == TizenViewType::kWindow) { auto* window = reinterpret_cast(tizen_view_.get()); window_channel_ = std::make_unique(messenger, window); } else { window_channel_ = std::make_unique(messenger, nullptr); } - + platform_channel_ = + std::make_unique(messenger, tizen_view_.get()); text_input_channel_ = std::make_unique( internal_plugin_registrar_->messenger(), tizen_view_->input_method_context()); diff --git a/shell/platform/tizen/tizen_view_elementary.cc b/shell/platform/tizen/tizen_view_elementary.cc index 86fc2bc8b42da..ceb5e16846836 100644 --- a/shell/platform/tizen/tizen_view_elementary.cc +++ b/shell/platform/tizen/tizen_view_elementary.cc @@ -291,17 +291,16 @@ void TizenViewElementary::RegisterEventHandlers() { evas_object_callbacks_[EVAS_CALLBACK_KEY_UP], this); - evas_object_smart_callback_add( - event_layer_, "focused", - [](void* data, Evas_Object* object, void* event_info) { - auto* self = reinterpret_cast(data); - if (self->view_delegate_) { - if (self->event_layer_ == object) { - self->focused_ = true; - } - } - }, - this); + focused_callback_ = [](void* data, Evas_Object* object, void* event_info) { + auto* self = reinterpret_cast(data); + if (self->view_delegate_) { + if (self->event_layer_ == object) { + self->focused_ = true; + } + } + }; + evas_object_smart_callback_add(event_layer_, "focused", focused_callback_, + this); } void TizenViewElementary::UnregisterEventHandlers() { @@ -324,6 +323,7 @@ void TizenViewElementary::UnregisterEventHandlers() { evas_object_callbacks_[EVAS_CALLBACK_KEY_DOWN]); evas_object_event_callback_del(event_layer_, EVAS_CALLBACK_KEY_UP, evas_object_callbacks_[EVAS_CALLBACK_KEY_UP]); + evas_object_smart_callback_del(event_layer_, "focused", focused_callback_); } TizenGeometry TizenViewElementary::GetGeometry() { diff --git a/shell/platform/tizen/tizen_view_elementary.h b/shell/platform/tizen/tizen_view_elementary.h index 30068c40a27db..1eff4f7e269d4 100644 --- a/shell/platform/tizen/tizen_view_elementary.h +++ b/shell/platform/tizen/tizen_view_elementary.h @@ -58,6 +58,7 @@ class TizenViewElementary : public TizenView { std::unordered_map evas_object_callbacks_; std::vector ecore_event_key_handlers_; + Evas_Smart_Cb focused_callback_ = nullptr; bool scroll_hold_ = false; bool focused_ = false; diff --git a/shell/platform/tizen/tizen_window_elementary.h b/shell/platform/tizen/tizen_window_elementary.h index aabb02cf8935b..5bff6a04a8102 100644 --- a/shell/platform/tizen/tizen_window_elementary.h +++ b/shell/platform/tizen/tizen_window_elementary.h @@ -65,7 +65,7 @@ class TizenWindowElementary : public TizenWindow { Evas_Object* elm_win_ = nullptr; Evas_Object* image_ = nullptr; - Evas_Smart_Cb rotation_changed_callback_; + Evas_Smart_Cb rotation_changed_callback_ = nullptr; std::unordered_map evas_object_callbacks_; }; From f5a674e843887d4042eb94ff9a6c064fc90e20f8 Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Wed, 21 Sep 2022 11:24:58 +0900 Subject: [PATCH 5/6] Update comments Signed-off-by: Boram Bae --- shell/platform/tizen/channels/platform_channel.h | 1 - shell/platform/tizen/channels/window_channel.h | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/shell/platform/tizen/channels/platform_channel.h b/shell/platform/tizen/channels/platform_channel.h index c75faa1d0e049..67d47e25d6ed1 100644 --- a/shell/platform/tizen/channels/platform_channel.h +++ b/shell/platform/tizen/channels/platform_channel.h @@ -36,7 +36,6 @@ class PlatformChannel { std::unique_ptr> channel_; // A reference to the native view managed by FlutterTizenView. - // This can be nullptr if the engine is running in headless mode. TizenViewBase* view_; }; diff --git a/shell/platform/tizen/channels/window_channel.h b/shell/platform/tizen/channels/window_channel.h index 78c01ee2b94a1..73ed2e19c413b 100644 --- a/shell/platform/tizen/channels/window_channel.h +++ b/shell/platform/tizen/channels/window_channel.h @@ -26,7 +26,7 @@ class WindowChannel { std::unique_ptr> channel_; - // A reference to the renderer object managed by FlutterTizenView. + // A reference to the native window managed by FlutterTizenView. TizenWindow* window_; }; From 1c042fe8d61d34081eed8f1e1783a9ea7cfe256f Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Wed, 21 Sep 2022 12:06:52 +0900 Subject: [PATCH 6/6] Update based on reivew Signed-off-by: Boram Bae --- shell/platform/tizen/tizen_view.h | 3 ++- shell/platform/tizen/tizen_view_elementary.h | 3 --- shell/platform/tizen/tizen_view_nui.cc | 4 ---- shell/platform/tizen/tizen_view_nui.h | 2 -- 4 files changed, 2 insertions(+), 10 deletions(-) diff --git a/shell/platform/tizen/tizen_view.h b/shell/platform/tizen/tizen_view.h index 4626c4f016adb..066ed8d3fd3d4 100644 --- a/shell/platform/tizen/tizen_view.h +++ b/shell/platform/tizen/tizen_view.h @@ -20,7 +20,7 @@ class TizenView : public TizenViewBase { TizenViewType GetType() override { return TizenViewType::kView; }; - virtual void Unfocus() = 0; + void Unfocus() { focused_ = false; }; protected: explicit TizenView(int32_t width, int32_t height) @@ -28,6 +28,7 @@ class TizenView : public TizenViewBase { int32_t initial_width_ = 0; int32_t initial_height_ = 0; + bool focused_ = false; }; } // namespace flutter diff --git a/shell/platform/tizen/tizen_view_elementary.h b/shell/platform/tizen/tizen_view_elementary.h index 1eff4f7e269d4..3c702a9893f42 100644 --- a/shell/platform/tizen/tizen_view_elementary.h +++ b/shell/platform/tizen/tizen_view_elementary.h @@ -37,8 +37,6 @@ class TizenViewElementary : public TizenView { void Show() override; - void Unfocus() override { focused_ = false; }; - private: bool CreateView(); @@ -61,7 +59,6 @@ class TizenViewElementary : public TizenView { Evas_Smart_Cb focused_callback_ = nullptr; bool scroll_hold_ = false; - bool focused_ = false; }; } // namespace flutter diff --git a/shell/platform/tizen/tizen_view_nui.cc b/shell/platform/tizen/tizen_view_nui.cc index 55c1c48197434..2cb180738ec77 100644 --- a/shell/platform/tizen/tizen_view_nui.cc +++ b/shell/platform/tizen/tizen_view_nui.cc @@ -74,10 +74,6 @@ void TizenViewNui::RequestRendering() { rendering_callback_->Trigger(); } -void TizenViewNui::Unfocus() { - FT_UNIMPLEMENTED(); -} - void TizenViewNui::PrepareInputMethod() { input_method_context_ = std::make_unique(GetWindowId()); diff --git a/shell/platform/tizen/tizen_view_nui.h b/shell/platform/tizen/tizen_view_nui.h index 1cb0e7998a31d..83d39e65e0f78 100644 --- a/shell/platform/tizen/tizen_view_nui.h +++ b/shell/platform/tizen/tizen_view_nui.h @@ -42,8 +42,6 @@ class TizenViewNui : public TizenView { void RequestRendering(); - void Unfocus() override; - private: void RegisterEventHandlers();