/**@class android.widget.RemoteViewsService.RemoteViewsFactory An interface for an adapter between a remote collection view (ListView, GridView, etc) and the underlying data for that view. The implementor is responsible for making a RemoteView for each item in the data set. This interface is a thin wrapper around {@link android.widget.Adapter}. @see android.widget.Adapter @see android.appwidget.AppWidgetManager */ var RemoteViewsFactory = { /**Called when your factory is first constructed. The same factory may be shared across multiple RemoteViewAdapters depending on the intent passed. */ onCreate : function( ) {}, /**Called when notifyDataSetChanged() is triggered on the remote adapter. This allows a RemoteViewsFactory to respond to data changes by updating any internal references. Note: expensive tasks can be safely performed synchronously within this method. In the interim, the old data will be displayed within the widget. @see android.appwidget.AppWidgetManager#notifyAppWidgetViewDataChanged(int[], int) */ onDataSetChanged : function( ) {}, /**Called when the last RemoteViewsAdapter that is associated with this factory is unbound. */ onDestroy : function( ) {}, /**See {@link android.widget.Adapter#getCount()} @return {Number} Count of items. */ getCount : function( ) {}, /**See {@link android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)}. Note: expensive tasks can be safely performed synchronously within this method, and a loading view will be displayed in the interim. See {@link #getLoadingView}(). @param {Number} position The position of the item within the Factory's data set of the item whose view we want. @return {Object {android.widget.RemoteViews}} A RemoteViews object corresponding to the data at the specified position. */ getViewAt : function( ) {}, /**This allows for the use of a custom loading view which appears between the time that {@link #getViewAt}(int) is called and returns. If null is returned, a default loading view will be used. @return {Object {android.widget.RemoteViews}} The RemoteViews representing the desired loading view. */ getLoadingView : function( ) {}, /**See {@link android.widget.Adapter#getViewTypeCount()}. @return {Number} The number of types of Views that will be returned by this factory. */ getViewTypeCount : function( ) {}, /**See {@link android.widget.Adapter#getItemId(int)}. @param {Number} position The position of the item within the data set whose row id we want. @return {Number} The id of the item at the specified position. */ getItemId : function( ) {}, /**See {@link android.widget.Adapter#hasStableIds()}. @return {Boolean} True if the same id always refers to the same object. */ hasStableIds : function( ) {}, };