<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>src.com.dtmilano.android.viewclient</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="src.com.dtmilano.android-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://dtmilano.com/viewclient">Project Homepage</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        Package&nbsp;src ::
        Package&nbsp;com ::
        Package&nbsp;dtmilano ::
        <a href="src.com.dtmilano.android-module.html">Package&nbsp;android</a> ::
        Module&nbsp;viewclient
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="src.com.dtmilano.android.viewclient-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module viewclient</h1><p class="nomargin-top"><span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html">source&nbsp;code</a></span></p>
<pre class="literalblock">

Copyright (C) 2012-2013  Diego Torres Milano
Created on Feb 2, 2012

Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

@author: Diego Torres Milano

</pre>

<hr />
<div class="fields">      <p><strong>Version:</strong>
        3.2.0
      </p>
</div><!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Classes</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Classes"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.Window-class.html" class="summary-name">Window</a><br />
      Window class
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.ViewNotFoundException-class.html" class="summary-name">ViewNotFoundException</a><br />
      ViewNotFoundException is raised when a View is not found.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.View-class.html" class="summary-name">View</a><br />
      View class
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.TextView-class.html" class="summary-name">TextView</a><br />
      TextView class.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.EditText-class.html" class="summary-name">EditText</a><br />
      EditText class.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.UiAutomator2AndroidViewClient-class.html" class="summary-name">UiAutomator2AndroidViewClient</a><br />
      UiAutomator XML to AndroidViewClient
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.Excerpt2Code-class.html" class="summary-name">Excerpt2Code</a><br />
      Excerpt XML to code
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient.ViewClient-class.html" class="summary-name">ViewClient</a><br />
      ViewClient is a <i>ViewServer</i> client.
    </td>
  </tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Functions</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Functions"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="src.com.dtmilano.android.viewclient-module.html#__nd" class="summary-sig-name" onclick="show_private();">__nd</a>(<span class="summary-sig-arg">name</span>)</span><br />
      Returns:
      Returns a named decimal regex</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__nd">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="src.com.dtmilano.android.viewclient-module.html#__nh" class="summary-sig-name" onclick="show_private();">__nh</a>(<span class="summary-sig-arg">name</span>)</span><br />
      Returns:
      Returns a named hex regex</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__nh">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="src.com.dtmilano.android.viewclient-module.html#__ns" class="summary-sig-name" onclick="show_private();">__ns</a>(<span class="summary-sig-arg">name</span>,
        <span class="summary-sig-arg">greedy</span>=<span class="summary-sig-default">False</span>)</span><br />
      NOTICE: this is using a non-greedy (or minimal) regex</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__ns">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Variables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="False">False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_DEVICE"></a><span class="summary-name">DEBUG_DEVICE</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_RECEIVED"></a><span class="summary-name">DEBUG_RECEIVED</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_TREE"></a><span class="summary-name">DEBUG_TREE</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_GETATTR"></a><span class="summary-name">DEBUG_GETATTR</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_CALL"></a><span class="summary-name">DEBUG_CALL</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_COORDS"></a><span class="summary-name">DEBUG_COORDS</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_TOUCH"></a><span class="summary-name">DEBUG_TOUCH</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_STATUSBAR"></a><span class="summary-name">DEBUG_STATUSBAR</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_WINDOWS"></a><span class="summary-name">DEBUG_WINDOWS</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_BOUNDS"></a><span class="summary-name">DEBUG_BOUNDS</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEBUG_DISTANCE"></a><span class="summary-name">DEBUG_DISTANCE</span> = <code title="DEBUG and False">DEBUG and False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="WARNINGS"></a><span class="summary-name">WARNINGS</span> = <code title="False">False</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="VIEW_SERVER_HOST"></a><span class="summary-name">VIEW_SERVER_HOST</span> = <code title="'localhost'">'localhost'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="VIEW_SERVER_PORT"></a><span class="summary-name">VIEW_SERVER_PORT</span> = <code title="4939">4939</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="ADB_DEFAULT_PORT"></a><span class="summary-name">ADB_DEFAULT_PORT</span> = <code title="5555">5555</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="OFFSET"></a><span class="summary-name">OFFSET</span> = <code title="25">25</code><br />
      This assumes the smallest touchable view on the screen is 
      approximately 50px x 50px and touches it at <i 
      class="math">(x+OFFSET, y+OFFSET)</i>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient-module.html#USE_MONKEYRUNNER_TO_GET_BUILD_PROPERTIES" class="summary-name">USE_MONKEYRUNNER_TO_GET_BUILD_PROPERTIES</a> = <code title="True">True</code><br />
      Use monkeyrunner (<code>MonkeyDevice.getProperty()</code>) to obtain 
      the needed properties.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.com.dtmilano.android.viewclient-module.html#SKIP_CERTAIN_CLASSES_IN_GET_XY_ENABLED" class="summary-name">SKIP_CERTAIN_CLASSES_IN_GET_XY_ENABLED</a> = <code title="False">False</code><br />
      Skips some classes related with the Action Bar and the 
      PhoneWindow$DecorView in the coordinates calculation
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="VERSION_SDK_PROPERTY"></a><span class="summary-name">VERSION_SDK_PROPERTY</span> = <code title="'version.sdk'">'version.sdk'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="ID_PROPERTY"></a><span class="summary-name">ID_PROPERTY</span> = <code title="'mID'">'mID'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="ID_PROPERTY_UI_AUTOMATOR"></a><span class="summary-name">ID_PROPERTY_UI_AUTOMATOR</span> = <code title="'uniqueId'">'uniqueId'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="TEXT_PROPERTY"></a><span class="summary-name">TEXT_PROPERTY</span> = <code title="'text:mText'">'text:mText'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="TEXT_PROPERTY_API_10"></a><span class="summary-name">TEXT_PROPERTY_API_10</span> = <code title="'mText'">'mText'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="TEXT_PROPERTY_UI_AUTOMATOR"></a><span class="summary-name">TEXT_PROPERTY_UI_AUTOMATOR</span> = <code title="'text'">'text'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="WS"></a><span class="summary-name">WS</span> = <code title="&quot;\xfe&quot;">&quot;\xfe&quot;</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="LEFT_PROPERTY"></a><span class="summary-name">LEFT_PROPERTY</span> = <code title="'layout:mLeft'">'layout:mLeft'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="LEFT_PROPERTY_API_8"></a><span class="summary-name">LEFT_PROPERTY_API_8</span> = <code title="'mLeft'">'mLeft'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="TOP_PROPERTY"></a><span class="summary-name">TOP_PROPERTY</span> = <code title="'layout:mTop'">'layout:mTop'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="TOP_PROPERTY_API_8"></a><span class="summary-name">TOP_PROPERTY_API_8</span> = <code title="'mTop'">'mTop'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="WIDTH_PROPERTY"></a><span class="summary-name">WIDTH_PROPERTY</span> = <code title="'layout:getWidth()'">'layout:getWidth()'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="WIDTH_PROPERTY_API_8"></a><span class="summary-name">WIDTH_PROPERTY_API_8</span> = <code title="'getWidth()'">'getWidth()'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="HEIGHT_PROPERTY"></a><span class="summary-name">HEIGHT_PROPERTY</span> = <code title="'layout:getHeight()'">'layout:getHeight()'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="HEIGHT_PROPERTY_API_8"></a><span class="summary-name">HEIGHT_PROPERTY_API_8</span> = <code title="'getHeight()'">'getHeight()'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="GET_VISIBILITY_PROPERTY"></a><span class="summary-name">GET_VISIBILITY_PROPERTY</span> = <code title="'getVisibility()'">'getVisibility()'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="LAYOUT_TOP_MARGIN_PROPERTY"></a><span class="summary-name">LAYOUT_TOP_MARGIN_PROPERTY</span> = <code title="'layout:layout_topMargin'">'layout:layout_topMargin'</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="VISIBLE"></a><span class="summary-name">VISIBLE</span> = <code title="0x0">0x0</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="INVISIBLE"></a><span class="summary-name">INVISIBLE</span> = <code title="0x4">0x4</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="GONE"></a><span class="summary-name">GONE</span> = <code title="0x8">0x8</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="IP_RE"></a><span class="summary-name">IP_RE</span> = <code title="re.compile('^(\d{1,3}\.){3}\d{1,3}$')">re.compile('^(\d{1,3}\.){3}\d{1,3}$')</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="ID_RE"></a><span class="summary-name">ID_RE</span> = <code title="re.compile('id/([^/]*)(/(\d+))?')">re.compile('id/([^/]*)(/(\d+))?')</code>
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Function Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-FunctionDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__nd"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__nd</span>(<span class="sig-arg">name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__nd">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>Returns a named decimal regex</dd>
  </dl>
