From: SukHyung, Kang Date: Wed, 20 Mar 2019 09:35:39 +0000 (+0900) Subject: Add Api for ItemInfo X-Git-Tag: accepted/tizen/unified/20190327.160606~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a460b65b18e473114d688b2502a46b6a4dd35dfa;p=platform%2Fcore%2Fapi%2Fnotification.git Add Api for ItemInfo Change-Id: Ib51ef18a4d286d3b7a787c7b11f7fc9a4bcb7ce0 Signed-off-by: SukHyung, Kang --- diff --git a/notification-ex/abstract_item.cc b/notification-ex/abstract_item.cc index 5c1f0f2..6b625b8 100644 --- a/notification-ex/abstract_item.cc +++ b/notification-ex/abstract_item.cc @@ -35,7 +35,6 @@ #define ABSTRACT_ITEM_TYPE_KEY "__ABSTRACT_ITEM_TYPE_KEY__" #define ABSTRACT_ITEM_ID_KEY "__ABSTRACT_ITEM_ID_KEY__" #define ABSTRACT_ITEM_UID_KEY "__ABSTRACT_ITEM_UID_KEY__" -#define ABSTRACT_ITEM_REQUEST_ID_KEY "__ABSTRACT_ITEM_REQUEST_ID_KEY__" #define ABSTRACT_ITEM_TIME_KEY "__ABSTRACT_ITEM_TIME_KEY__" #define ABSTRACT_ITEM_SENDER_APPID_KEY "__ABSTRACT_ITEM_SENDER_APPID_KEY__" #define ABSTRACT_ITEM_CHANNEL_KEY "__ABSTRACT_ITEM_CHANNEL_KEY__" @@ -70,6 +69,7 @@ #define ABSTRACT_ITEM_LED_COLOR_B_KEY "__ABSTRACT_ITEM_LED_COLOR_B_KEY__" #define ABSTRACT_ITEM_LED_IS_EXIST_KEY "__ABSTRACT_ITEM_LED_IS_EXIST_KEY__" #define ABSTRACT_ITEM_ACTION_KEY "__ABSTRACT_ITEM_ACTION_KEY__" +#define ABSTRACT_ITEM_HIDE_VIEWER_KEY "__ABSTRACT_ITEM_HIDE_VIEWER_KEY__" #define ABSTRACT_ITEM_TRUE "TRUE" using namespace std; @@ -132,7 +132,6 @@ Bundle AbstractItem::Serialize() const { b.Add(ABSTRACT_ITEM_HIDE_TIME_KEY, to_string(impl_->hide_time_)); b.Add(ABSTRACT_ITEM_DELETE_TIME_KEY, to_string(impl_->delete_time_)); b.Add(ABSTRACT_ITEM_UID_KEY, to_string(impl_->uid_)); - b.Add(ABSTRACT_ITEM_REQUEST_ID_KEY, to_string(impl_->request_id_)); timeinfo = localtime(&impl_->time_); strftime (buf, sizeof(buf), "%s", timeinfo); @@ -148,9 +147,7 @@ Bundle AbstractItem::Serialize() const { b.Add(ABSTRACT_ITEM_VIBRATION_PATH_KEY, impl_->vibration_path_); b.Add(ABSTRACT_ITEM_VISIBLE_KEY, to_string((int)impl_->visible_)); - b.Add(ABSTRACT_ITEM_ENABLE_KEY, to_string((int)impl_->enable_)); - b.Add(ABSTRACT_ITEM_POLICY_KEY, to_string((int)impl_->policy_)); if (impl_->receiver_group_list_.size() != 0) { @@ -209,6 +206,17 @@ Bundle AbstractItem::Serialize() const { reinterpret_cast(impl_->action_->Serialize().ToRaw().first.get())); } + if (impl_->hide_viewer_list_.size() != 0) { + vector arr; + + for (auto& i : impl_->hide_viewer_list_) { + string viewer = i; + + arr.push_back(viewer); + } + b.Add(ABSTRACT_ITEM_HIDE_VIEWER_KEY, arr); + } + return b; } @@ -230,7 +238,6 @@ void AbstractItem::Deserialize(Bundle b) { impl_->sound_path_ = b.GetString(ABSTRACT_ITEM_SOUND_PATH_KEY); impl_->vibration_path_ = b.GetString(ABSTRACT_ITEM_VIBRATION_PATH_KEY); impl_->uid_ = stoi(b.GetString(ABSTRACT_ITEM_UID_KEY)); - impl_->request_id_ = stoi(b.GetString(ABSTRACT_ITEM_REQUEST_ID_KEY)); time_s = b.GetString(ABSTRACT_ITEM_TIME_KEY); strptime(time_s.c_str(), "%s", &timeinfo); @@ -244,10 +251,9 @@ void AbstractItem::Deserialize(Bundle b) { impl_->enable_ = (bool)stoi(b.GetString(ABSTRACT_ITEM_ENABLE_KEY)); - vector str_arr = b.GetStringArray(ABSTRACT_ITEM_RECEIVER_GROUP_KEY); - - if (str_arr.size() != 0) { - for (string str : str_arr) { + vector receiver_group = b.GetStringArray(ABSTRACT_ITEM_RECEIVER_GROUP_KEY); + if (receiver_group.size() != 0) { + for (string str : receiver_group) { impl_->receiver_group_list_.push_back(str); } } @@ -285,9 +291,15 @@ void AbstractItem::Deserialize(Bundle b) { } string action_str = b.GetString(ABSTRACT_ITEM_ACTION_KEY); - if (!action_str.empty()) impl_->action_ = ActionInflator::Create(Bundle(action_str)); + + vector hide_viewer = b.GetStringArray(ABSTRACT_ITEM_HIDE_VIEWER_KEY); + if (hide_viewer.size() != 0) { + for (string str : hide_viewer) { + impl_->hide_viewer_list_.push_back(str); + } + } } string AbstractItem::GetId() const { @@ -402,17 +414,5 @@ void AbstractItem::SetSenderAppId(std::string sender_appid) { impl_->sender_appid_ = sender_appid; } -time_t AbstractItem::GetTime() { - return impl_->time_; -} - -int AbstractItem::GetUid() { - return impl_->uid_; -} - -void AbstractItem::SetUid(int uid) { - impl_->uid_ = uid; -} - } // namespace item } // namespace notification diff --git a/notification-ex/abstract_item.h b/notification-ex/abstract_item.h index dd8bf24..98d3ad2 100644 --- a/notification-ex/abstract_item.h +++ b/notification-ex/abstract_item.h @@ -255,9 +255,6 @@ class EXPORT_API AbstractItem { void SetSenderAppId(std::string sender_appid); std::string GetTag(); void SetTag(); - time_t GetTime(); - int GetUid(); - void SetUid(int uid); private: class Impl; diff --git a/notification-ex/iitem_info.h b/notification-ex/iitem_info.h index b6b096b..e1e40ff 100644 --- a/notification-ex/iitem_info.h +++ b/notification-ex/iitem_info.h @@ -17,14 +17,19 @@ #ifndef NOTIFICATION_EX_IITEM_INFO_H_ #define NOTIFICATION_EX_IITEM_INFO_H_ +#include + namespace notification { namespace item { class EXPORT_API IItemInfo { public: virtual ~IItemInfo() = default; - virtual int GetVersion() const = 0; - virtual void SetVersion(int ver) = 0; + virtual int GetHideTime() const = 0; + virtual void SetHideTime(int hide_time) = 0; + virtual int GetDeleteTime() const = 0; + virtual void SetDeleteTime(int delete_time) = 0; + virtual time_t GetTime() const = 0; }; } // namespace item diff --git a/notification-ex/iitem_info_internal.h b/notification-ex/iitem_info_internal.h index cf584e5..39b22b0 100644 --- a/notification-ex/iitem_info_internal.h +++ b/notification-ex/iitem_info_internal.h @@ -29,13 +29,13 @@ namespace item { class EXPORT_API IItemInfoInternal : public IItemInfo { public: virtual ~IItemInfoInternal() = default; - virtual void SetHideTime(int hide_time) = 0; - virtual int GetHideTime() const = 0; - virtual void SetDeleteTime(int delete_time) = 0; - virtual int GetDeleteTime() const = 0; + virtual int GetUid() const = 0; + virtual void SetUid(int uid) = 0; + virtual int GetVersion() const = 0; + virtual void SetVersion(int ver) = 0; virtual void AddHideViewer(std::string appid) = 0; - virtual void RemoveHideViewer(std::string appid) = 0; virtual std::list GetHideViewerList() const = 0; + virtual void SetTime(time_t time) = 0; }; } // namespace item diff --git a/notification-ex/item_info.cc b/notification-ex/item_info.cc index 13cfd0b..94a900c 100644 --- a/notification-ex/item_info.cc +++ b/notification-ex/item_info.cc @@ -33,6 +33,21 @@ namespace item { AbstractItem::Impl::ItemInfo::ItemInfo(AbstractItem::Impl* impl) : impl_(impl) { } +int AbstractItem::Impl::ItemInfo::GetUid() const { + return impl_->uid_; +} + +void AbstractItem::Impl::ItemInfo::SetUid(int uid) { + impl_->uid_ = uid; +} + +time_t AbstractItem::Impl::ItemInfo::GetTime() const { + return impl_->time_; +} + +void AbstractItem::Impl::ItemInfo::SetTime(time_t time) { + impl_->time_ = time; +} int AbstractItem::Impl::ItemInfo::GetVersion() const { return impl_->version_; @@ -67,10 +82,6 @@ void AbstractItem::Impl::ItemInfo::AddHideViewer(std::string appid) { impl_->hide_viewer_list_.push_back(appid); } -void AbstractItem::Impl::ItemInfo::RemoveHideViewer(std::string appid) { - impl_->hide_viewer_list_.remove(appid); -} - std::list AbstractItem::Impl::ItemInfo::GetHideViewerList() const { return impl_->hide_viewer_list_; } diff --git a/notification-ex/item_info_internal.h b/notification-ex/item_info_internal.h index 10b0c4f..fad736d 100644 --- a/notification-ex/item_info_internal.h +++ b/notification-ex/item_info_internal.h @@ -27,6 +27,10 @@ class AbstractItem::Impl::ItemInfo : public IItemInfoInternal { public: ItemInfo(AbstractItem::Impl* impl); virtual ~ItemInfo() = default; + int GetUid() const override; + void SetUid(int uid) override; + time_t GetTime() const override; + void SetTime(time_t time) override; int GetVersion() const override; void SetVersion(int ver) override; void SetHideTime(int hide_time) override; @@ -34,7 +38,6 @@ class AbstractItem::Impl::ItemInfo : public IItemInfoInternal { void SetDeleteTime(int delete_time) override; int GetDeleteTime() const override; void AddHideViewer(std::string appid) override; - void RemoveHideViewer(std::string appid) override; std::list GetHideViewerList() const override; private: diff --git a/unittest/src/test_abstract_item.cc b/unittest/src/test_abstract_item.cc index f66f1ec..252340b 100644 --- a/unittest/src/test_abstract_item.cc +++ b/unittest/src/test_abstract_item.cc @@ -84,6 +84,7 @@ TEST_F(AbstractItemTest, SerializeDeserialize) { /* Serialize */ app_control_h app_control; char* app_id = NULL; + time_t current_time; app_control_create(&app_control); app_control_set_app_id(app_control, "new_appid"); @@ -101,16 +102,21 @@ TEST_F(AbstractItemTest, SerializeDeserialize) { item.SetEnable(false); item.AddReceiver("receiver_1"); item.AddReceiver("receiver_2"); + std::static_pointer_cast(item.GetInfo())->AddHideViewer("hide_1"); + std::static_pointer_cast(item.GetInfo())->AddHideViewer("hide_2"); item.SetPolicy(AbstractItem::Policy::OnBootClear); - item.GetInfo()->SetVersion(3); - std::static_pointer_cast(item.GetInfo())->SetHideTime(5); - std::static_pointer_cast(item.GetInfo())->SetDeleteTime(9); + std::static_pointer_cast(item.GetInfo())->SetVersion(3); + item.GetInfo()->SetHideTime(5); + item.GetInfo()->SetDeleteTime(9); item.SetChannel("channel99"); item.SetSoundPath("soundpath"); item.SetVibrationPath("vibrationpath"); - item.SetUid(3); + std::static_pointer_cast(item.GetInfo())->SetUid(3); item.SetSenderAppId("sender"); + time(¤t_time); + std::static_pointer_cast(item.GetInfo())->SetTime(current_time); + Color color2(150, 160, 170, 180); std::shared_ptr led = std::make_shared(color2); @@ -127,18 +133,18 @@ TEST_F(AbstractItemTest, SerializeDeserialize) { ASSERT_EQ(gen_test->GetId(), "test_id"); ASSERT_EQ(gen_test->GetType(), MY_ITEM_TYPE); - ASSERT_EQ(gen_test->GetUid(), 3); + ASSERT_EQ(std::static_pointer_cast(gen_test->GetInfo())->GetUid(), 3); ASSERT_EQ(gen_test->GetEnable(), false); ASSERT_EQ(gen_test->GetVisible(),false); ASSERT_EQ(gen_test->GetPolicy(), AbstractItem::Policy::OnBootClear); - ASSERT_EQ(gen_test->GetInfo()->GetVersion(), 3); - ASSERT_EQ(std::static_pointer_cast(gen_test->GetInfo())->GetHideTime(), 5); - ASSERT_EQ(std::static_pointer_cast(gen_test->GetInfo())->GetDeleteTime(), 9); + ASSERT_EQ(std::static_pointer_cast(gen_test->GetInfo())->GetVersion(), 3); + ASSERT_EQ(gen_test->GetInfo()->GetHideTime(), 5); + ASSERT_EQ(gen_test->GetInfo()->GetDeleteTime(), 9); ASSERT_EQ(gen_test->GetChannel(), "channel99"); ASSERT_EQ(gen_test->GetSoundPath(), "soundpath"); ASSERT_EQ(gen_test->GetVibrationPath(), "vibrationpath"); ASSERT_EQ(gen_test->GetSenderAppId(), "sender"); - ASSERT_EQ(gen_test->GetTime(), 0); + ASSERT_EQ(gen_test->GetInfo()->GetTime(), current_time); ASSERT_EQ(gen_test->GetStyle()->GetPadding().GetLeft(), 10); ASSERT_EQ(gen_test->GetStyle()->GetPadding().GetTop(), 20); @@ -173,6 +179,19 @@ TEST_F(AbstractItemTest, SerializeDeserialize) { receiver2.pop_front(); } + std::list hide1 = + std::static_pointer_cast(item.GetInfo())->GetHideViewerList(); + std::list hide2 = + std::static_pointer_cast(gen_test->GetInfo())->GetHideViewerList(); + + ASSERT_EQ(hide1.size(), hide2.size()); + + for (unsigned int i = 0; i < hide1.size(); i++) { + ASSERT_EQ(hide1.front(), hide2.front()); + hide1.pop_front(); + hide2.pop_front(); + } + ASSERT_EQ(gen_test->GetAction()->GetType(), AbstractAction::Type::AppControl); std::shared_ptr ac =