package ca.grocerygo.android.utils;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.content.LocalBroadcastManager;
import ca.grocerygo.android.services.NetworkHandler;
/**
* User: robert
* Date: 26/06/13
*/
public class GroceryRefreshTrigger {
public static final String SETTINGS_IS_NEW_DATA_AVA = "isNewDataAvailable";
public static void enableRefresh(Context context) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor settingsEditor = settings.edit();
settingsEditor.putBoolean(SETTINGS_IS_NEW_DATA_AVA, true);
settingsEditor.commit();
Bundle bundle = new Bundle();
bundle.putBoolean(SETTINGS_IS_NEW_DATA_AVA, true);
Intent localIntent = new Intent(NetworkHandler.REFRESH_COMPLETED_ACTION).putExtra("bundle", bundle);
LocalBroadcastManager.getInstance(context).sendBroadcast(localIntent);
}
public static void refreshAll(Context context) {
populateCategory(context);
populateStoreParent(context);
populateStore(context);
populateFlyer(context);
populateGrocery(context);
}
public static void stopAll(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
context.stopService(intent);
}
public static void populateCategory(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
intent.putExtra(NetworkHandler.REFRESH_CONTENT, NetworkHandler.CAT);
context.startService(intent);
}
public static void populateGrocery(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
intent.putExtra(NetworkHandler.REFRESH_CONTENT, NetworkHandler.GRO);
context.startService(intent);
}
public static void populateStoreParent(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
intent.putExtra(NetworkHandler.REFRESH_CONTENT, NetworkHandler.STO_PAR);
context.startService(intent);
}
public static void populateStore(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
intent.putExtra(NetworkHandler.REFRESH_CONTENT, NetworkHandler.STO);
context.startService(intent);
}
public static void populateFlyer(Context context) {
Intent intent = new Intent(context, NetworkHandler.class);
intent.putExtra(NetworkHandler.REFRESH_CONTENT, NetworkHandler.FLY);
context.startService(intent);
}
}