Hi, If you want activities to be talking to each other, one way of achieving them is via encapsulating the data in the Place, as mentioned above.
Imagine a complex application, where in a lot of objects are required by different activities. In events like that, you have to pass on all the required objects through Place(s). Which is kind of chain, where sometimes, some values have to be passed just to enable the construction of all the possible places/activities that could be triggered from there.
A simple solution on that case could be to have a singleton value store, and use it for value types.
@Singleton
public class ValueStore {
private Map<String, Object> values = new HashMap<String, Object>();
public Object getValue(String key) {
return values.get(key);
}
public void putValue(String key, Object value) {
values.put(key, value);
}
public boolean hasValue(String key) {
return values.containsKey(key);
}
}
Such that the data populated in one activity could be consumed by a host of other related activities.
Just another way of achieving the same!