package com.cfap.cfadevicemanager.services;
import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v4.content.LocalBroadcastManager;
import com.cfap.cfadevicemanager.dbmodels.DataTrackerDBModel;
import com.cfap.cfadevicemanager.models.TrafficSnapshot;
import com.cfap.cfadevicemanager.utils.Intents;
import com.cfap.cfadevicemanager.utils.SharedPrefUtils;
/**
* Created by PraveenKatha on 30/09/15.
*/
public class AppTrackerService extends IntentService {
public AppTrackerService() {
this("AppTrackerService");
}
public AppTrackerService(String name) {
super(name);
}
@Override
protected void onHandleIntent(Intent intent) {
String action = intent.getAction();
boolean prevWifiStatus = SharedPrefUtils.getCurrentWifiStatus(getApplicationContext());
TrafficSnapshot trafficSnapshot = TrafficSnapshot.getCurrentTrafficSnapshot(getApplicationContext());
DataTrackerDBModel.addOrUpdateTrafficSnapshot(trafficSnapshot, getApplicationContext(), prevWifiStatus, action.equals(Intent.ACTION_SHUTDOWN));
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
System.out.println("Wifi connection changed");
} else if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
System.out.println("BOOT UP COMPLETED");
} else if (action.equals(Intent.ACTION_SHUTDOWN)) {
System.out.println("SHUT DOWN");
} else if (action.equals(Intent.ACTION_DATE_CHANGED)) {
System.out.println("DATE CHANGED");
} else if (action.equals(Intents.APP_INSTALL_EVENT)) {
System.out.println("FIRST TIME APP INSTALLED");
}
ConnectivityManager connManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
SharedPrefUtils.updateCurrentWifiStatus(mWifi.isConnected(), getApplicationContext());
LocalBroadcastManager.getInstance(this).sendBroadcast((new Intent(Intents.APP_DATA_UPDATED_EVENT)));
}
}