Advertisement
athacks

Untitled

Jun 23rd, 2015
584
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.76 KB | None | 0 0
  1.     private void registerReceiptRegistration() {
  2.         new AsyncTask<Void, Void, Void>() {
  3.  
  4.             @Override
  5.             protected Void doInBackground(Void... params) {
  6.                 connector.register(Uri.parse(ReceiptRegistrationProvider.CONTENT_URI_TEXT.toString()), new ReceiptRegistrationConnector.ReceiptRegistrationCallback<Void>());
  7.                 return null;
  8.             }
  9.         }.execute();
  10.     }
  11.  
  12.     private void unregisterReceiptRegistration() {
  13.         new AsyncTask<Void, Void, Void>() {
  14.  
  15.             @Override
  16.             protected Void doInBackground(Void... params) {
  17.                 connector.unregister(Uri.parse(ReceiptRegistrationProvider.CONTENT_URI_TEXT.toString()), new ReceiptRegistrationConnector.ReceiptRegistrationCallback<Void>());
  18.                 return null;
  19.             }
  20.  
  21.             @Override
  22.             protected void onPostExecute(Void aVoid) {
  23.                 super.onPostExecute(aVoid);
  24.                 connector.disconnect();
  25.                 connector = null;
  26.             }
  27.         }.execute();
  28.     }
  29.  
  30.     @Override
  31.     protected void onPause() {
  32.         disconnect();
  33.         super.onPause();
  34.     }
  35.  
  36.     private void connect() {
  37.         disconnect();
  38.         if (account != null) {
  39.             connector = new ReceiptRegistrationConnector(this, account, new ServiceConnector.OnServiceConnectedListener() {
  40.                 @Override
  41.                 public void onServiceConnected(ServiceConnector<? extends IInterface> serviceConnector) {
  42.                     registerReceiptRegistration();
  43.                 }
  44.  
  45.                 @Override
  46.                 public void onServiceDisconnected(ServiceConnector<? extends IInterface> serviceConnector) {
  47.                 }
  48.             });
  49.             connector.connect();
  50.             orderConnector = new OrderConnector(this, account, null);
  51.             orderConnector.connect();
  52.         }
  53.     }
  54.  
  55.     private void disconnect() {
  56.         if (connector != null) {
  57.             unregisterReceiptRegistration();
  58.         }
  59.  
  60.         if (orderConnector != null) {
  61.             orderConnector.disconnect();
  62.             orderConnector = null;
  63.         }
  64.     }
  65.  
  66.     private class MyAsyncTask extends AsyncTask<Void, Void, Order> {
  67.  
  68.         @Override
  69.         protected final Order doInBackground(Void... params) {
  70.             String orderId = null;
  71.             Cursor cursor = null;
  72.             try {
  73.                 // Query the last order
  74.                 cursor = Home.this.getContentResolver().query(OrderContract.Summaries.contentUriWithAccount(account), new String[]{OrderContract.Summaries.ID}, null, null, OrderContract.Summaries.LAST_MODIFIED + " DESC LIMIT 1");
  75.                 if (cursor != null && cursor.moveToFirst()) {
  76.                     orderId = cursor.getString(cursor.getColumnIndex(OrderContract.Summaries.ID));
  77.                 }
  78.  
  79.                 if (orderId == null) {
  80.                     return orderConnector.createOrder(new Order());
  81.                 } else {
  82.                     return orderConnector.getOrder(orderId);
  83.                 }
  84.             } catch (RemoteException e) {
  85.                 e.printStackTrace();
  86.             } catch (ClientException e) {
  87.                 e.printStackTrace();
  88.             } catch (ServiceException e) {
  89.                 e.printStackTrace();
  90.             } catch (BindingException e) {
  91.                 e.printStackTrace();
  92.             } finally {
  93.                 if (cursor != null) {
  94.                     cursor.close();
  95.                 }
  96.             }
  97.             return null;
  98.         }
  99.  
  100.         @Override
  101.         protected final void onPostExecute(Order order) {
  102.  
  103.             PrintJob pj = new BillPrintJob.Builder().orderId(order.getId()).build();
  104.  
  105.             pj.print(Home.this, account);
  106.  
  107.         }
  108.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement