title: Using the Android InApp Billing V3 example. Hit Buy, Back Button, and buy again causes error
body: <p>Here's the steps:</p>
  
  <ol>
  <li>Build and run the InApp V3 sample Trivial Drive example</li>
  <li>Select the buy option</li>
  <li>Hit the back button</li>
  <li>Try to buy again</li>
  </ol>
  
  <p>In the version as of January 2013 You'll possibly receive </p>
  
  <blockquote>
    <p>Can't start async operation (launchPurchaseFlow) because another async
    operation(launchPurchaseFlow) is in progress.</p>
  </blockquote>
  
  <p>Then you can not use the purchase or inventory methods of the IabHelper class, since the async flag will not clear, unless you kill your application.</p>
  
  <p>Here's a possible solution:</p>
  
  <p>I made the flagEndAsync method public and called it in the onRestart method.  The questions are: is this a safe solution?  And has anyone else seen this issue?      </p>
  
  <p>Here's what I added:</p>
  
  <pre><code>protected void onRestart() {
      super.onRestart();
      if (mHelper != null) mHelper.flagEndAsync();
  }
  </code></pre>