commit | 11721e798c13394eeb5164da2ae18c41f2fb6731 | [log] [tgz] |
---|---|---|
author | Gabriel Schine <thatguy@google.com> | Wed Jan 02 21:33:05 2019 -0800 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Thu Jan 03 22:28:51 2019 +0000 |
tree | 9387e7614692ba5de9c1794095e5ded699130f0e | |
parent | cce3dd8b719c1d06526262fae1e5de5a9e921256 [diff] |
[sessionmgr][refactor] Use StoryModel/Systems for StoryVisibilityState. Also: * Use pass-through NoopStoryModelStorage, which will be in use until we implement a ledger-backed system and after that whenever we don't want a particular story in the ledger. * Plumb everything into StoryControllerImpl and StoryProviderImpl. * Simplify StoryProviderImpl.NotifyStoryStateChange() In this change you can see how trivial policy logic (when a Module requests to change the story visibility state, should we honor it?) is broken out into its own system and unit-tested in isolation of other classes. TEST=story_runtime_unittest,story_visibility_system_unittest,integration tests MF-89 #comment [sessionmgr][refactor] Use StoryModel for StoryVisibilityState. MF-106 #comment [sessionmgr][refactor] Use StoryModel for StoryVisibilityState. MF-106 #done Change-Id: I8263288cb442ee27a7e3a297947a4ef4399a1cf8
Peridot is a framework for composed, intelligent and distributed user experiences.
Applications not explicitly designed to interoperate (and possibly implemented in different programming languages) are ephemerally downloaded and dynamically composed to run in a shared context. The framework manages application lifecycle, resources and view hierarchy; and well as context and suggestion infrastructure.
State of Peridot experiences is transparently synchronized across user devices using a distributed offline-first storage system.