diff --git a/interfaces/innerkits/src/bundle_active_client.cpp b/interfaces/innerkits/src/bundle_active_client.cpp index 7ddb46d3d86954219a792106ddf94f6e48ae2047..86a86e532da7a2c4b9659810f673123883a4ce32 100644 --- a/interfaces/innerkits/src/bundle_active_client.cpp +++ b/interfaces/innerkits/src/bundle_active_client.cpp @@ -17,12 +17,14 @@ namespace OHOS { namespace BundleActive { -BundleActiveClient& BundleActiveClient::GetInstance() { +BundleActiveClient& BundleActiveClient::GetInstance() +{ static BundleActiveClient instance; return instance; } -bool BundleActiveClient::GetBundleActiveProxy() { +bool BundleActiveClient::GetBundleActiveProxy() +{ sptr samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (samgr == nullptr) { BUNDLE_ACTIVE_LOGE("Failed to get SystemAbilityManager."); @@ -42,14 +44,18 @@ bool BundleActiveClient::GetBundleActiveProxy() { } return true; } -int BundleActiveClient::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId, const int& eventId) { +int BundleActiveClient::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId, const int& eventId) +{ if (!GetBundleActiveProxy()) { return -1; } return bundleActiveProxy->ReportEvent(bundleName, abilityName, abilityId, userId, eventId); } -int BundleActiveClient::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) { +int BundleActiveClient::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId) +{ if (!GetBundleActiveProxy()) { return -1; } @@ -62,6 +68,5 @@ int BundleActiveClient::Query(std::string& bundleName, std::string& abilityName, } return bundleActiveProxy->Query(bundleName, abilityName, abilityId, userId); } - } -} \ No newline at end of file +} diff --git a/interfaces/innerkits/src/bundle_active_proxy.cpp b/interfaces/innerkits/src/bundle_active_proxy.cpp index 4b941b8a46444ed530b9f96c274e666347af34d1..d19611d4ef48918f1f733980dc3e98ea634688af 100644 --- a/interfaces/innerkits/src/bundle_active_proxy.cpp +++ b/interfaces/innerkits/src/bundle_active_proxy.cpp @@ -17,7 +17,9 @@ namespace OHOS{ namespace BundleActive { -int BundleActiveProxy::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId, const int& eventId) { +int BundleActiveProxy::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId, const int& eventId) +{ MessageParcel data; MessageParcel reply; MessageOption option; @@ -32,7 +34,9 @@ int BundleActiveProxy::ReportEvent(std::string& bundleName, std::string& ability return result; } -int BundleActiveProxy::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) { +int BundleActiveProxy::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId) +{ MessageParcel data; MessageParcel reply; MessageOption option; @@ -46,7 +50,8 @@ int BundleActiveProxy::IsBundleIdle(std::string& bundleName, std::string& abilit return result; } -int BundleActiveProxy::Query(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) { +int BundleActiveProxy::Query(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) +{ MessageParcel data; MessageParcel reply; MessageOption option; @@ -60,4 +65,4 @@ int BundleActiveProxy::Query(std::string& bundleName, std::string& abilityName, return result; } } -} \ No newline at end of file +} diff --git a/services/common/include/bundle_active_user_service.h b/services/common/include/bundle_active_user_service.h index e26f22a118e37e01d01ae9355a046a020966cef8..ef43c9295a750bbc23f796d10279f08ef574c68a 100644 --- a/services/common/include/bundle_active_user_service.h +++ b/services/common/include/bundle_active_user_service.h @@ -35,7 +35,7 @@ private: bool statsChanged_; std::string lastBackgroundBundle_; inline static const std::vector PERIOD_LENGTH = {BundleActivePeriodStats::DAY_IN_MILLIS, BundleActivePeriodStats::WEEK_IN_MILLIS, - BundleActivePeriodStats::MONTH_IN_MILLIS, BundleActivePeriodStats::YEAR_IN_MILLIS}; + BundleActivePeriodStats::MONTH_IN_MILLIS, BundleActivePeriodStats::YEAR_IN_MILLIS}; void NotifyStatsChanged(); void ReportEvent(BundleActiveEvent event); }; diff --git a/services/common/src/bundle_active_event.cpp b/services/common/src/bundle_active_event.cpp index 592544512c3befd838365fabcc942d0046840063..722583a19a24c9796d87e28fd2c92fc137bd7c07 100644 --- a/services/common/src/bundle_active_event.cpp +++ b/services/common/src/bundle_active_event.cpp @@ -17,7 +17,8 @@ namespace OHOS { namespace BundleActive { -BundleActiveEvent::BundleActiveEvent (const BundleActiveEvent& orig) { +BundleActiveEvent::BundleActiveEvent (const BundleActiveEvent& orig) +{ bundleName_ = orig.bundleName_; abilityName_ = orig.abilityName_; abilityId_ = orig.abilityId_; @@ -26,32 +27,39 @@ BundleActiveEvent::BundleActiveEvent (const BundleActiveEvent& orig) { isIdle_ = orig.isIdle_; } -BundleActiveEvent::BundleActiveEvent(const int eventId, const int64_t timeStamp) { +BundleActiveEvent::BundleActiveEvent(const int eventId, const int64_t timeStamp) +{ eventId_ = eventId; timeStamp_ = timeStamp; } -std::string BundleActiveEvent::GetBundleName() { +std::string BundleActiveEvent::GetBundleName() +{ return bundleName_; } -std::string BundleActiveEvent::GetAbilityName() { +std::string BundleActiveEvent::GetAbilityName() +{ return abilityName_; } -int BundleActiveEvent::GetAbilityId() { +int BundleActiveEvent::GetAbilityId() +{ return abilityId_; } -int64_t BundleActiveEvent::GetTimeStamp() { +int64_t BundleActiveEvent::GetTimeStamp() +{ return timeStamp_; } -int BundleActiveEvent::GetEventId() { +int BundleActiveEvent::GetEventId() +{ return eventId_; } -bool BundleActiveEvent::GetIsIdle() { +bool BundleActiveEvent::GetIsIdle() +{ return isIdle_; } } diff --git a/services/common/src/bundle_active_event_list.cpp b/services/common/src/bundle_active_event_list.cpp index 1604dcc2caeac1c6c24007c5925f530ef58121b7..4c027dc3f30e82e84c9b68e7feeebd1a61ecd48d 100644 --- a/services/common/src/bundle_active_event_list.cpp +++ b/services/common/src/bundle_active_event_list.cpp @@ -17,19 +17,23 @@ namespace OHOS { namespace BundleActive { -BundleActiveEventList::BundleActiveEventList() { +BundleActiveEventList::BundleActiveEventList() +{ } -int BundleActiveEventList::Size() { +int BundleActiveEventList::Size() +{ return events_.size(); } -void BundleActiveEventList::Clear() { +void BundleActiveEventList::Clear() +{ events_.clear(); } -void BundleActiveEventList::Insert(BundleActiveEvent event) { +void BundleActiveEventList::Insert(BundleActiveEvent event) +{ int size = events_.size(); if (size == 0 || event.timeStamp_ >= events_.back().timeStamp_) { events_.push_back(event); @@ -39,7 +43,8 @@ void BundleActiveEventList::Insert(BundleActiveEvent event) { events_.insert(events_.begin() + insertIdx, event); } -int BundleActiveEventList::FindBestIndex(int64_t timeStamp) { +int BundleActiveEventList::FindBestIndex(int64_t timeStamp) +{ int size = events_.size(); int result = size; int lo = 0; @@ -57,11 +62,12 @@ int BundleActiveEventList::FindBestIndex(int64_t timeStamp) { return result; } -void BundleActiveEventList::Merge(const BundleActiveEventList& right) { +void BundleActiveEventList::Merge(const BundleActiveEventList& right) +{ int size = right.events_.size(); for (int i = 0; i < size; i++) { Insert(right.events_[i]); } } } -} \ No newline at end of file +} diff --git a/services/common/src/bundle_active_event_stats.cpp b/services/common/src/bundle_active_event_stats.cpp index f484b8dc04d2b0735e94faef44439cea66b85aa6..707564d5bbead6a4c3b01f20f24a068626476272 100644 --- a/services/common/src/bundle_active_event_stats.cpp +++ b/services/common/src/bundle_active_event_stats.cpp @@ -17,7 +17,8 @@ namespace OHOS { namespace BundleActive { -BundleActiveEventStats::BundleActiveEventStats(const BundleActiveEventStats& orig) { +BundleActiveEventStats::BundleActiveEventStats(const BundleActiveEventStats& orig) +{ eventId_ = orig.eventId_; beginTimeStamp_ = orig.beginTimeStamp_; endTimeStamp_ = orig.endTimeStamp_; @@ -26,31 +27,38 @@ BundleActiveEventStats::BundleActiveEventStats(const BundleActiveEventStats& ori count_ = orig.count_; } -int BundleActiveEventStats::GetEventId() { +int BundleActiveEventStats::GetEventId() +{ return eventId_; } -int BundleActiveEventStats::GetFirstTimeStamp() { +int BundleActiveEventStats::GetFirstTimeStamp() +{ return beginTimeStamp_; } -int BundleActiveEventStats::GetLastTimeStamp() { +int BundleActiveEventStats::GetLastTimeStamp() +{ return endTimeStamp_; } -int BundleActiveEventStats::GetLastEventTime() { +int BundleActiveEventStats::GetLastEventTime() +{ return lastEventTime_; } -int BundleActiveEventStats::GetTotalTime() { +int BundleActiveEventStats::GetTotalTime() +{ return totalTime_; } -int BundleActiveEventStats::GetCount() { +int BundleActiveEventStats::GetCount() +{ return count_; } -void BundleActiveEventStats::add(const BundleActiveEventStats& right) { +void BundleActiveEventStats::add(const BundleActiveEventStats& right) +{ if (eventId_ != right.eventId_) { return; } @@ -64,4 +72,4 @@ void BundleActiveEventStats::add(const BundleActiveEventStats& right) { count_ += right.count_; } } -} \ No newline at end of file +} diff --git a/services/common/src/bundle_active_event_tracker.cpp b/services/common/src/bundle_active_event_tracker.cpp index b0afe2e94708284e89efd912323cb4d6a2191caa..7735d72f2c38900253cec18dbe96378d528ececb 100644 --- a/services/common/src/bundle_active_event_tracker.cpp +++ b/services/common/src/bundle_active_event_tracker.cpp @@ -17,14 +17,16 @@ namespace OHOS { namespace BundleActive { -void BundleActiveEventTracker::CommitTime(const int64_t timeStamp) { +void BundleActiveEventTracker::CommitTime(const int64_t timeStamp) +{ if (curStartTime_ != 0) { duration_ += timeStamp - curStartTime_; curStartTime_ = 0; } } -void BundleActiveEventTracker::Update(int64_t timeStamp) { +void BundleActiveEventTracker::Update(int64_t timeStamp) +{ if (curStartTime_ == 0) { count_++; } @@ -33,7 +35,9 @@ void BundleActiveEventTracker::Update(int64_t timeStamp) { lastEventTime_ = timeStamp; } -void BundleActiveEventTracker::AddToEventStats(std::vector& eventStatsList, const int eventId, const int64_t beginTime, const int64_t endTime) { +void BundleActiveEventTracker::AddToEventStats(std::vector& eventStatsList, const int eventId, + const int64_t beginTime, const int64_t endTime) +{ if (count_ != 0 || duration_ != 0) { BundleActiveEventStats newEvent; newEvent.eventId_ = eventId; @@ -46,4 +50,4 @@ void BundleActiveEventTracker::AddToEventStats(std::vector lastTimeUsed_) { totalTimeInFront_ += timeStamp - lastTimeUsed_; lastTimeUsed_ = timeStamp; } } -void BundleActivePackageStats::IncrementLongTimeTaskTimeUsed(const int64_t timeStamp) { +void BundleActivePackageStats::IncrementLongTimeTaskTimeUsed(const int64_t timeStamp) +{ if (timeStamp > lastTimeLongTimeTaskUsed_) { totalTimeLongTimeTaskUsed_ += timeStamp - lastTimeLongTimeTaskUsed_; lastTimeLongTimeTaskUsed_ = timeStamp; } } -void BundleActivePackageStats::IncrementBundleLaunchedCount() { +void BundleActivePackageStats::IncrementBundleLaunchedCount() +{ bundleLaunchedCount_ += 1; } -void BundleActivePackageStats::UpdateAbility(const int64_t timeStamp, const int eventId, const int abilityId) { +void BundleActivePackageStats::UpdateAbility(const int64_t timeStamp, const int eventId, const int abilityId) +{ if (eventId != BundleActiveEvent::ABILITY_FOREGROUND && eventId != BundleActiveEvent::ABILITY_BACKGROUND && eventId != BundleActiveEvent::ABILITY_STOP) { return; @@ -136,7 +151,8 @@ void BundleActivePackageStats::UpdateAbility(const int64_t timeStamp, const int } void BundleActivePackageStats::UpdateLongTimeTask(std::string longTimeTaskName, - const int64_t timeStamp, const int eventId) { + const int64_t timeStamp, const int eventId) +{ if (eventId != BundleActiveEvent::LONG_TIME_TASK_STARTTED && eventId != BundleActiveEvent::LONG_TIME_TASK_STOPPED) { return; } @@ -168,7 +184,9 @@ void BundleActivePackageStats::UpdateLongTimeTask(std::string longTimeTaskName, } } -void BundleActivePackageStats::Update(std::string longTimeTaskName, const int64_t timeStamp, const int eventId, const int abilityId) { +void BundleActivePackageStats::Update(std::string longTimeTaskName, const int64_t timeStamp, const int eventId, + const int abilityId) +{ switch (eventId) { case BundleActiveEvent::ABILITY_FOREGROUND: case BundleActiveEvent::ABILITY_BACKGROUND: @@ -201,4 +219,4 @@ void BundleActivePackageStats::Update(std::string longTimeTaskName, const int64_ } } } -} \ No newline at end of file +} diff --git a/services/common/src/bundle_active_period_stats.cpp b/services/common/src/bundle_active_period_stats.cpp index 57a408e23b0d1141761436217deae069f600ac9a..7a9108a16c28b12a4da9896fb6cebccbe320f9e3 100644 --- a/services/common/src/bundle_active_period_stats.cpp +++ b/services/common/src/bundle_active_period_stats.cpp @@ -18,7 +18,8 @@ namespace OHOS { namespace BundleActive { -BundleActivePackageStats& BundleActivePeriodStats::GetOrCreateUsageStats(std::string bundleName) { +BundleActivePackageStats& BundleActivePeriodStats::GetOrCreateUsageStats(std::string bundleName) +{ std::map::iterator it; it = bundleStats_.find(bundleName); if (it == bundleStats_.end()) { @@ -31,7 +32,9 @@ BundleActivePackageStats& BundleActivePeriodStats::GetOrCreateUsageStats(std::st return bundleStats_[bundleName]; } -void BundleActivePeriodStats::Update(std::string bundleName, std::string longTimeTaskName, const int64_t timeStamp, const int eventId, const int abilityId) { +void BundleActivePeriodStats::Update(std::string bundleName, std::string longTimeTaskName, const int64_t timeStamp, + const int eventId, const int abilityId) +{ if (eventId == BundleActiveEvent::DEVICE_SHUTDOWN || eventId == BundleActiveEvent::FLUSH_TO_DISK) { for (auto usageStatsPair : bundleStats_) { usageStatsPair.second.Update("", timeStamp, eventId, abilityId); @@ -45,7 +48,8 @@ void BundleActivePeriodStats::Update(std::string bundleName, std::string longTim } } -void BundleActivePeriodStats::AddEvent(BundleActiveEvent event) { +void BundleActivePeriodStats::AddEvent(BundleActiveEvent event) +{ event.bundleName_ = GetCachedString(event.bundleName_); if (!event.longTimeTaskName_.empty()) { event.longTimeTaskName_ = GetCachedString(event.longTimeTaskName_); @@ -56,29 +60,34 @@ void BundleActivePeriodStats::AddEvent(BundleActiveEvent event) { } } -void BundleActivePeriodStats::CommitTime(const int64_t timeStamp) { +void BundleActivePeriodStats::CommitTime(const int64_t timeStamp) +{ interactiveTracker_.CommitTime(timeStamp); noninteractiveTracker_.CommitTime(timeStamp); keyguardShownTracker_.CommitTime(timeStamp); keyguardHiddenTracker_.CommitTime(timeStamp); } -void BundleActivePeriodStats::UpdateScreenInteractive(const int64_t timeStamp) { +void BundleActivePeriodStats::UpdateScreenInteractive(const int64_t timeStamp) +{ interactiveTracker_.Update(timeStamp); noninteractiveTracker_.CommitTime(timeStamp); } -void BundleActivePeriodStats::UpdateScreenNonInteractive(const int64_t timeStamp) { +void BundleActivePeriodStats::UpdateScreenNonInteractive(const int64_t timeStamp) +{ noninteractiveTracker_.Update(timeStamp); interactiveTracker_.CommitTime(timeStamp); } -void BundleActivePeriodStats::UpdateKeyguardShown(const int64_t timeStamp) { +void BundleActivePeriodStats::UpdateKeyguardShown(const int64_t timeStamp) +{ keyguardShownTracker_.Update(timeStamp); keyguardHiddenTracker_.CommitTime(timeStamp); } -void BundleActivePeriodStats::UpdateKeyguardHidden(const int64_t timeStamp) { +void BundleActivePeriodStats::UpdateKeyguardHidden(const int64_t timeStamp) +{ keyguardHiddenTracker_.Update(timeStamp); keyguardShownTracker_.CommitTime(timeStamp); } @@ -90,7 +99,8 @@ void BundleActivePeriodStats::AddEventStatsTo(std::vector::iterator it; it = packetNamesCache_.find(str); if (it == packetNamesCache_.end()) { @@ -99,6 +109,5 @@ std::string BundleActivePeriodStats::GetCachedString(std::string str) { } return *it; } - } -} \ No newline at end of file +} diff --git a/services/common/src/bundle_active_user_service.cpp b/services/common/src/bundle_active_user_service.cpp index 3c0f90cc3b1bef3237cfd459ea082207fed28f98..293367ddde003fa0e5289483af0725e470b00864 100644 --- a/services/common/src/bundle_active_user_service.cpp +++ b/services/common/src/bundle_active_user_service.cpp @@ -17,20 +17,22 @@ namespace OHOS { namespace BundleActive { -BundleActiveUserService::BundleActiveUserService(int userId){//,/*database定义待补充*/ BundleActiveService listener/*刷数据库监听器接口实现类*/) { +BundleActiveUserService::BundleActiveUserService(int userId) +{ currentStats_.reserve(BundleActivePeriodStats::PERIOD_COUNT); - //m_listener = listener; userId_ = userId; statsChanged_ = false; } -void BundleActiveUserService::NotifyStatsChanged() { +void BundleActiveUserService::NotifyStatsChanged() +{ if (!statsChanged_) { statsChanged_ = true; } } -void BundleActiveUserService::ReportEvent(BundleActiveEvent event) { +void BundleActiveUserService::ReportEvent(BundleActiveEvent event) +{ BundleActivePeriodStats currentDailyStats = currentStats_[BundleActivePeriodStats::PERIOD_DAILY]; if (event.eventId_ == BundleActiveEvent::ABILITY_FOREGROUND) { if (!event.bundleName_.empty() && event.bundleName_ != lastBackgroundBundle_) { @@ -66,4 +68,4 @@ void BundleActiveUserService::ReportEvent(BundleActiveEvent event) { } } } -} \ No newline at end of file +} diff --git a/services/include/bundle_active_iservice.h b/services/include/bundle_active_iservice.h index 910166efc7e616f86c16ea9a40e4ebaed6835c50..2f77dc50f1ad4dbef984b668da2c398cc6466b98 100644 --- a/services/include/bundle_active_iservice.h +++ b/services/include/bundle_active_iservice.h @@ -52,5 +52,4 @@ public: }; } } - #endif \ No newline at end of file diff --git a/services/include/bundle_active_service.h b/services/include/bundle_active_service.h index 343eada3285315504bc0492af0be634af09e401c..537c899dc58d24fb835b128da5d523c392466aa1 100644 --- a/services/include/bundle_active_service.h +++ b/services/include/bundle_active_service.h @@ -21,12 +21,12 @@ namespace OHOS { namespace BundleActive { - class BundleActiveService : public SystemAbility, public BundleActiveStub { DECLARE_SYSTEM_ABILITY(BundleActiveService); public: - int ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId, const int& eventId) override; + int ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId, const int& eventId) override; int IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) override; int Query(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) override; BundleActiveService(int32_t systemAbilityId, int runOnCreate) diff --git a/services/include/bundle_active_stub.h b/services/include/bundle_active_stub.h index 5b1843da9510199ede9f49117cacfd7912973e53..ad1521730d16c96c25851c6d6a90f27cee9c81d3 100644 --- a/services/include/bundle_active_stub.h +++ b/services/include/bundle_active_stub.h @@ -20,7 +20,6 @@ namespace OHOS { namespace BundleActive { - class BundleActiveStub : public IRemoteStub { public: virtual int32_t OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel &reply, MessageOption &option) override; diff --git a/services/src/bundle_active_service.cpp b/services/src/bundle_active_service.cpp index 84c9d3d17124d0a3b4e91b63b19bfee4dae78f2a..5673d570d974ba11cb6c6aae990a6157f908bb1a 100644 --- a/services/src/bundle_active_service.cpp +++ b/services/src/bundle_active_service.cpp @@ -34,19 +34,25 @@ void BundleActiveService::OnStop() BUNDLE_ACTIVE_LOGI("[Server] OnStop"); } -int BundleActiveService::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId, const int& eventId) { +int BundleActiveService::ReportEvent(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId, const int& eventId) +{ BUNDLE_ACTIVE_LOGI("Report event called"); - return 111; + return 0; } -int BundleActiveService::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) { +int BundleActiveService::IsBundleIdle(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId) +{ BUNDLE_ACTIVE_LOGI("Is bundle active called"); return true; } -int BundleActiveService::Query(std::string& bundleName, std::string& abilityName, const int& abilityId, const int& userId) { +int BundleActiveService::Query(std::string& bundleName, std::string& abilityName, const int& abilityId, + const int& userId) +{ BUNDLE_ACTIVE_LOGI("Query called"); - return 222; + return 0; +} } } -} \ No newline at end of file diff --git a/services/src/bundle_active_stub.cpp b/services/src/bundle_active_stub.cpp index f1caeecbb585055fd27c168aff2c7943efc8277f..b9f333a6e3b26d78848ef71ee4b7eae335782454 100644 --- a/services/src/bundle_active_stub.cpp +++ b/services/src/bundle_active_stub.cpp @@ -18,7 +18,9 @@ namespace OHOS { namespace BundleActive { -int32_t BundleActiveStub::OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel &reply, MessageOption &option) { +int32_t BundleActiveStub::OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel &reply, + MessageOption &option) +{ switch(code) { case REPORT_EVENT: { std::string bundleName = data.ReadString(); @@ -51,4 +53,4 @@ int32_t BundleActiveStub::OnRemoteRequest(uint32_t code, MessageParcel& data, Me } } } -} \ No newline at end of file +}