title: How does waitForAngularEnabled work?
body: <p>I am curious how does waitForAngularEnabled() work?
  Though it doesn't seem complicated, however, I couldn't get any satisfied answers anywhere. So hopefully someone helps me get cleared.</p>
  
  <p>My goal is to check criteria and pause/lock running test until the criteria is meet. Here are cases for example.</p>
  
  <p>A. to pause running test and wait until page gets loaded</p>
  
  <pre><code>    ...
      let theElement = ...;
      browser.waitForAngularEnabled(false);
      browser.wait(protractor.ExpectedConditions.presenceOf(theElement));
  </code></pre>
  
  <p>B. to use browser.wait(), the alternative way for similar purpose with A</p>
  
  <pre><code>    browser.wait(() =&gt; {
          browser.waitForAngularEnabled(false);
          return browser.isElementPresent(by.id('the-element-id'));
      }, timeout); // timeout may not be given
  </code></pre>
  
  <p>So the question is: <b></p>
  
  <ol>
  <li>What will happen once waitForAngularEnabled(false) is invoked? (once the criteria is meet or timeout occur in my case)</li>
  <li>Should I revert waitForAngularEnabled(true) to continue normal testing?</li>
  <li>If I should do, where to put it?</li>
  </ol>
  
  <p></b></p>
  
  <p>Hope to get clear answers with some background principle.</p>
  
  <p>Thanks!</p>