Example usage for android.os Handler post

List of usage examples for android.os Handler post

Introduction

In this page you can find the example usage for android.os Handler post.

Prototype

public final boolean post(Runnable r) 

Source Link

Document

Causes the Runnable r to be added to the message queue.

Usage

From source file:com.facebook.Request.java

static void runCallbacks(final RequestBatch requests, List<Response> responses) {
    int numRequests = requests.size();

    // Compile the list of callbacks to call and then run them either on this thread or via the Handler we received
    final ArrayList<Pair<Callback, Response>> callbacks = new ArrayList<Pair<Callback, Response>>();
    for (int i = 0; i < numRequests; ++i) {
        Request request = requests.get(i);
        if (request.callback != null) {
            callbacks.add(new Pair<Callback, Response>(request.callback, responses.get(i)));
        }/*from  w w  w.  j av  a2s.c  om*/
    }

    if (callbacks.size() > 0) {
        Runnable runnable = new Runnable() {
            public void run() {
                for (Pair<Callback, Response> pair : callbacks) {
                    pair.first.onCompleted(pair.second);
                }

                List<RequestBatch.Callback> batchCallbacks = requests.getCallbacks();
                for (RequestBatch.Callback batchCallback : batchCallbacks) {
                    batchCallback.onBatchCompleted(requests);
                }
            }
        };

        Handler callbackHandler = requests.getCallbackHandler();
        if (callbackHandler == null) {
            // Run on this thread.
            runnable.run();
        } else {
            // Post to the handler.
            callbackHandler.post(runnable);
        }
    }
}

From source file:com.archer.circle_run.util.IabHelper.java

void consumeAsyncInternal(final List<Purchase> purchases, final OnConsumeFinishedListener singleListener,
        final OnConsumeMultiFinishedListener multiListener) {
    final Handler handler = new Handler();
    flagEndAsync();//from w  w w.j  a  v a  2  s.  c o m
    flagStartAsync("consume");
    mThread = new Thread(new Runnable() {
        public void run() {
            final List<IabResult> results = new ArrayList<IabResult>();
            for (Purchase purchase : purchases) {
                try {
                    consume(purchase);
                    results.add(new IabResult(BILLING_RESPONSE_RESULT_OK,
                            "Successful consume of sku " + purchase.getSku()));
                } catch (IabException ex) {
                    results.add(ex.getResult());
                }
            }

            if (!mDisposed && singleListener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        singleListener.onConsumeFinished(purchases.get(0), results.get(0));
                    }
                });
            }
            if (!mDisposed && multiListener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        multiListener.onConsumeMultiFinished(purchases, results);
                    }
                });
            }
        }
    });
    mThread.start();

}

From source file:com.dreamfire.whereintheworld.billing.util.IabHelper.java

void consumeAsyncInternal(final List<Purchase> purchases, final OnConsumeFinishedListener singleListener,
        final OnConsumeMultiFinishedListener multiListener) {
    final Handler handler = new Handler();
    flagStartAsync("consume");
    (new Thread(new Runnable() {
        @Override//from   w  w w  .jav  a2s  .  c o m
        public void run() {
            final List<IabResult> results = new ArrayList<IabResult>();
            for (Purchase purchase : purchases) {
                try {
                    consume(purchase);
                    results.add(new IabResult(BILLING_RESPONSE_RESULT_OK,
                            "Successful consume of sku " + purchase.getSku()));
                } catch (IabException ex) {
                    results.add(ex.getResult());
                }
            }

            flagEndAsync();
            if (!mDisposed && singleListener != null) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        singleListener.onConsumeFinished(purchases.get(0), results.get(0));
                    }
                });
            }
            if (!mDisposed && multiListener != null) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        multiListener.onConsumeMultiFinished(purchases, results);
                    }
                });
            }
        }
    })).start();
}

From source file:com.andersson.minesweeper.util.IabHelper.java

private void consumeAsyncInternal(final List<Purchase> purchases,
        final OnConsumeFinishedListener singleListener, final OnConsumeMultiFinishedListener multiListener) {
    final Handler handler = new Handler();
    flagStartAsync("consume");
    (new Thread(new Runnable() {
        public void run() {
            final List<IabResult> results = new ArrayList<IabResult>();
            for (Purchase purchase : purchases) {
                try {
                    consume(purchase);//from ww  w.j a  v  a 2s.  c  o m
                    results.add(new IabResult(BILLING_RESPONSE_RESULT_OK,
                            "Successful consume of sku " + purchase.getSku()));
                } catch (IabException ex) {
                    results.add(ex.getResult());
                }
            }

            flagEndAsync();
            if (!mDisposed && singleListener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        singleListener.onConsumeFinished(purchases.get(0), results.get(0));
                    }
                });
            }
            if (!mDisposed && multiListener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        multiListener.onConsumeMultiFinished(purchases, results);
                    }
                });
            }
        }
    })).start();
}

