RxFeedback.kt
RxFeedback.kt copied to clipboard
share data between 2 flows
If I have 2 flows each one has its State and Event. How can I pass an object from flow 1 to flow2. Not using bundle or intents of android.
What do you mean by flow? A state machine?
On Fri, Aug 2, 2019, 09:13 eliomaroun [email protected] wrote:
If I have 2 flows each one has its State and Event. How can I pass an object from flow 1 to flow2. Not using bundle or intents of android.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NoTests/RxFeedback.kt/issues/8?email_source=notifications&email_token=ABTW25IZZ4GGAQMHLFE3KHLQCPNANA5CNFSM4II3BNM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HC7V73A, or mute the thread https://github.com/notifications/unsubscribe-auth/ABTW25K4XNOQMXAHMNAWFV3QCPNANANCNFSM4II3BNMQ .
Yes I have 2 state machines. The first state machine contains a list of issues and it contains an event openIssue which will mutate the state . This mutation will lead to the start of a new state machine which contains the issue detail. The initial state should take the Issue object to represent it on the UI.
Well seems like a standard state machine composition case — you have the main state machine A with State<A> and Event<A> and a state machine B (with State<B> and Event<B>) that is built in a feedback loop of the state machine A — the result of state machine B (State<B>) can be converted to Event<A> and fed back as input to state machine A.
So, a particular State<A> will trigger a feedback loop that will start state machine B which will do whatever there needs to be done and map the State<B> to Event<A>.
Event<A> can change the state to something else (which will kill the state machine B) or it can change the current state properties (which will not kill the state machine B) depending on your needs.
It’s high level but I hope it helps.
On Fri, 2 Aug 2019 at 14:58, eliomaroun [email protected] wrote:
Yes I have 2 state machines. The first state machine contains a list of issues and it contains an event openIssue which will mutate the state . This mutation will lead to the start of a new state machine which contains the issue detail. The initial state should take the Issue object to represent it on the UI.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/NoTests/RxFeedback.kt/issues/8?email_source=notifications&email_token=ABTW25MKCV2DKHREGN44C7LQCQVOXA5CNFSM4II3BNM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3NVH3A#issuecomment-517690348, or mute the thread https://github.com/notifications/unsubscribe-auth/ABTW25KYY2UQRGCZHSP6VDDQCQVOXANCNFSM4II3BNMQ .
-- Pozdrav,
Marko
I found the solution using this library where you can have many state machines and communicate between them https://github.com/eliekarouz/FeedbackTree