|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
org.safs.android.SocketServerUI
public class SocketServerUI
Crude Test app for initial manual testing of remote control for SAFS Android Automation with Robotium. This app provides a minimalist crude UI for manually entering and sending messages over a local SocketServer implementing a SocketProtocol to communicate and control Android automation on a device or emulator.
Note this has only been tested on an emulator. There may be additional code required in all pieces to test this on a real device. Primarily because of how we attempt to connect to TCP Sockets. Thus, you must have a working Emulator and AVD to test this. Command used to launch the emulator with an appropriate AVD:
emulator -no-snapstorage -avd SprintEvo
Steps to test the remote control concept:
<instrumentation android:name="org.safs.android.engine.DroidEngine"
android:targetPackage="com.android.example.spinner"
android:label="General-Purpose SAFS Droid Automation Framework"/>
adb forward tcp:2411 tcp:2410
adb shell am instrument -w org.safs.android.engine/org.safs.android.engine.DroidEngine
You should see a SAFS Messenger Service appear in the Notification area on the device\emulator and there should be logcat messages showing the status of the Droid Test App registering with the SAFS Messenger Service.
java org.safs.android.SocketServerUI
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class javax.swing.JFrame |
|---|
javax.swing.JFrame.AccessibleJFrame |
| Nested classes/interfaces inherited from class java.awt.Frame |
|---|
java.awt.Frame.AccessibleAWTFrame |
| Nested classes/interfaces inherited from class java.awt.Window |
|---|
java.awt.Window.AccessibleAWTWindow |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
java.awt.Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary |
|---|
| Fields inherited from class javax.swing.JFrame |
|---|
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled |
| Fields inherited from class java.awt.Frame |
|---|
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR |
| Fields inherited from class java.awt.Component |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface org.safs.android.SocketServerListener |
|---|
DEFAULT_NAME |
| Fields inherited from interface javax.swing.WindowConstants |
|---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
SocketServerUI()
|
|
SocketServerUI(java.lang.String title)
|
|
| Method Summary | |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
|
protected void |
disableInteraction()
|
protected void |
enableInteraction()
|
java.lang.String |
getListenerName()
Unique name to identify the listener. |
static void |
main(java.lang.String[] args)
java org.safs.android.SocketServerUI |
void |
onReceiveComment(java.lang.String message)
Remote client has sent a loggable status comment message. |
void |
onReceiveConnection()
Called when a 2-way sockets connection has been established. |
void |
onReceiveDebug(java.lang.String message)
|
void |
onReceiveDetail(java.lang.String message)
Remote client has sent a loggable status detail message. |
void |
onReceiveException(java.lang.String message)
Remote client has thrown/issued an Exception message. |
void |
onReceiveLocalShutdown(int cause)
A local source has issued a SHUTDOWN event/command. |
void |
onReceiveMessage(java.lang.String message)
Remote client has sent an arbitrary message. |
void |
onReceiveReady()
Remote client has issued the READY event |
void |
onReceiveRemoteShutdown(int cause)
A remote source has issued a SHUTDOWN event/command. |
void |
onReceiveResult(int rc,
java.lang.String info)
Remote client has issued the RESULT event and is returning a simple statuscode and statusinfo response. |
void |
onReceiveResultProperties(java.util.Properties result)
Remote client has issued the RESULT event and is returning result information in Properties. |
void |
onReceiveRunning()
Remote client has issued the RUNNING event--usually resulting from a DISPATCH event. |
void |
onReceiveSPCMap(java.lang.String message)
Remote client has sent Process Container App Map Info to log to the App Map output file. |
void |
onReceiveSPCOut(java.lang.String message)
Remote client has sent Process Container Object Info to log to the object output file. |
| Methods inherited from class javax.swing.JFrame |
|---|
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update |
| Methods inherited from class java.awt.Frame |
|---|
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated |
| Methods inherited from class java.awt.Window |
|---|
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront |
| Methods inherited from class java.awt.Container |
|---|
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from class java.awt.Component |
|---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.awt.MenuContainer |
|---|
getFont, postEvent |
| Constructor Detail |
|---|
public SocketServerUI()
throws java.awt.HeadlessException
java.awt.HeadlessException
public SocketServerUI(java.lang.String title)
throws java.awt.HeadlessException
java.awt.HeadlessException| Method Detail |
|---|
protected void disableInteraction()
protected void enableInteraction()
public java.lang.String getListenerName()
NamedListener
getListenerName in interface NamedListenerpublic void onReceiveConnection()
ConnectionListener
onReceiveConnection in interface ConnectionListenerpublic void onReceiveLocalShutdown(int cause)
ConnectionListener
onReceiveLocalShutdown in interface ConnectionListenercause - is used to indicate whether the shutdown is due to normal
or abnormal circumstances.SocketProtocol.STATUS_SHUTDOWN_NORMAL,
SocketProtocol.STATUS_SHUTDOWN_REMOTE_CLIENTpublic void onReceiveRemoteShutdown(int cause)
ConnectionListener
onReceiveRemoteShutdown in interface ConnectionListenercause - is used to indicate whether the shutdown is due to normal
or abnormal circumstances.SocketProtocol.STATUS_SHUTDOWN_NORMAL,
SocketProtocol.STATUS_SHUTDOWN_REMOTE_CLIENTpublic void onReceiveDebug(java.lang.String message)
public void onReceiveSPCOut(java.lang.String message)
SocketServerListener
onReceiveSPCOut in interface SocketServerListenerDroidEngine.sendSPCOut(String),
MessengerService.onEngineSPCOUT(String),
JavaSocketsHook.onReceiveSPCOut(String)public void onReceiveSPCMap(java.lang.String message)
SocketServerListener
onReceiveSPCMap in interface SocketServerListenerDroidEngine.sendSPCMap(String),
MessengerService.onEngineSPCMAP(String),
JavaSocketsHook.onReceiveSPCMap(String)public void onReceiveReady()
SocketServerListener
onReceiveReady in interface SocketServerListenerDroidEngine.sendReady(),
MessengerService.onEngineReady(),
JavaSocketsHook.onReceiveReady()public void onReceiveRunning()
SocketServerListener
onReceiveRunning in interface SocketServerListenerDroidEngine.sendRunning(),
MessengerService.onEngineRunning(),
JavaSocketsHook.onReceiveRunning()
public void onReceiveResult(int rc,
java.lang.String info)
SocketServerListener
onReceiveResult in interface SocketServerListenerrc - -- int statuscodeinfo - -- String statusinfo. Can be null. Can be an empty string.DroidEngine.sendServiceResult(int, String),
MessengerService.onEngineResult(int, String),
JavaSocketsHook.onReceiveResult(int, String)public void onReceiveResultProperties(java.util.Properties result)
SocketServerListener
onReceiveResultProperties in interface SocketServerListenerDroidEngine.sendServiceResult(java.util.Properties),
MessengerService.onEngineResultProps(char[]),
JavaSocketsHook.onReceiveResultProperties(java.util.Properties)public void onReceiveComment(java.lang.String message)
SocketServerListener
onReceiveComment in interface SocketServerListenerDroidEngine.sendComment(String),
MessengerService.onEngineComment(String),
JavaSocketsHook.onReceiveComment(String)public void onReceiveDetail(java.lang.String message)
SocketServerListener
onReceiveDetail in interface SocketServerListenerDroidEngine.sendDetail(String),
MessengerService.onEngineDetail(String),
JavaSocketsHook.onReceiveDetail(String)public void onReceiveException(java.lang.String message)
SocketServerListener
onReceiveException in interface SocketServerListenerDroidEngine.sendException(String),
MessengerService.onEngineException(String),
JavaSocketsHook.onReceiveException(String)public void onReceiveMessage(java.lang.String message)
SocketServerListener
onReceiveMessage in interface SocketServerListenerDroidEngine.sendMessage(String),
MessengerService.onEngineMessage(String),
JavaSocketsHook.onReceiveMessage(String)public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed in interface java.awt.event.ActionListenerpublic static void main(java.lang.String[] args)
args - -- none
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||