From source file:com.moez.QKSMS.external.iab.IabHelper.java

void consumeAsyncInternal(final List<Purchase> purchases, final OnConsumeFinishedListener singleListener,
        final OnConsumeMultiFinishedListener multiListener) {
    final Handler handler = new Handler();
    flagStartAsync("consume");
    (new Thread(new Runnable() {
        @Override/*from  ww  w .j  a  v  a  2s . co  m*/
        public void run() {
            final List<IabResult> results = new ArrayList<>();
            for (Purchase purchase : purchases) {
                try {
                    consume(purchase);
                    results.add(new IabResult(BILLING_RESPONSE_RESULT_OK,
                            "Successful consume of sku " + purchase.getSku()));
                } catch (IabException ex) {
                    results.add(ex.getResult());
                }
            }

            flagEndAsync();
            if (!mDisposed && singleListener != null) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        singleListener.onConsumeFinished(purchases.get(0), results.get(0));
                    }
                });
            }
            if (!mDisposed && multiListener != null) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        multiListener.onConsumeMultiFinished(purchases, results);
                    }
                });
            }
        }
    })).start();
}

From source file:org.mobicents.restcomm.android.client.sdk.RCConnection.java

@Override
public void onIceCandidatesRemoved(final IceCandidate[] candidates) {
    final RCConnection connection = this;
    Handler mainHandler = new Handler(RCClient.getContext().getMainLooper());
    Runnable myRunnable = new Runnable() {
        @Override//from   ww  w. ja v a 2s.c om
        public void run() {
            RCLogger.i(TAG, "onIceCandidateRemoved: Not Implemented Yet");
        }
    };
    mainHandler.post(myRunnable);

}

From source file:com.dreamfire.whereintheworld.billing.util.IabHelper.java

/**
 * Asynchronous wrapper for inventory query. This will perform an inventory
 * query as described in {@link #queryInventory}, but will do so asynchronously
 * and call back the specified listener upon completion. This method is safe to
 * call from a UI thread.//from  www . j a  va 2s.c o m
 *
 * @param querySkuDetails as in {@link #queryInventory}
 * @param moreSkus as in {@link #queryInventory}
 * @param listener The listener to notify when the refresh operation completes.
 */
public void queryInventoryAsync(final boolean querySkuDetails, final List<String> moreSkus,
        final QueryInventoryFinishedListener listener) {
    final Handler handler = new Handler();
    checkNotDisposed();
    checkSetupDone("queryInventory");
    flagStartAsync("refresh inventory");
    (new Thread(new Runnable() {
        @Override
        public void run() {
            IabResult result = new IabResult(BILLING_RESPONSE_RESULT_OK, "Inventory refresh successful.");
            Inventory inv = null;
            try {
                inv = queryInventory(querySkuDetails, moreSkus);
            } catch (IabException ex) {
                result = ex.getResult();
            }

            flagEndAsync();

            final IabResult result_f = result;
            final Inventory inv_f = inv;
            if (!mDisposed && listener != null) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        listener.onQueryInventoryFinished(result_f, inv_f);
                    }
                });
            }
        }
    })).start();
}

From source file:com.android.payment.utils.IabHelper.java

/**
 * Asynchronous wrapper for inventory query. This will perform an inventory
 * query as described in {@link #queryInventory}, but will do so asynchronously
 * and call back the specified listener upon completion. This method is safe to
 * call from a UI thread.//from  w ww.  j  a va2  s . c o m
 *
 * @param querySkuDetails as in {@link #queryInventory}
 * @param moreItemSkus as in {@link #queryInventory} //pozirk
 * @param moreSubsSkus as in {@link #queryInventory} //pozirk
 * @param listener The listener to notify when the refresh operation completes.
 */
public void queryInventoryAsync(final boolean querySkuDetails, final List<String> moreItemSkus, //pozirk: yeah, it was very hard to make the support of subscriptions
        final List<String> moreSubsSkus, //pozirk
        final QueryInventoryFinishedListener listener) {
    final Handler handler = new Handler();
    checkNotDisposed();
    checkSetupDone("queryInventory");
    flagStartAsync("refresh inventory");
    (new Thread(new Runnable() {
        public void run() {
            IabResult result = new IabResult(BILLING_RESPONSE_RESULT_OK, "Inventory refresh successful.");
            Inventory inv = null;
            try {
                inv = queryInventory(querySkuDetails, moreItemSkus, moreSubsSkus); //pozirk
            } catch (IabException ex) {
                result = ex.getResult();
            }

            flagEndAsync();

            final IabResult result_f = result;
            final Inventory inv_f = inv;
            if (!mDisposed && listener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        listener.onQueryInventoryFinished(result_f, inv_f);
                    }
                });
            }
        }
    })).start();
}

