@Override protected void onHandleIntent(Intent intent) { if (intent.getExtras() != null) { String personId = intent.getStringExtra("person_id"); Realm realm = Realm.getDefaultInstance(); Person person = realm.where(Person.class).equalTo("id", personId).findFirst(); final String output = person.toString(); new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(), "Loaded Person from broadcast-receiver->intent-service: " + output, Toast.LENGTH_LONG).show(); } }); realm.close(); } // All the work is done, release the wake locks/etc WakefulBroadcastReceiver.completeWakefulIntent(intent); }
@Override protected void onHandleIntent(@Nullable Intent intent) { if(intent == null) return; try { final String action = intent.getAction(); if(ACTION_CHECK.equals(action)) { loadNotifications(); } else if(ACTION_DELETE.equals(action) && intent.hasExtra("notification")) { Editor.getEditor(this).markNotificationThreadRead( ((Notification) intent.getParcelableExtra("notification")).getId() ); } } finally { Logger.i(TAG, "onHandleIntent: " + intent.toString()); WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override public int onStartCommand(Intent intent, int flags, int startId) { LOGD(TAG, "onStartCommand: " + (intent != null ? intent.toString() : "no intent")); enforceCallingPermission(DashClockExtension.PERMISSION_READ_EXTENSION_DATA); if (intent != null) { String action = intent.getAction(); if (ACTION_UPDATE_WIDGETS.equals(action)) { handleUpdateWidgets(intent); } else if (ACTION_UPDATE_EXTENSIONS.equals(action)) { handleUpdateExtensions(intent); } // If started by a wakeful broadcast receiver, release the wake lock it acquired. WakefulBroadcastReceiver.completeWakefulIntent(intent); } return START_STICKY; }
@Override protected void onHandleIntent(Intent intent) { Log.d(getClass().getSimpleName(), "onHandleIntent, started handling a notification event"); try { String action = intent.getAction(); if (ACTION_START.equals(action)) { Contact contact = intent.getParcelableExtra(EXTRA_CONTACT_NOTIFICATION); //TODO processStartNotification(contact); } if (ACTION_DELETE.equals(action)) { processDeleteNotification(intent); } } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this); String messageType = gcm.getMessageType(intent); if (!extras.isEmpty()) { // has effect of unparcelling Bundle if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR .equals(messageType)) { } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED .equals(messageType)) { } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE .equals(messageType)) { if (MyApp.getInstance().isPushEnabled()) { sendNotification("Received: " + extras.toString()); } } } WakefulBroadcastReceiver.completeWakefulIntent(intent); }
public int onStartCommand(Intent intent, int flags, int startId) { synchronized (this) { this.counter++; if (startId > this.startId) this.startId = startId; } try { if (intent != null) { if (ACTION_INSTANCE_ID.equals(intent.getAction()) && intent.hasExtra(EXTRA_GSF_INTENT)) { startService((Intent) intent.getParcelableExtra(EXTRA_GSF_INTENT)); return START_STICKY; } handleIntent(intent); if (intent.hasExtra(EXTRA_FROM)) WakefulBroadcastReceiver.completeWakefulIntent(intent); } } finally { stop(); } return START_NOT_STICKY; }
@Override public int onStartCommand(Intent intent, int flags, int startId) { connectGoogleApiClient(); initLocalVars(intent); showOngoingNotification(); listenForUpdates(); startCompassActivity(); if(useWatchCompass) { setupLocationUtils(cacheLocation); locationUtils.startDirectionalTracking(getApplicationContext()); } WakefulBroadcastReceiver.completeWakefulIntent(intent); return START_REDELIVER_INTENT; }
@SuppressWarnings("MissingPermission") @Override protected void onHandleIntent(Intent intent) { try { if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(PREF_ENABLE_CHECKIN, false)) { LastCheckinInfo info = CheckinManager.checkin(this, intent.getBooleanExtra(EXTRA_FORCE_CHECKIN, false)); if (info != null) { Log.d(TAG, "Checked in as " + Long.toHexString(info.androidId)); String accountType = AuthConstants.DEFAULT_ACCOUNT_TYPE; for (Account account : AccountManager.get(this).getAccountsByType(accountType)) { PeopleManager.loadUserInfo(this, account); } McsService.scheduleReconnect(this); if (intent.hasExtra(EXTRA_CALLBACK_INTENT)) { startService((Intent) intent.getParcelableExtra(EXTRA_CALLBACK_INTENT)); } } } } catch (Exception e) { Log.w(TAG, e); } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); stopSelf(); } }
@Override public int onStartCommand(Intent intent, int flags, int startId) { synchronized (McsService.class) { if (rootHandler != null) { if (intent == null) return START_REDELIVER_INTENT; wakeLock.acquire(WAKELOCK_TIMEOUT); Object reason = intent.hasExtra(EXTRA_REASON) ? intent.getExtras().get(EXTRA_REASON) : intent; if (ACTION_CONNECT.equals(intent.getAction())) { rootHandler.sendMessage(rootHandler.obtainMessage(MSG_CONNECT, reason)); } else if (ACTION_HEARTBEAT.equals(intent.getAction())) { rootHandler.sendMessage(rootHandler.obtainMessage(MSG_HEARTBEAT, reason)); } else if (ACTION_SEND.equals(intent.getAction())) { handleSendMessage(intent); } WakefulBroadcastReceiver.completeWakefulIntent(intent); } else if (connectIntent == null) { connectIntent = intent; } else { WakefulBroadcastReceiver.completeWakefulIntent(intent); } } return START_REDELIVER_INTENT; }
@Override public int onStartCommand(Intent intent, int flags, int startId) { LOGD(TAG, "onStartCommand: " + (intent != null ? intent.toString() : "no intent")); if (intent != null) { String action = intent.getAction(); if (ACTION_UPDATE_WIDGETS.equals(action)) { handleUpdateWidgets(intent); } else if (ACTION_UPDATE_EXTENSIONS.equals(action)) { handleUpdateExtensions(intent); } // If started by a wakeful broadcast receiver, release the wake lock it acquired. WakefulBroadcastReceiver.completeWakefulIntent(intent); } return START_STICKY; }
@Override public void onReceive(Context context, Intent intent) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); if(prefs.getBoolean(RSSRelatedConstants.NOTIF_KEYS[0], true) && !prefs.getBoolean(MainActivity.FIRST_OPEN, true)) { RSSScheduledServiceHelper.startScheduled(context); WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override protected void onHandleIntent(Intent intent) { Log.i(TAG, "Sync intent received. Fetching data from network."); sSunshineSyncEngine.performUpdate(); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); }
@Override public void onReceive(Context context, Intent intent) { // Pass right over to SMSDispatcherIntentService class, the wakeful receiver is // just needed in case the schedule is triggered while the device // is asleep otherwise the service may not have time to trigger the // alarm. intent.setClass(context, SMSDispatcherIntentService.class); WakefulBroadcastReceiver.startWakefulService(context, intent); }
@Override protected void onHandleIntent(Intent intent) { try { String to = intent.getStringExtra(TO_KEY); String text = intent.getStringExtra(TEXT_KEY); Log.i("SMS Dispatcher", "Delivering message to " + text); SmsManager sms = SmsManager.getDefault(); Intent deliveredIntent = new Intent("sms_delivered"); deliveredIntent.putExtra(SMSDispatcher.TO_KEY, to); deliveredIntent.putExtra(SMSDispatcher.TEXT_KEY, text); sms.sendTextMessage(to, null, text, null, null); } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiLoyaltyCardService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); Device device = Device.registeredDevice(); // cozy register device url designUrl = device.getUrl() + "/ds-api/request/loyaltycard/all/"; syncUrl = device.getUrl() + "/ds-api/data/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { EventBus.getDefault().post(new LoyaltyCardSyncEvent(SYNC_MESSAGE, "Getting loyalty cards from Cozy...")); getRemoteLoyaltyCards(); mNotifyManager.cancel(notification_id); sendChangesToCozy(); EventBus.getDefault().post(new LoyaltyCardSyncEvent(REFRESH, "Sync OK")); } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new LoyaltyCardSyncEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new LoyaltyCardSyncEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
private void releaseWakeLock() { if (gcmIntent.getBooleanExtra(Constants.EXTRA_HAS_WAKELOCK, false)) { Intent intent = gcmIntent; gcmIntent = null; WakefulBroadcastReceiver.completeWakefulIntent(intent); } else { gcmIntent = null; } }
@Override protected void onHandleIntent(Intent intent) { if (intent == null) return; try { final String action = intent.getAction(); if (action == null) return; if (ACTION_NEW_EXTERNAL_STATUSLINE.equals(action)) { String statusline = intent.getStringExtra(EXTRA_STATUSLINE); if (statusline != null) { if (statusline.length() > MAX_LEN) { statusline = statusline.substring(0, MAX_LEN); } // store the data PersistentStore.setString(EXTERNAL_STATUS_STORE, statusline); PersistentStore.setLong(EXTERNAL_STATUS_STORE_TIME, JoH.tsl()); // notify observers NewDataObserver.newExternalStatus(); } } } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
private void handleOnEnsureSubscribed(Intent intent) { try { int checkPlayservicesAvailable = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this); if (checkPlayservicesAvailable != ConnectionResult.SUCCESS) { // just let the MainActivity take care of it. Intent activityIntent = new Intent(getApplicationContext(), MainActivity.class); PendingIntent contentIntent = TaskStackBuilder.create(this) .addNextIntentWithParentStack(activityIntent) .getPendingIntent(PENDING_INTENT_PLAY_SERVICES_NOT_AVAILABLE, PendingIntent.FLAG_UPDATE_CURRENT); android.support.v4.app.NotificationCompat.Builder notification = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.common_ic_googleplayservices) .setContentTitle(getText(R.string.notification_play_services_not_available_title)) .setContentText(getText(R.string.notification_play_services_not_available_text)) .setAutoCancel(true) .setContentIntent(contentIntent) .addAction(R.drawable.ic_build_black_24dp, getString(R.string.notification_play_services_not_available_action_fix_it), contentIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICATION_PLAY_SERVICES_NOT_AVAILABLE, notification.build()); } else { FirebaseMessaging.getInstance().subscribeToTopic(TOPIC_NON_CORE_BLOCK_MINED); } } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override protected void onHandleIntent(Intent intent) { // This describes what will happen when service is triggered // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); }
protected void onHandleIntent(Intent paramIntent) { Account[] arrayOfAccount = AccountHandler.getAccounts(FinskyApp.get()); final CountDownLatch localCountDownLatch = new CountDownLatch(arrayOfAccount.length); Runnable local1 = new Runnable() { public final void run() { localCountDownLatch.countDown(); } }; int i = arrayOfAccount.length; for (int j = 0; j < i; j++) { Account localAccount = arrayOfAccount[j]; Object[] arrayOfObject2 = new Object[1]; arrayOfObject2[0] = FinskyLog.scrubPii(localAccount.name); FinskyLog.d("Flushing event logs for %s", arrayOfObject2); FinskyApp.get().getEventLogger(localAccount).flush(local1); } try { if (!localCountDownLatch.await(((Long)G.flushLogsWaitTimeoutMs.get()).longValue(), TimeUnit.MILLISECONDS)) { Object[] arrayOfObject1 = new Object[1]; arrayOfObject1[0] = G.flushLogsWaitTimeoutMs.get(); FinskyLog.d("Logs flushing took more than %d ms. Releasing wake lock.", arrayOfObject1); } FinskyPreferences.logsFlushScheduleExpiredTimestampMs.put(Long.valueOf(0L)); WakefulBroadcastReceiver.completeWakefulIntent(paramIntent); return; } catch (InterruptedException localInterruptedException) { for (;;) { FinskyLog.d("Logs flushing was interrupted. Releasing wake lock.", new Object[0]); } } }
@Override protected void onHandleIntent(Intent intent) { if (intent == null) return; final String action = intent.getAction(); try { if (ACTION_NEW_EXTERNAL_STATUSLINE.equals(action)) { String statusline = intent.getStringExtra(EXTRA_STATUSLINE); if(statusline.length() > MAX_LEN){ statusline = statusline.substring(0, MAX_LEN); } if(statusline != null) { // send to wear if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("wear_sync", false)) { startService(new Intent(this, WatchUpdaterService.class).setAction(WatchUpdaterService.ACTION_SEND_STATUS).putExtra("externalStatusString", statusline)); /*By integrating the watch part of Nightwatch we inherited the same wakelock problems NW had - so adding the same quick fix for now. TODO: properly "wakelock" the wear (and probably pebble) services */ PowerManager powerManager = (PowerManager) this.getSystemService(Context.POWER_SERVICE); powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "quickFix4").acquire(15000); } } } } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override protected void onHandleIntent(Intent intent) { if (intent == null) return; final String action = intent.getAction(); try { if (ACTION_NEW_DATA.equals(action)) { final double bgEstimate = intent.getDoubleExtra(Intents.EXTRA_BG_ESTIMATE, 0); if (bgEstimate == 0) return; int battery = intent.getIntExtra(Intents.EXTRA_SENSOR_BATTERY, 0); final Bg bg = new Bg(); bg.direction = intent.getStringExtra(Intents.EXTRA_BG_SLOPE_NAME); bg.battery = Integer.toString(battery); bg.bgdelta = (intent.getDoubleExtra(Intents.EXTRA_BG_SLOPE, 0) * 1000 * 60 * 5); bg.datetime = intent.getLongExtra(Intents.EXTRA_TIMESTAMP, new Date().getTime()); //bg.sgv = Integer.toString((int) bgEstimate, 10); bg.sgv = Math.round(bgEstimate)+""; bg.raw = intent.getDoubleExtra(Intents.EXTRA_RAW, 0); bg.save(); DataCollectionService.newDataArrived(this, true, bg); } } finally { WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override public void onHandleIntent(Intent intent) { new MyLog(this, "onHandleIntent(" .concat(intent.toString()) .concat(")")); if (intent.getAction() == MUTESERVICE_RESET) { doReset(); } updateState(intent); WakefulBroadcastReceiver.completeWakefulIntent(intent); }
@Override public void onReceive(Context context, Intent intent) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); Bundle extras = intent.getExtras(); String messageType = gcm.getMessageType(intent); if (!extras.isEmpty()) { if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) { ActorSDK.sharedActor().waitForReady(); if (extras.containsKey("seq")) { int seq = Integer.parseInt(extras.getString("seq")); int authId = Integer.parseInt(extras.getString("authId", "0")); Log.d(TAG, "Push received #" + seq); ActorSDK.sharedActor().getMessenger().onPushReceived(seq, authId); setResultCode(Activity.RESULT_OK); } else if (extras.containsKey("callId")) { long callId = Long.parseLong(extras.getString("callId")); int attempt = 0; if (extras.containsKey("attemptIndex")) { attempt = Integer.parseInt(extras.getString("attemptIndex")); } Log.d(TAG, "Received Call #" + callId + " (" + attempt + ")"); ActorSDK.sharedActor().getMessenger().checkCall(callId, attempt); setResultCode(Activity.RESULT_OK); } } } WakefulBroadcastReceiver.completeWakefulIntent(intent); }
@Override public int onStartCommand(Intent intent, int flags, int startId) { Log.d(TAG, "onStartCommand"); // Release the wake lock if(intent != null) { WakefulBroadcastReceiver.completeWakefulIntent(intent); } return START_STICKY; }
protected void releaseWakeLock(Intent intent) { if (intent != null) { // Release the WakeLock if there is one. Calling completeWakefulIntent is safe even if // there is no wakelock held. WakefulBroadcastReceiver.completeWakefulIntent(intent); } }
@Override public void run() { Looper.prepare(); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "mcs"); wakeLock.setReferenceCounted(false); synchronized (McsService.class) { rootHandler = new Handler(Looper.myLooper(), McsService.this); if (connectIntent != null) { rootHandler.sendMessage(rootHandler.obtainMessage(MSG_CONNECT, connectIntent)); WakefulBroadcastReceiver.completeWakefulIntent(connectIntent); } } Looper.loop(); }
private void releaseWakeLock() { if (mIntent.getBooleanExtra(EXTRA_HAS_WAKELOCK, false)) { Intent intent = mIntent; mIntent = null; WakefulBroadcastReceiver.completeWakefulIntent(intent); } else { mIntent = null; } }
@Override protected void onHandleIntent(Intent intent) { Log.d(getClass().getSimpleName(), "onHandleIntent, started handling a notification event"); WakefulBroadcastReceiver.completeWakefulIntent(intent); }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiContactService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); allContacts = new ArrayList<>(); Device device = Device.registeredDevice(); // cozy register device url designUrl = device.getUrl() + "/ds-api/request/contact/all/"; syncUrl = device.getUrl() + "/ds-api/data/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { // read local sms log first //readContactDatabase(); EventBus.getDefault().post(new CallSyncEvent(SYNC_MESSAGE, "Getting remote contacts from Cozy...")); getRemoteContacts(); mBuilder.setContentText(getString(R.string.lbl_contacts_sync_done)); mBuilder.setProgress(0, 0, false); mNotifyManager.notify(notification_id, mBuilder.build()); mNotifyManager.cancel(notification_id); sendChangesToCozy(); mNotifyManager.cancel(notification_id); EventBus.getDefault().post(new ContactSyncEvent(REFRESH, "Sync OK")); } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new ContactSyncEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new ContactSyncEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiFileService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); allFiles = new ArrayList<>(); Device device = Device.registeredDevice(); // cozy register device url folderUrl = device.getUrl() + "/ds-api/request/folder/cosiall/"; fileUrl = device.getUrl() + "/ds-api/request/file/cosiall/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { // read local sms log first new Delete().from(File.class).execute(); getAllRemoteFolders(); getAllRemoteFiles(); mBuilder.setContentText(getString(R.string.lbl_sms_sync_done)); mBuilder.setProgress(0, 0, false); mNotifyManager.notify(notification_id, mBuilder.build()); if (!allFiles.isEmpty()) { mNotifyManager.cancel(notification_id); EventBus.getDefault().post(new FileSyncEvent(REFRESH, "Sync OK")); } else { EventBus.getDefault().post(new FileSyncEvent(SERVICE_ERROR, "Sync failed")); } } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new FileSyncEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new FileSyncEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiCallService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); allCalls = new ArrayList<>(); Device device = Device.registeredDevice(); // cozy register device url designUrl = device.getUrl() + "/ds-api/request/call/all/"; syncUrl = device.getUrl() + "/ds-api/data/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { // read local sms log first readCallLog(); EventBus.getDefault().post(new CallSyncEvent(SYNC_MESSAGE, "Getting remote calls from Cozy...")); getRemoteCalls(); mBuilder.setContentText(getString(R.string.lbl_sms_sync_done)); mBuilder.setProgress(0, 0, false); mNotifyManager.notify(notification_id, mBuilder.build()); if (!allCalls.isEmpty()) { mNotifyManager.cancel(notification_id); sendChangesToCozy(); EventBus.getDefault().post(new CallSyncEvent(REFRESH, "Sync OK")); } else { EventBus.getDefault().post(new CallSyncEvent(SERVICE_ERROR, "Sync failed")); } } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new CallSyncEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new CallSyncEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiExpenseService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); // delete local expenses new Delete().from(Expense.class).execute(); Device device = Device.registeredDevice(); // cozy register device url designUrl = device.getUrl() + "/ds-api/request/expense/all/"; syncUrl = device.getUrl() + "/ds-api/data/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { EventBus.getDefault().post(new ExpenseSyncEvent(SYNC_MESSAGE, "Getting expenses from Cozy...")); getRemoteExpenses(); mNotifyManager.cancel(notification_id); sendChangesToCozy(); EventBus.getDefault().post(new ExpenseSyncEvent(REFRESH, "Sync OK")); } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new ExpenseSyncEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new ExpenseSyncEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
@Override protected void onHandleIntent(Intent intent) { // Do the task here Log.i(CosiSmsService.class.getName(), "Cosi Service running"); // Release the wake lock provided by the WakefulBroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); allSms = new ArrayList<>(); Device device = Device.registeredDevice(); // cozy register device url designUrl = device.getUrl() + "/ds-api/request/sms/all/"; syncUrl = device.getUrl() + "/ds-api/data/"; // concatenate username and password with colon for authentication final String credentials = device.getLogin() + ":" + device.getPassword(); authHeader = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); showNotification(); if (isNetworkAvailable()) { try { // read local sms log first readSmsDatabase(); EventBus.getDefault().post(new SmsSyncEvent(SYNC_MESSAGE, "Getting remote messages from Cozy...")); getRemoteMessages(); mBuilder.setContentText(getString(R.string.lbl_sms_sync_done)); mBuilder.setProgress(0, 0, false); mNotifyManager.notify(notification_id, mBuilder.build()); if (!allSms.isEmpty()) { mNotifyManager.cancel(notification_id); sendChangesToCozy(); EventBus.getDefault().post(new SmsSyncEvent(REFRESH, "Sync OK")); } else { EventBus.getDefault().post(new MessageEvent(SERVICE_ERROR, "Sync failed")); } } catch (Exception e) { e.printStackTrace(); mSyncRunning = false; EventBus.getDefault().post(new MessageEvent(SERVICE_ERROR, e.getLocalizedMessage())); } } else { mSyncRunning = false; EventBus.getDefault().post(new MessageEvent(SERVICE_ERROR, "No Internet connection")); mBuilder.setContentText("Sync failed because no Internet connection was available"); mNotifyManager.notify(notification_id, mBuilder.build()); } }
/** * {@inheritDoc} */ @Override public int onStartCommand(Intent intent, int flags, int id) { /* * Check alarm. */ setupAlarm(); /* * Release wake-up lock. */ if (intent.getAction() == Intent.ACTION_BOOT_COMPLETED) { WakefulBroadcastReceiver.completeWakefulIntent(intent); } /* * Single training cycle. */ (new AsyncTask<Void, Void, Void>() { /** * Network training. */ @Override protected Void doInBackground(Void... params) { loadNetwork(); annTrainingError = trainNetwork(); storeOnRemote = net; saveNetwork(); /* * Stop service. */ NetworkTrainingService.this.stopSelf(); return null; } }).execute(); return START_NOT_STICKY; }
@Override protected void onHandleIntent(Intent intent) { // BEGIN_INCLUDE(service_onhandle) int count = 0; boolean connection_flag = true; ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); NetworkInfo mMobile = connManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mMobile!=null&&mMobile.isAvailable()) connection_flag=mMobile.isConnected()&&mWifi.isConnected(); else connection_flag=mWifi.isConnected(); mFeedProvider = new FeedProvider(this); mFeedProvider.openToRead(); channelList = mFeedProvider.getAllChannelsByDate(); mFeedProvider.close(); deleteOutdatedArticles(channelList); if (connection_flag&&isConnectedToServer(URL, 5 * 1000)) { rssFeedList = downloadFeedFromUrl(channelList); if (rssFeedList != null) count = syncDatabaseWithFeed(rssFeedList); // If the app got new feeds from one or more channels, it will send // a notification to the user. Otherwise, it // remains silent. if (0 != count) { sendNotification(getString(R.string.string_synchronized) + count); // TODO How to show tell the user which channel get updated?? if (Constants.LOGD) Log.i(TAG, "New item"); } else { if (Constants.LOGD) sendNotification(getString(R.string.string_failed)); if (Constants.LOGD) Log.i(TAG, "No new Item. :-("); } }else { if (Constants.LOGD) sendNotification("No internet connection"); } // Release the wake lock provided by the BroadcastReceiver. WakefulBroadcastReceiver.completeWakefulIntent(intent); // END_INCLUDE(service_onhandle) }
@Override public int onStartCommand(final Intent intent, int flags, final int startId) { if (intent.getAction() == null) { stopSelf(); return START_NOT_STICKY; } String action = intent.getAction(); if (ACTION_DOWNLOAD_CURRENT_ARTWORK.equals(action)) { // Handle internal download artwork request new DownloadArtworkTask(this) { PowerManager.WakeLock lock; @Override protected void onPreExecute() { super.onPreExecute(); // This is normally not started by a WakefulBroadcastReceiver so request a // new wakelock. PowerManager pwm = (PowerManager) getSystemService(POWER_SERVICE); lock = pwm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); lock.acquire(DOWNLOAD_ARTWORK_WAKELOCK_TIMEOUT_MILLIS); } @Override protected void onPostExecute(Boolean success) { super.onPostExecute(success); if (success) { cancelArtworkDownloadRetries(); } else { scheduleRetryArtworkDownload(); } if (lock.isHeld()) { lock.release(); } WakefulBroadcastReceiver.completeWakefulIntent(intent); stopSelf(startId); } }.execute(); } return START_REDELIVER_INTENT; }