diff --git a/services/privacymanager/include/record/permission_record_manager.h b/services/privacymanager/include/record/permission_record_manager.h index 3e5dc20ff1525b745ea8b365738c85254cfe54b8..281c2613f0ea55840069ed4f8e2bc346331dbe57 100644 --- a/services/privacymanager/include/record/permission_record_manager.h +++ b/services/privacymanager/include/record/permission_record_manager.h @@ -56,6 +56,7 @@ public: void OnProcessDied(const ProcessData &processData) override; void OnAppStopped(const AppStateData &appStateData) override; void OnAppStateChanged(const AppStateData &appStateData) override; + void OnAppCacheStateChanged(const AppStateData &appStateData) override; DISALLOW_COPY_AND_MOVE(PrivacyAppStateObserver); }; diff --git a/services/privacymanager/src/record/permission_record_manager.cpp b/services/privacymanager/src/record/permission_record_manager.cpp index 5ad0b5bc7137aea0e48ca46641e0f2a2ba890798..31d6578b0082c649cbed17b6ac40d1ffff1b3bb0 100644 --- a/services/privacymanager/src/record/permission_record_manager.cpp +++ b/services/privacymanager/src/record/permission_record_manager.cpp @@ -141,6 +141,14 @@ void PrivacyAppStateObserver::OnProcessDied(const ProcessData &processData) PermissionRecordManager::GetInstance().RemoveRecordFromStartListByPid(processData.accessTokenId, processData.pid); } +void PrivacyAppStateObserver::OnAppCacheStateChanged(const AppStateData &appStateData) +{ + ACCESSTOKEN_LOG_INFO(LABEL, "TokenId is %{public}u, pid is %{public}d.", + appStateData.accessTokenId, appStateData.pid); + + PermissionRecordManager::GetInstance().RemoveRecordFromStartListByPid(appStateData.accessTokenId, appStateData.pid); +} + void PrivacyAppManagerDeathCallback::NotifyAppManagerDeath() { PermissionRecordManager::GetInstance().OnAppMgrRemoteDiedHandle();