package com.ianhanniballake.contractiontimer.appwidget;
import android.content.Context;
import android.os.Build;
import android.support.annotation.NonNull;
/**
* Handles updating all App Widgets
*/
public abstract class AppWidgetUpdateHandler {
/**
* Creates a version appropriate AppWidgetUpdateHandler instance
*
* @return an appropriate AppWidgetUpdateHandler
*/
@NonNull
public static AppWidgetUpdateHandler createInstance() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
return new AppWidgetUpdateHandlerV11();
return new AppWidgetUpdateHandlerBase();
}
/**
* Updates all App Widgets with the latest information. This should be called whenever a contraction is updated
*
* @param context Context used to trigger updates, must not be null
*/
public abstract void updateAllWidgets(final Context context);
}