package com.cfap.cfadevicemanager.dbmodels; import android.content.Context; import android.provider.BaseColumns; import com.cfap.cfadevicemanager.models.AppTrafficRecord; import com.cfap.cfadevicemanager.models.TrafficSnapshot; import org.joda.time.DateTime; import java.util.ArrayList; import java.util.List; /** * Created by PraveenKatha on 29/09/15. */ public class DataTrackerDBModel implements BaseColumns { public static final String TABLE_NAME = "app_data_tracker"; public static final String COLUMN_NAME_APP_NAME = "app_name"; public static final String COLUMN_NAME_APP_ICON = "app_icon"; public static final String COLUMN_NAME_APP_UID = "app_uid"; public static final String COLUMN_NAME_APP_MOBILE_DATA = "app_mobile_data"; public static final String COLUMN_NAME_APP_WIFI_DATA = "app_wifi_data"; public static final String COLUMN_NAME_APP_RECENT_DATA_STAMP = "app_recent_data_stamp"; public static final String COLUMN_NAME_DAY = "day"; public static void addOrUpdateTrafficSnapshot(TrafficSnapshot trafficSnapshot, Context context, boolean isWifi, boolean onShutDown) { DataTrackerDBHelper dbHelper = DataTrackerDBHelper.getInstance(context); if (!dbHelper.isSnapshotExistForDay(trafficSnapshot.getDay())) { dbHelper.insertAppTrafficRecord(trafficSnapshot); } else { ArrayList<AppTrafficRecord> appTrafficRecords = dbHelper.getAllAppsTrafficToday(trafficSnapshot.getDay()); for (AppTrafficRecord appTrafficRecord : appTrafficRecords) { appTrafficRecord.updateData(trafficSnapshot.getSnapshot(appTrafficRecord.getUid()), isWifi, onShutDown); } dbHelper.updateAppTrafficRecords(appTrafficRecords, trafficSnapshot.getDay(), isWifi); } } public static List<AppTrafficRecord> getAppRecordsForToday(Context context) { DataTrackerDBHelper dbHelper = DataTrackerDBHelper.getInstance(context); return dbHelper.getAllAppsTrafficTodayUI(DateTime.now().toString("dd-MMM-yyyy")); } }