// Path: app/src/main/java/com/topnews/android/utils/UIUtils.java
// public class UIUtils {
// 
//     /**
//      * 获取上下文对象
//      * @return
//      */
//     public static Context getContext(){
// 
//         return BaseApplication.getmContext();
//     }
// 
//     /**
//      * 获取主线程id
//      * @return
//      */
//     public static int getMainThreadId(){
//         return BaseApplication.getMainThreadId();
//     }
// 
//     /**
//      * 获取handler实例
//      * @return
//      */
//     public static Handler getHandler(){
//         return BaseApplication.getmHandler();
//     }
// 
//     /**
//      * 判断当前是否运行在主线程
//      * @return
//      */
//     public static boolean isRunOnUiThread(){
//         return getMainThreadId()==android.os.Process.myTid();
//     }
// 
//     /**
//      * 确保当前的操作运行在UI主线程
//      * @param runnable
//      */
//     public static void runOnUiThread(Runnable runnable){
//         if(isRunOnUiThread()){
//             runOnUiThread(runnable);
//         }else{
//             getHandler().post(runnable);
//         }
//     }
// 
//     /**
//      * 获取字符串数组
//      * @param id
//      * @return
//      */
//     public static String[] getStringArray(int id){
//         return getContext().getResources().getStringArray(id);
//     }
// 
//     /**
//      * dp转px
//      * @param dp
//      * @return
//      */
//     public static int dip2px(int dp){
//         int mDensity=(int) getContext().getResources().getDisplayMetrics().density;
//         return dp*mDensity;
//     }
// 
//     /**
//      * px转dp
//      * @param px
//      * @return
//      */
//     public static float px2dip(int px){
//         float mDensity=getContext().getResources().getDisplayMetrics().density;
//         return px/mDensity;
//     }
// }


import android.content.Context;
import android.support.annotation.UiThread;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import com.topnews.android.R;
import com.topnews.android.utils.UIUtils;
        pageEmpty.setVisibility((currentState==PAGE_LOAD_NONE)?View.VISIBLE:View.GONE);

        pageError.setVisibility((currentState==PAGE_LOAD_FAIL)?View.VISIBLE:View.GONE);

        if (pageSuccess==null && currentState==PAGE_LOAD_SUCCESS){      //初始化加载数据成功的布局
            pageSuccess=onCreateSuccessView();

            if (pageSuccess!=null){
                addView(pageSuccess);
            }
        }

        if (pageSuccess!=null){
            pageSuccess.setVisibility((currentState==PAGE_LOAD_SUCCESS)?View.VISIBLE:View.GONE);
        }
    }

    /**
     * 数据加载
     */
    public void onLoad(){

        if (currentState!=PAGE_LOAD_LOADING){        //如果当前没有正在加载数据，就开始加载数据
            currentState=PAGE_LOAD_LOADING;
            new Thread(){

                @Override
                public void run() {
                    final ResultState mState=dataLoad();

// Path: app/src/main/java/com/topnews/android/utils/UIUtils.java
// public class UIUtils {
// 
//     /**
//      * 获取上下文对象
//      * @return
//      */
//     public static Context getContext(){
// 
//         return BaseApplication.getmContext();
//     }
// 
//     /**
//      * 获取主线程id
//      * @return
//      */
//     public static int getMainThreadId(){
//         return BaseApplication.getMainThreadId();
//     }
// 
//     /**
//      * 获取handler实例
//      * @return
//      */
//     public static Handler getHandler(){
//         return BaseApplication.getmHandler();
//     }
// 
//     /**
//      * 判断当前是否运行在主线程
//      * @return
//      */
//     public static boolean isRunOnUiThread(){
//         return getMainThreadId()==android.os.Process.myTid();
//     }
// 
//     /**
//      * 确保当前的操作运行在UI主线程
//      * @param runnable
//      */
//     public static void runOnUiThread(Runnable runnable){
//         if(isRunOnUiThread()){
//             runOnUiThread(runnable);
//         }else{
//             getHandler().post(runnable);
//         }
//     }
// 
//     /**
//      * 获取字符串数组
//      * @param id
//      * @return
//      */
//     public static String[] getStringArray(int id){
//         return getContext().getResources().getStringArray(id);
//     }
// 
//     /**
//      * dp转px
//      * @param dp
//      * @return
//      */
//     public static int dip2px(int dp){
//         int mDensity=(int) getContext().getResources().getDisplayMetrics().density;
//         return dp*mDensity;
//     }
// 
//     /**
//      * px转dp
//      * @param px
//      * @return
//      */
//     public static float px2dip(int px){
//         float mDensity=getContext().getResources().getDisplayMetrics().density;
//         return px/mDensity;
//     }
// }


// Path: app/src/main/java/com/topnews/android/view/LoadingPage.java
import android.content.Context;
import android.support.annotation.UiThread;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import com.topnews.android.R;
import com.topnews.android.utils.UIUtils;

        pageEmpty.setVisibility((currentState==PAGE_LOAD_NONE)?View.VISIBLE:View.GONE);

        pageError.setVisibility((currentState==PAGE_LOAD_FAIL)?View.VISIBLE:View.GONE);

        if (pageSuccess==null && currentState==PAGE_LOAD_SUCCESS){      //初始化加载数据成功的布局
            pageSuccess=onCreateSuccessView();

            if (pageSuccess!=null){
                addView(pageSuccess);
            }
        }

        if (pageSuccess!=null){
            pageSuccess.setVisibility((currentState==PAGE_LOAD_SUCCESS)?View.VISIBLE:View.GONE);
        }
    }

    /**
     * 数据加载
     */
    public void onLoad(){

        if (currentState!=PAGE_LOAD_LOADING){        //如果当前没有正在加载数据，就开始加载数据
            currentState=PAGE_LOAD_LOADING;
            new Thread(){

                @Override
                public void run() {
                    final ResultState mState=dataLoad();

                    UIUtils.runOnUiThread(new Runnable() {