Android Open Source - longhorn Connectivity Broadcast Receiver






From Project

Back to project page longhorn.

License

The source code is released under:

Apache License

If you think the Android project longhorn listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2012 Santiago Valdarrama
 * //  w  w  w . ja  v  a  2  s.  c  o m
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.svpino.longhorn.receivers;

import static com.svpino.longhorn.artifacts.Extensions.areWeUsingWiFi;
import static com.svpino.longhorn.artifacts.Extensions.isTheBatteryPluggedIn;
import android.app.AlarmManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.util.Log;

import com.svpino.longhorn.artifacts.Constants;
import com.svpino.longhorn.artifacts.Extensions;
import com.svpino.longhorn.data.DataProvider;

public class ConnectivityBroadcastReceiver extends BroadcastReceiver {

  private final static String LOG_TAG = ConnectivityBroadcastReceiver.class.getName();

  @Override
  public void onReceive(Context context, Intent intent) {
    if (Extensions.areWeOnline(context)) {
      SharedPreferences sharedPreferences = context.getSharedPreferences(Constants.PREFERENCES, Context.MODE_PRIVATE);
      boolean wereWeWaitingForConnectivity = sharedPreferences.getBoolean(Constants.PREFERENCE_STATUS_WAITING_FOR_CONNECTIVITY, false);

      if (wereWeWaitingForConnectivity) {
        Log.d(LOG_TAG, "Connectivity was just re-established, so let's make a global market information collection.");

        DataProvider.startStockQuoteCollectorService(context, null);

        ComponentName componentName = new ComponentName(context, ConnectivityBroadcastReceiver.class);
        context.getPackageManager().setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
      }
      else {
        if (areWeUsingWiFi(context)) {
          if (isTheBatteryPluggedIn(context)) {
            Log.d(LOG_TAG, "We are on WiFi and charging, so we are good to start updating the app.");

            ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)).setInexactRepeating(
              AlarmManager.RTC_WAKEUP,
              System.currentTimeMillis(),
              AlarmManager.INTERVAL_HALF_HOUR,
              Extensions.createPendingIntent(context, Constants.SCHEDULE_BACKGROUND));
          }
        }
        else {
          Log.d(LOG_TAG, "We aren't using WiFi, so let's no bother the phone with any new updates.");
          ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)).cancel(Extensions.createPendingIntent(context, Constants.SCHEDULE_BACKGROUND));
        }
      }
    }
    else {
      Log.d(LOG_TAG, "We aren't online, so let's no bother the phone with any new updates.");
      ((AlarmManager) context.getSystemService(Context.ALARM_SERVICE)).cancel(Extensions.createPendingIntent(context, Constants.SCHEDULE_BACKGROUND));
    }
  }

}




Java Source Code List

com.svpino.longhorn.MarketCollectorService.java
com.svpino.longhorn.activities.DashboardActivity.java
com.svpino.longhorn.artifacts.Constants.java
com.svpino.longhorn.artifacts.Extensions.java
com.svpino.longhorn.artifacts.StockOverviewManager.java
com.svpino.longhorn.artifacts.StockTileProcessor.java
com.svpino.longhorn.artifacts.StockTileViewHolder.java
com.svpino.longhorn.artifacts.TabFragment.java
com.svpino.longhorn.artifacts.back.BackStack.java
com.svpino.longhorn.artifacts.back.StockOverviewBackStackItem.java
com.svpino.longhorn.data.DataProvider.java
com.svpino.longhorn.data.LonghornDatabase.java
com.svpino.longhorn.data.LonghornOpenHelper.java
com.svpino.longhorn.fragments.StockListFragment.java
com.svpino.longhorn.layouts.BorderRelativeLayout.java
com.svpino.longhorn.layouts.StockOverviewLayout.java
com.svpino.longhorn.model.Stock.java
com.svpino.longhorn.providers.SearchContentProvider.java
com.svpino.longhorn.receivers.BatteryBroadcastReceiver.java
com.svpino.longhorn.receivers.ConnectivityBroadcastReceiver.java
com.svpino.longhorn.receivers.MarketCollectionReceiver.java