content: package com.example.datadroiddemo.base;
  
  import android.view.View;
  import android.widget.TextView;
  
  import com.foxykeep.datadroid.requestmanager.Request;
  
  /**
   * Define the interface for UI related, eg. activity, fragment
   */
  public interface RequestBaseUi extends RequestBase {
  
  	/**
  	 * Get the content view id, work with setContentView(int layoutId) and
  	 * inflate(int layoutId)
  	 * 
  	 * @return the layout id
  	 */
  	public int getContentViewId();
  
  	/**
  	 * Do the initialization of the cursor loader to load cached data from DB
  	 */
  	public void initLoader();
  
  	/**
  	 * Get the first request to launch
  	 * 
  	 * @return the first request
  	 */
  	public Request getInitialRequest();
  
  	/**
  	 * Get the error indicate view
  	 * 
  	 * @return indicator view for errors
  	 */
  	public View getErrorIndicatorLayout();
  
  	/**
  	 * Get the error msg indicate view
  	 * 
  	 * @return indicator view for errors
  	 */
  	public TextView getErrorMsgTextView();
  
  	/**
  	 * Indicate the need to show the data loading progress
  	 */
  	public boolean needShowLoadingIndicator();
  
  	/**
  	 * Get the loading progress view
  	 * 
  	 * @return indicator view for loading progress
  	 */
  	public View getLoadingIndicatorView();
  
  	/**
  	 * Indicate the data loading begins. User could show some progress dialog
  	 */
  	public void onLoadingIndicatorShow();
  
  	/**
  	 * Indicate the data loading ends. User could hide some progress dialog
  	 */
  	public void onLoadingIndicatorHide();
  }
  