// Path: uikit-library/src/main/java/android/content/UIKitIntent.java
// public class UIKitIntent extends Intent {
//     public ViewBlock fromViewBlock;
//     public ViewBlock toViewBlock;
// 
//     private UIKitIntent(Intent o) {
//     }
// 
//     private UIKitIntent(String action) {
//     }
// 
//     private UIKitIntent(String action, Uri uri) {
//     }
// 
//     private UIKitIntent(Context packageContext, Class<?> cls) {
//     }
// 
//     private UIKitIntent(String action, Uri uri, Context packageContext, Class<?> cls) {
//     }
// 
//     public UIKitIntent(@NonNull ViewBlock fromViewBlock, @NonNull ViewBlock toViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//         this.toViewBlock = toViewBlock;
//     }
// 
//     public UIKitIntent(@NonNull ViewBlock fromViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//     }
// 
//     public ViewBlock getFromViewBlock() {
//         return fromViewBlock;
//     }
// 
//     public void setFromViewBlock(ViewBlock fromViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//     }
// 
//     public void setToViewBlock(ViewBlock toViewBlock) {
//         this.toViewBlock = toViewBlock;
//     }
// 
//     public ViewBlock getToViewBlock() {
//         return toViewBlock;
//     }
// }
// 
// Path: uikit-library/src/main/java/android/utils/Preconditions.java
// public final class Preconditions {
//     private Preconditions() {
//     }
// 
//     public static <T> T checkNotNull(T reference) {
//         if (reference == null) {
//             throw new NullPointerException();
//         }
//         return reference;
//     }
// 
//     public static <T> T checkNotNull(T reference, @Nullable Object errorMessage) {
//         if (reference == null) {
//             throw new NullPointerException(String.valueOf(errorMessage));
//         }
//         return reference;
//     }
// 
//     public static boolean isNull(Object obj) {
//         return obj == null;
//     }
// 
//     public static boolean nonNull(Object obj) {
//         return obj != null;
//     }
// 
// }


import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.UIKitIntent;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Looper;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.utils.Preconditions;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
    }

    public Looper getMainLooper() {
        return mContext.getMainLooper();
    }

    public void startActivity(Intent intent) {
        mActivity.startActivity(intent);
    }

    protected void startActivity(Class<? extends Activity> clazz) {
        Intent intent = new Intent();
        intent.setClass(getContext(), clazz);
        mActivity.startActivity(intent);
    }

    public void finishActivity() {
        mActivity.finish();
    }


    public View getBlockingView() {
        return mBlockingView;
    }

    protected <T> T castBlockingView() {
        //noinspection unchecked
        return (T) mBlockingView;
    }

// Path: uikit-library/src/main/java/android/content/UIKitIntent.java
// public class UIKitIntent extends Intent {
//     public ViewBlock fromViewBlock;
//     public ViewBlock toViewBlock;
// 
//     private UIKitIntent(Intent o) {
//     }
// 
//     private UIKitIntent(String action) {
//     }
// 
//     private UIKitIntent(String action, Uri uri) {
//     }
// 
//     private UIKitIntent(Context packageContext, Class<?> cls) {
//     }
// 
//     private UIKitIntent(String action, Uri uri, Context packageContext, Class<?> cls) {
//     }
// 
//     public UIKitIntent(@NonNull ViewBlock fromViewBlock, @NonNull ViewBlock toViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//         this.toViewBlock = toViewBlock;
//     }
// 
//     public UIKitIntent(@NonNull ViewBlock fromViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//     }
// 
//     public ViewBlock getFromViewBlock() {
//         return fromViewBlock;
//     }
// 
//     public void setFromViewBlock(ViewBlock fromViewBlock) {
//         this.fromViewBlock = fromViewBlock;
//     }
// 
//     public void setToViewBlock(ViewBlock toViewBlock) {
//         this.toViewBlock = toViewBlock;
//     }
// 
//     public ViewBlock getToViewBlock() {
//         return toViewBlock;
//     }
// }
// 
// Path: uikit-library/src/main/java/android/utils/Preconditions.java
// public final class Preconditions {
//     private Preconditions() {
//     }
// 
//     public static <T> T checkNotNull(T reference) {
//         if (reference == null) {
//             throw new NullPointerException();
//         }
//         return reference;
//     }
// 
//     public static <T> T checkNotNull(T reference, @Nullable Object errorMessage) {
//         if (reference == null) {
//             throw new NullPointerException(String.valueOf(errorMessage));
//         }
//         return reference;
//     }
// 
//     public static boolean isNull(Object obj) {
//         return obj == null;
//     }
// 
//     public static boolean nonNull(Object obj) {
//         return obj != null;
//     }
// 
// }


// Path: uikit-library/src/main/java/android/uikit/ContextViewBlock.java
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.UIKitIntent;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Looper;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.utils.Preconditions;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

    }

    public Looper getMainLooper() {
        return mContext.getMainLooper();
    }

    public void startActivity(Intent intent) {
        mActivity.startActivity(intent);
    }

    protected void startActivity(Class<? extends Activity> clazz) {
        Intent intent = new Intent();
        intent.setClass(getContext(), clazz);
        mActivity.startActivity(intent);
    }

    public void finishActivity() {
        mActivity.finish();
    }


    public View getBlockingView() {
        return mBlockingView;
    }

    protected <T> T castBlockingView() {
        //noinspection unchecked
        return (T) mBlockingView;
    }

    public abstract UIKitIntent getUIKitIntent();