</td></tr></table>
</div>
<a name="__nh"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__nh</span>(<span class="sig-arg">name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__nh">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>Returns a named hex regex</dd>
  </dl>
</td></tr></table>
</div>
<a name="__ns"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__ns</span>(<span class="sig-arg">name</span>,
        <span class="sig-arg">greedy</span>=<span class="sig-default">False</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.com.dtmilano.android.viewclient-pysrc.html#__ns">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>NOTICE: this is using a non-greedy (or minimal) regex</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>name</code></strong> (str) - the name used to tag the expression</li>
        <li><strong class="pname"><code>greedy</code></strong> (bool) - Whether the regex is greedy or not</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>Returns a named string regex (only non-whitespace characters 
          allowed)</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-VariablesDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="USE_MONKEYRUNNER_TO_GET_BUILD_PROPERTIES"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">USE_MONKEYRUNNER_TO_GET_BUILD_PROPERTIES</h3>
  <p>Use monkeyrunner (<code>MonkeyDevice.getProperty()</code>) to obtain 
  the needed properties. If this is <code>False</code> then <code>adb shell
  getprop</code> is used</p>
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
True
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="SKIP_CERTAIN_CLASSES_IN_GET_XY_ENABLED"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">SKIP_CERTAIN_CLASSES_IN_GET_XY_ENABLED</h3>
  <p>Skips some classes related with the Action Bar and the 
  PhoneWindow$DecorView in the coordinates calculation</p>
  <dl class="fields">
  </dl>
<div class="fields">      <p><strong>See Also:</strong>
        <a href="src.com.dtmilano.android.viewclient.View-class.html#getXY"
        class="link">View.getXY()</a>
      </p>
</div>  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
False
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="src.com.dtmilano.android-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://dtmilano.com/viewclient">Project Homepage</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Fri Aug  9 01:39:53 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
