Skip to content

MessageOnTap Developer Document

Mars edited this page Jul 30, 2017 · 11 revisions

Activity/Service Name: Show Bubble

Service Type: BackGround Service

Service/Activity Category (UI/ PG/ Action Service/ Semantic Understanding): UI Service

Service/Activity Functionality: Display the

Service/Activity Request Data:(In a HashMap)

1.  HashMap Key: BUBBLE_FIRST_LINE          	Data content : (String)                     	

Description: The first line of the Bubble

2.  HashMap Key: BUBBLE_SECOND_LINE          	Data content : (String)                     	

Description: The second line of the Bubble

3.  HashMap Key: QUERY_ID          		Data content : (Long)                     	

Description: The ID represent which query( which would relate to a Session Id and its task Id)

4.  HashMap Key: BUBBLE_POSITION    		Data content : (Long)                    	

Description: The Vertical Position of the screen where the Bubble should be Shown

5.  HashMap Key: ICON_STRING          		Data content : (String)                     	

Description: The Message ID use to retrieve the specific Icon from Local

Service/Activity Response Data:(In a HashMfap)

1. HashMap Key: QUERY_ID          		Data content : (Long)                     	

Description: The ID represent which query( which would relate to a Session Id and its task Id)

2. HashMap Key: BUBBLE_STATUS        		Data content : (Integer)                     	

Description: The status related how the Bubble was activated (1 for clicked, 2 for manualDismiss and 3 for autoDismiss)


PluginData:

Object Tag: The customized tags developer could add to the Message Processing Part of the program to access some

extra data and our default Data

	Contained Data:
		1.String name
		2.Set<String> regularExpressionList

	Method:
		1.setName(String name)
		2.setRegularExpression(Set<String> regularExpressionList)
		3.String getName();
		4.Set<String> getRegularExpressionList;


------------------------------------------------------------------------------------------------------------------------

Trigger:

 Description: Condition Statement which activates related plugin, It decides whether those Mandatory Tags and 
 	   Optional Tags follow specific Constraint and the ParseTree fits Mood or Direction or Both of them.
Contained Data:
	1.String name
	2.Set<String> mMandatoryTags 
	
	
	Optional Data:
	3.Set<String> mOptionalTags 		Description: The optional tags which may or may not appear in the syntax tree.
	4.Set<Constraint>constraints		Description: The constraint between two tags 			
	5.Mood mood     			Description: The mood of the sentence/message
	6.Direction direction			Description: Incoming or Outgoing 
	7.Boolean completeMessageMode 	Description: Whether the full tree will be pass to plugin  True for full tree, false for reduced tree 

	Mood (enum): {OTHER , IMPERATIVE , INTERROGTIVE}   		//TOCHANGE
	Direction (enum): {INCOMING, OUTGOING}	     	
	Constraint: Constraint(String Tag A, String Tag B, Relationship relationship)	
	Relationship (enum): {UNKNOWN, CONCATENATION, SUBORDINATE}	
Constructors:
	1.Trigger()
	2.Trigger(String name, Set<String> pluginMandatoryTags)
	3.Trigger(String name, Set<String> pluginMandatoryTags, Set<String> pluginOptionalTags)
	4.Trigger(String name, Set<String> pluginMandatoryTags, Set<String> pluginOptionalTags, Set<Constraint> constraints)
	5.Trigger(String name, Set<String> pluginMandatoryTags, Set<String> pluginOptionalTags, Set<Constraint> constraints

, Mood mood, Direction direction)


ParseTree: The syntax tree which contains the Graph Query data, Plugin customized data, Mood and Direction Contained Data: 1.SparseArray myNodeList Description: The full list of all nodes in the tree 2.Mood mood Description: The Mood of the syntax tree(message) 3.Direction direction Description: The direction of the message (see the definition above)

ParseTree Method:
		1.void setNodeById(int id, Node node) 	Description: set the node into the parsetree in the sparse array at specific index
		2.void setMood(Mood mood)		Description: Mood type see text above
		3.void setDirection(Direction direction)  	Description: Direction type see text above
		4.SparseArray<Node> getNodeList
------------------------------------------------------------------------------------------------------------
Node: The element that composes the whole tree, which contains its own Id , parent Id, children Id set and its tag name Hashset
	Contained Data:
		1.String content
		2.int id
		3.int parentId
		4.Set<int> childrenId
		5.Hashset<String> tagSet
		
		
	Method:
		1. setParent(int id);
		2. setChildren(Set<Integer> childrenList)
		3. int getParent()
		4. Set<Integer> getChildren()
		5.int getId()
		6.HashSet<String>  getTagSet()   	Description: String stores tag name
		7.addTag(String)			Description: String represents tag name
-------------------------------------------------------------------------------------------------------------