org.androidannotations.api.BackgroundExecutor Java Examples
The following examples show how to use
org.androidannotations.api.BackgroundExecutor.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Utils.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
public static void setPremium(final boolean notifyServer, final boolean premium, final boolean purchased) { LOG.debug("premium : " + premium); setBooleanProperty(STR.premium, premium); if (notifyServer) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { RPC.getRpcService().setPremium(premium, purchased, getAccountEmails()); } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }); } }
Example #2
Source File: PreferencesAdvancedActivity.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
private void render() { BackgroundExecutor.execute(new Runnable() { @Override public void run() { final long size = FlickrUploader.getLogSize(); final List<String> autoupload_delay_values = Arrays.asList(getResources().getStringArray(R.array.autoupload_delay_values)); final String[] autoupload_delay_entries = getResources().getStringArray(R.array.autoupload_delay_entries); final String autoupload_delay_value = Utils.getStringProperty("autoupload_delay", autoupload_delay_values.get(0)); runOnUiThread(new Runnable() { @Override public void run() { findPreference("clear_logs").setSummary("Files size: " + Utils.formatFileSize(size)); String autoupload_delay = autoupload_delay_entries[autoupload_delay_values.indexOf(autoupload_delay_value)]; if (autoupload_delay.equalsIgnoreCase("custom")) { findPreference("autoupload_delay").setSummary(autoupload_delay); } else { findPreference("autoupload_delay").setSummary(autoupload_delay); } findPreference("upload_description").setSummary(Html.fromHtml(Utils.getUploadDescription())); findPreference("custom_tags").setSummary(Utils.getStringProperty("custom_tags")); } }); } }); }
Example #3
Source File: FlickrUploaderActivity.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
@UiThread void showNewSetDialog(final Folder folder) { showNewSetDialog(activity, folder == null ? null : folder.getName(), new Callback<String>() { @Override public void onResult(final String value) { if (ToolString.isBlank(value)) { Utils.toast("Title cannot be empty"); showNewSetDialog(folder); } else { BackgroundExecutor.execute(new Runnable() { @Override public void run() { enqueue(Lists.newArrayList(selectedMedia), value); clearSelection(); } }); } } }); }
Example #4
Source File: PreferencesActivity.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
void loadNbSynced() { BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { nbSynced = Utils.getFoldersMonitoredNb(); runOnUiThread(new Runnable() { @Override public void run() { render(); } }); } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }); }
Example #5
Source File: DrawerContentView.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
public void updateLists() { if (activity != null && !activity.destroyed && !activity.isPaused() && activity.getSlidingDrawer() != null && activity.getSlidingDrawer().isOpened()) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { List<Media> currentlyQueued = new ArrayList<Media>(UploadService.getCurrentlyQueued()); Collections.sort(currentlyQueued, Utils.MEDIA_COMPARATOR); Collections.reverse(currentlyQueued); notifyDataSetChanged(queuedAdapter, currentlyQueued); List<Media> recentlyUploaded = new ArrayList<Media>(UploadService.getRecentlyUploaded()); Collections.sort(recentlyUploaded, Utils.MEDIA_COMPARATOR_UPLOAD); notifyDataSetChanged(uploadedAdapter, recentlyUploaded); List<Media> failed = new ArrayList<Media>(UploadService.getFailed()); Collections.sort(failed, Utils.MEDIA_COMPARATOR); notifyDataSetChanged(failedAdapter, failed); } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }); } }
Example #6
Source File: UploadService.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
public static void wake(final boolean force) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { if ((instance == null || instance.destroyed) && (force || Utils.canAutoUploadBool() || checkQueue() != null)) { Context context = FlickrUploader.getAppContext(); context.startService(new Intent(context, UploadService.class)); AlarmBroadcastReceiver.initAlarm(); } checkForFilesToDelete(); synchronized (mPauseLock) { mPauseLock.notifyAll(); } } }); }
Example #7
Source File: Utils.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
static void validatePaypalPayment(final String paypal_result_confirmation) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { if (ToolString.isNotBlank(paypal_result_confirmation) && paypalActivity != null && paypalCallback != null) { toast("Processing payment"); Boolean valid = RPC.getRpcService().confirmPaypalPayment(paypal_result_confirmation); if (valid != null && valid) { onPaymentAccepted("Paypal", paypalActivity, paypalCallback); } else { paypalCallback.onResult(false); } } paypalCallback = null; paypalActivity = null; } }); }
Example #8
Source File: Utils.java From flickr-uploader with GNU General Public License v2.0 | 5 votes |
public static final void sendMail(final String subject, final String bodyHtml) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { String admin = FlickrUploader.getAppContext().getString(R.string.admin_email); RPC.getRpcService().sendEmail(admin, subject, bodyHtml, admin); } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }); }
Example #9
Source File: Bus.java From iSCAU-Android with GNU General Public License v3.0 | 5 votes |
/** * when user */ @Override public void onDestroyView() { BackgroundExecutor.cancelAll(UIHelper.CANCEL_FLAG,true); handler.removeCallbacks(runnable); super.onDestroyView(); }
Example #10
Source File: UploadService.java From flickr-uploader with GNU General Public License v2.0 | 5 votes |
public static void clear(final int status, final Callback<Void> callback) { if (status == STATUS.FAILED || status == STATUS.QUEUED) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { int nbModified = 0; List<Media> medias = Utils.loadMedia(false); Transaction t = new Transaction(); try { for (final Media media : medias) { if (media.getStatus() == status) { if (media.isQueued() && media.equals(mediaCurrentlyUploading)) { REST.kill(media); } media.setStatus(STATUS.PAUSED, t); nbModified++; } } t.setSuccessful(true); } finally { t.finish(); } if (nbModified > 0) { checkQueue(); } if (callback != null) callback.onResult(null); } }); } else { LOG.error("status " + status + " is not supported"); } }
Example #11
Source File: UploadService.java From flickr-uploader with GNU General Public License v2.0 | 5 votes |
static void checkForFilesToDelete() { if (Utils.isAutoDelete() && System.currentTimeMillis() - lastDeleteCheck > 3600 * 1000L) { lastDeleteCheck = System.currentTimeMillis(); Utils.setLongProperty("lastDeleteCheck", lastDeleteCheck); BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { long firstInstallTime = FlickrUploader.getAppContext().getPackageManager().getPackageInfo(FlickrUploader.getAppContext().getPackageName(), 0).firstInstallTime; long yesterday = System.currentTimeMillis() - 24 * 3600 * 1000L; List<Media> loadMedia = Utils.loadMedia(false); int nbFileDeleted = 0; for (Media media : loadMedia) { if (media.isUploaded() && media.getTimestampUploaded() > firstInstallTime && media.getTimestampUploaded() < yesterday) { boolean stillOnFlickr = FlickrApi.isStillOnFlickr(media); LOG.info("poundering deletion of : " + media + " : stillOnFlickr=" + stillOnFlickr); if (stillOnFlickr) { boolean deleted = new File(media.getPath()).delete(); LOG.warn("Deleting " + media + " " + ToolString.formatDuration(System.currentTimeMillis() - media.getTimestampUploaded()) + " after upload : deleted=" + deleted); media.delete(); nbFileDeleted++; } else if (FlickrApi.isNetworkOk()) { media.setFlickrId(null); media.save2(null); } } } if (nbFileDeleted > 0) { LOG.warn(nbFileDeleted + " files deleted"); Utils.loadMedia(true); } } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }); } }
Example #12
Source File: DrawerHandleView.java From flickr-uploader with GNU General Public License v2.0 | 5 votes |
public void onActivityResume() { BackgroundExecutor.execute(new Runnable() { @Override public void run() { nbMonitored = Utils.getFoldersMonitoredNb(); render(); } }); }
Example #13
Source File: AccountPropertiesManagerCore.java From moVirt with Apache License 2.0 | 5 votes |
private void notifyBackgroundListeners(Set<WrappedPropertyChangedListener> backgroundListeners, Object o) { BackgroundExecutor.execute(new BackgroundExecutor.Task("", 0L, "") { @Override public void execute() { try { notifyListeners(backgroundListeners, o); } catch (final Throwable e) { Thread.getDefaultUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e); } } }); }
Example #14
Source File: Notifications.java From flickr-uploader with GNU General Public License v2.0 | 4 votes |
public static void notifyProgress(final Media media) { try { if (!Utils.getBooleanProperty("notification_progress", true)) { return; } if (System.currentTimeMillis() - lastUpdate < 1000) { return; } lastUpdate = System.currentTimeMillis(); int currentPosition = UploadService.getRecentlyUploaded().size(); int total = UploadService.getNbTotal(); int progress = media.getProgress(); ensureBuilders(); Notification.Builder builder = builderUploading; builder.setProgress(1000, progress, false); builder.setContentText(media.getName()); builder.setContentInfo(currentPosition + " / " + total); CacheableBitmapDrawable bitmapDrawable = Utils.getCache().getFromMemoryCache(media.getPath() + "_" + VIEW_SIZE.small); if (bitmapDrawable == null || bitmapDrawable.getBitmap().isRecycled()) { BackgroundExecutor.execute(new Runnable() { @Override public void run() { final Bitmap bitmap = Utils.getBitmap(media, VIEW_SIZE.small); if (bitmap != null) { Utils.getCache().put(media.getPath() + "_" + VIEW_SIZE.small, bitmap); } } }); } else { builder.setLargeIcon(bitmapDrawable.getBitmap()); } Notification notification = builder.build(); notification.icon = android.R.drawable.stat_sys_upload_done; // notification.iconLevel = progress / 10; manager.notify(0, notification); } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } }
Example #15
Source File: RPC.java From flickr-uploader with GNU General Public License v2.0 | 4 votes |
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // LOG.trace("method : " + method); if (args == null) { args = new Object[0]; } final String key = method.getName() + "-" + getKey(args); Object lock = locks.get(key); long start = System.currentTimeMillis(); if (method.getReturnType() != void.class && lock != null && !responses.containsKey(key)) { synchronized (lock) { do { try { LOG.info("###### concurrent RPC call " + method.getReturnType().getSimpleName() + " " + method.getName() + "(" + Arrays.toString(args) + ")"); lock.wait(2 * HTTP_CACHE_TIMEOUT); } catch (InterruptedException e) { } } while (!responses.containsKey(key) && System.currentTimeMillis() - start < HTTP_CACHE_TIMEOUT); } } else { lock = new Object(); locks.put(key, lock); } try { Object object = null; String response; if (responses.containsKey(key)) { LOG.info("###### response still in cache : " + key + ", after " + ToolString.formatDuration(System.currentTimeMillis() - start)); object = responses.get(key); } else { int retry = 0; while (retry < DEFAULT_MAX_RETRIES) { retry++; response = postRpc(method, args); if (ToolString.isBlank(response)) { break; } else { object = Streams.decode(response); if (object instanceof Throwable) { LOG.warn("retry:" + retry + ", server exception :" + object.getClass().getName() + "," + ((Throwable) object).getMessage()); } else { break; } } } if (object != null) { responses.put(key, object); BackgroundExecutor.execute(new Runnable() { @Override public void run() { responses.remove(key); } }, HTTP_CACHE_TIMEOUT); } } if (object instanceof Throwable) { if (object instanceof StreamCorruptedException || object instanceof IOException) { LOG.warn(object.getClass().getSimpleName() + " on " + method.getName()); } else { LOG.error("Server error calling " + method.getName(), (Throwable) object); } return null; // throw new Exception(throwable.getClass().getSimpleName() + " : " + throwable.getMessage()); } return object; } finally { synchronized (lock) { lock.notifyAll(); locks.remove(key); } } }
Example #16
Source File: UploadService.java From flickr-uploader with GNU General Public License v2.0 | 4 votes |
public static void checkNewFiles() { BackgroundExecutor.execute(new Runnable() { @Override public void run() { try { final List<Media> medias; if (System.currentTimeMillis() - lastLoad > 5000) { medias = Utils.loadMedia(true); lastLoad = System.currentTimeMillis(); } else { medias = Utils.loadMedia(false); } if (medias == null || medias.isEmpty()) { LOG.info("no media found"); return; } Map<String, Folder> pathFolders = Utils.getFolders(false); if (pathFolders.isEmpty()) { LOG.info("no folder monitored"); return; } String canAutoUpload = Utils.canAutoUpload(); boolean autoUpload = "true".equals(canAutoUpload); final long uploadDelayMs = Utils.getUploadDelayMs(); long newestFileAge = 0; for (Media media : medias) { if (media.isImported()) { if (!autoUpload) { LOG.debug("not uploading " + media + " because " + canAutoUpload); media.setStatus(STATUS.PAUSED); continue; } else if (media.getMediaType() == MEDIA_TYPE.PHOTO && !Utils.isAutoUpload(MEDIA_TYPE.PHOTO)) { LOG.debug("not uploading " + media + " because photo upload disabled"); media.setStatus(STATUS.PAUSED); continue; } else if (media.getMediaType() == MEDIA_TYPE.VIDEO && !Utils.isAutoUpload(MEDIA_TYPE.VIDEO)) { LOG.debug("not uploading " + media + " because video upload disabled"); media.setStatus(STATUS.PAUSED); continue; } else { File file = new File(media.getPath()); if (file.exists()) { boolean uploaded = media.isUploaded(); LOG.debug("uploaded : " + uploaded + ", " + media); if (!uploaded) { Folder folder = pathFolders.get(media.getFolderPath()); if (folder == null || !folder.isAutoUploaded()) { media.setStatus(STATUS.PAUSED); LOG.debug("not uploading " + media + " because " + media.getFolderPath() + " is not monitored"); } else { int sleep = 0; while (file.length() < 100 && sleep < 5) { LOG.debug("sleeping a bit"); sleep++; Thread.sleep(1000); } long fileAge = System.currentTimeMillis() - file.lastModified(); LOG.debug("uploadDelayMs:" + uploadDelayMs + ", fileAge:" + fileAge + ", newestFileAge:" + newestFileAge); if (uploadDelayMs > 0) { media.setTimestampRetry(System.currentTimeMillis() + uploadDelayMs); } enqueue(true, Arrays.asList(media), folder.getFlickrSetTitle()); } } } else { LOG.debug("Deleted : " + file); media.deleteAsync(); } } } } } catch (Throwable e) { LOG.error(ToolString.stack2string(e)); } } }, "checkNewFiles", "checkNewFiles"); }
Example #17
Source File: BookDetail.java From iSCAU-Android with GNU General Public License v3.0 | 4 votes |
@Override public void onCancel(DialogInterface dialogInterface) { BackgroundExecutor.cancelAll(UIHelper.CANCEL_FLAG, true); finish(); }
Example #18
Source File: CommonActivity.java From iSCAU-Android with GNU General Public License v3.0 | 2 votes |
/** * 在进行http请求时,处理用户取消请求。 * * @param dialog */ @Override public void onCancel(DialogInterface dialog) { BackgroundExecutor.cancelAll(UIHelper.CANCEL_FLAG, true); }
Example #19
Source File: CommonFragment.java From iSCAU-Android with GNU General Public License v3.0 | 2 votes |
/** * 在进行http请求时,处理用户取消请求 * * @param dialog */ @Override public void onCancel(DialogInterface dialog) { BackgroundExecutor.cancelAll(UIHelper.CANCEL_FLAG, true); }