From source file:com.inductivebiblestudyapp.billing.util.IabHelper.java

/**
 * Asynchronous wrapper for inventory query. This will perform an inventory
 * query as described in {@link #queryInventory}, but will do so asynchronously
 * and call back the specified listener upon completion. This method is safe to
 * call from a UI thread.//from  w  w w  .  j  a  va  2  s.com
 *
 * @param querySkuDetails as in {@link #queryInventory}
 * @param moreSkus as in {@link #queryInventory}
 * @param moreSubsSkus as in {@link #queryInventory}
 * @param listener The listener to notify when the refresh operation completes.
 */
public void queryInventoryAsync(final boolean querySkuDetails, final List<String> moreSkus,
        final List<String> moreSubsSkus, final QueryInventoryFinishedListener listener) {
    final Handler handler = new Handler();
    checkNotDisposed();
    checkSetupDone("queryInventory");
    flagStartAsync("refresh inventory");
    (new Thread(new Runnable() {
        public void run() {
            IabResult result = new IabResult(BILLING_RESPONSE_RESULT_OK, "Inventory refresh successful.");
            Inventory inv = null;
            try {
                inv = queryInventory(querySkuDetails, moreSkus, moreSubsSkus);
            } catch (IabException ex) {
                result = ex.getResult();
            }

            flagEndAsync();

            final IabResult result_f = result;
            final Inventory inv_f = inv;
            if (!mDisposed && listener != null) {
                handler.post(new Runnable() {
                    public void run() {
                        listener.onQueryInventoryFinished(result_f, inv_f);
                    }
                });
            }
        }
    })).start();
}

From source file:org.xbmc.kore.ui.sections.hosts.AddHostFragmentZeroconf.java

/**
 * Starts the service discovery, setting up the UI accordingly
 *//*from   ww w  .j  a  v  a  2s .  c  om*/
public void startSearching() {
    if (!isNetworkConnected()) {
        noNetworkConnection();
        return;
    }

    LogUtils.LOGD(TAG, "Starting service discovery...");
    searchCancelled = false;
    final Handler handler = new Handler();
    final Thread searchThread = new Thread(new Runnable() {
        @Override
        public void run() {
            WifiManager wifiManager = (WifiManager) getActivity().getApplicationContext()
                    .getSystemService(Context.WIFI_SERVICE);

            WifiManager.MulticastLock multicastLock = null;
            try {
                // Get wifi ip address
                int wifiIpAddress = wifiManager.getConnectionInfo().getIpAddress();
                InetAddress wifiInetAddress = NetUtils.intToInetAddress(wifiIpAddress);

                // Acquire multicast lock
                multicastLock = wifiManager.createMulticastLock("kore2.multicastlock");
                multicastLock.setReferenceCounted(false);
                multicastLock.acquire();

                JmDNS jmDns = (wifiInetAddress != null) ? JmDNS.create(wifiInetAddress) : JmDNS.create();

                // Get the json rpc service list
                final ServiceInfo[] serviceInfos = jmDns.list(MDNS_XBMC_SERVICENAME, DISCOVERY_TIMEOUT);

                synchronized (lock) {
                    // If the user didn't cancel the search, and we are sill in the activity
                    if (!searchCancelled && isAdded()) {
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                if ((serviceInfos == null) || (serviceInfos.length == 0)) {
                                    noHostFound();
                                } else {
                                    foundHosts(serviceInfos);
                                }
                            }
                        });
                    }
                }
            } catch (IOException e) {
                LogUtils.LOGD(TAG, "Got an IO Exception", e);
            } finally {
                if (multicastLock != null)
                    multicastLock.release();
            }
        }
    });

    titleTextView.setText(R.string.searching);
    messageTextView.setText(Html.fromHtml(getString(R.string.wizard_search_message)));
    messageTextView.setMovementMethod(LinkMovementMethod.getInstance());

    progressBar.setVisibility(View.VISIBLE);
    hostListGridView.setVisibility(View.GONE);

    // Setup buttons
    nextButton.setVisibility(View.INVISIBLE);
    previousButton.setVisibility(View.VISIBLE);
    previousButton.setText(android.R.string.cancel);
    previousButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            synchronized (lock) {
                searchCancelled = true;
                noHostFound();
            }
        }
    });

    searchThread.start();
}