private void runRequest(BillingRequest request) { try { final long requestId = request.run(mService); BillingController.onRequestSent(requestId, request); } catch (RemoteException e) { Log.w(this.getClass().getSimpleName(), "Remote billing service crashed"); // TODO: Retry? } }
private void runPendingRequests() { BillingRequest request; int maxStartId = -1; while ((request = mPendingRequests.peek()) != null) { if (mService != null) { runRequest(request); mPendingRequests.remove(); if (maxStartId < request.getStartId()) { maxStartId = request.getStartId(); } } else { bindMarketBillingService(); return; } } if (maxStartId >= 0) { stopSelf(maxStartId); } }