// Path: sdks/src/main/java/link/anyauto/smartkey/sdks/IntentKeyMapper.java
// public interface IntentKeyMapper {
//     /**
//      * Build an Intent with the values of the IntentBuilder.
//      * @return
//      */
//     Intent buildIntent();
// }
// 
// Path: sdks/src/main/java/link/anyauto/smartkey/sdks/OnPrepareIntentCallback.java
// public interface OnPrepareIntentCallback {
//     /**
//      * <pre>
//      * When using the generated SmartTargets,
//      * this is the callback that will be called just before
//      *  going to another activity or starting a service.
//      * </pre>
//      * @param intent
//      */
//     void prepare(Intent intent);
// }


import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.text.TextUtils;
import link.anyauto.smartkey.sdks.IntentKeyMapper;
import link.anyauto.smartkey.sdks.OnPrepareIntentCallback;
package link.anyauto.smartkey.sdks.targets;



/**
 * An activity or a service description.
 * @param <T>
 *     the target generic type.
 */
public abstract class Target<T> {

    /**
     * flags to add to the intent.
     */
    protected int flags;

    /**
     * the values wrapped in the generated IntentBuilder.
     */
    protected IntentKeyMapper params;

    /**
     * MIME TYPE of the intent
     */
    protected String mimeType;

    /**
     * ClipData
     */
    protected ClipData clipData;

    /**
     * The callback which allows you to add a finishing touches on the intent.
     */
// Path: sdks/src/main/java/link/anyauto/smartkey/sdks/IntentKeyMapper.java
// public interface IntentKeyMapper {
//     /**
//      * Build an Intent with the values of the IntentBuilder.
//      * @return
//      */
//     Intent buildIntent();
// }
// 
// Path: sdks/src/main/java/link/anyauto/smartkey/sdks/OnPrepareIntentCallback.java
// public interface OnPrepareIntentCallback {
//     /**
//      * <pre>
//      * When using the generated SmartTargets,
//      * this is the callback that will be called just before
//      *  going to another activity or starting a service.
//      * </pre>
//      * @param intent
//      */
//     void prepare(Intent intent);
// }


// Path: sdks/src/main/java/link/anyauto/smartkey/sdks/targets/Target.java
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.text.TextUtils;
import link.anyauto.smartkey.sdks.IntentKeyMapper;
import link.anyauto.smartkey.sdks.OnPrepareIntentCallback;

package link.anyauto.smartkey.sdks.targets;



/**
 * An activity or a service description.
 * @param <T>
 *     the target generic type.
 */
public abstract class Target<T> {

    /**
     * flags to add to the intent.
     */
    protected int flags;

    /**
     * the values wrapped in the generated IntentBuilder.
     */
    protected IntentKeyMapper params;

    /**
     * MIME TYPE of the intent
     */
    protected String mimeType;

    /**
     * ClipData
     */
    protected ClipData clipData;

    /**
     * The callback which allows you to add a finishing touches on the intent.
     */
    protected OnPrepareIntentCallback callback;