question: public void dispose ( ) throws IabAsyncInProgressException { synchronized ( mAsyncInProgressLock ) { if ( mAsyncInProgress ) { throw new IabAsyncInProgressException ( "Can't dispose because an async operation " + "(" + mAsyncOperation + ") is in progress." ) ; } } logDebug ( "Disposing." ) ; mSetupDone = false ; if ( mServiceConn != null ) { logDebug ( "Unbinding from service." ) ; if ( mContext != null ) mContext . unbindService ( mServiceConn ) ; } mDisposed = true ; mContext = null ; mServiceConn = null ; mService = null ; mPurchaseListener = null ; }
target:  Dispose of object, releasing resources. It's very important to call this method when you are done with this object. It will release any resources used by it such as service connections. Naturally, once the object is disposed of, it can't be used again.