// Path: phial-overlay/src/main/java/com/mindcoders/phial/ShareDescription.java
// public class ShareDescription {
//     private final Drawable drawable;
//     private final CharSequence label;
// 
//     /**
//      * @param drawable icon that will be displayed with share option
//      * @param label    label for share option
//      */
//     public ShareDescription(Drawable drawable, CharSequence label) {
//         this.drawable = drawable;
//         this.label = label;
//     }
// 
//     /**
//      * @param context     android context that will be used to load icon and title
//      * @param drawableRes drawableId that will be displayed with share option
//      * @param label       labelId for share option
//      */
//     public ShareDescription(Context context, @DrawableRes int drawableRes, @StringRes int label) {
//         this(ContextCompat.getDrawable(context, drawableRes), context.getString(label));
//     }
// 
//     public Drawable getDrawable() {
//         return drawable;
//     }
// 
//     public CharSequence getLabel() {
//         return label;
//     }
// }
// 
// Path: phial-overlay/src/main/java/com/mindcoders/phial/Shareable.java
// public interface Shareable {
//     /**
//      * Is called when user selects provided share option.
//      * <p>
//      * At the end of share should notify Phial about result of sharing by calling one of
//      * {@link ShareContext#onSuccess()}
//      * {@link ShareContext#onFailed(String)}
//      * {@link ShareContext#onCancel()}
//      * <p>
//      * ShareContext can be used in order to show your custom view or progress when user selected your share option
//      * see {@link ShareContext}
//      *
//      * @param shareContext     used in order to communicate with Phial
//      * @param zippedAttachment file that should be shared
//      * @param message          message provided by user
//      */
//     void share(ShareContext shareContext, File zippedAttachment, String message);
// 
//     /**
//      * Sets icon and title for ShareOption
//      *
//      * @return ShareDescription with icon and title
//      */
//     ShareDescription getDescription();
// }


import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.support.annotation.VisibleForTesting;
import com.mindcoders.phial.ShareDescription;
import com.mindcoders.phial.Shareable;
import static android.support.annotation.VisibleForTesting.PACKAGE_PRIVATE;
package com.mindcoders.phial.internal.share;




/**
 * Created by rost on 10/23/17.
 */
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
public abstract class ShareItem {
// Path: phial-overlay/src/main/java/com/mindcoders/phial/ShareDescription.java
// public class ShareDescription {
//     private final Drawable drawable;
//     private final CharSequence label;
// 
//     /**
//      * @param drawable icon that will be displayed with share option
//      * @param label    label for share option
//      */
//     public ShareDescription(Drawable drawable, CharSequence label) {
//         this.drawable = drawable;
//         this.label = label;
//     }
// 
//     /**
//      * @param context     android context that will be used to load icon and title
//      * @param drawableRes drawableId that will be displayed with share option
//      * @param label       labelId for share option
//      */
//     public ShareDescription(Context context, @DrawableRes int drawableRes, @StringRes int label) {
//         this(ContextCompat.getDrawable(context, drawableRes), context.getString(label));
//     }
// 
//     public Drawable getDrawable() {
//         return drawable;
//     }
// 
//     public CharSequence getLabel() {
//         return label;
//     }
// }
// 
// Path: phial-overlay/src/main/java/com/mindcoders/phial/Shareable.java
// public interface Shareable {
//     /**
//      * Is called when user selects provided share option.
//      * <p>
//      * At the end of share should notify Phial about result of sharing by calling one of
//      * {@link ShareContext#onSuccess()}
//      * {@link ShareContext#onFailed(String)}
//      * {@link ShareContext#onCancel()}
//      * <p>
//      * ShareContext can be used in order to show your custom view or progress when user selected your share option
//      * see {@link ShareContext}
//      *
//      * @param shareContext     used in order to communicate with Phial
//      * @param zippedAttachment file that should be shared
//      * @param message          message provided by user
//      */
//     void share(ShareContext shareContext, File zippedAttachment, String message);
// 
//     /**
//      * Sets icon and title for ShareOption
//      *
//      * @return ShareDescription with icon and title
//      */
//     ShareDescription getDescription();
// }


// Path: phial-overlay/src/main/java/com/mindcoders/phial/internal/share/ShareItem.java
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.support.annotation.VisibleForTesting;
import com.mindcoders.phial.ShareDescription;
import com.mindcoders.phial.Shareable;
import static android.support.annotation.VisibleForTesting.PACKAGE_PRIVATE;

package com.mindcoders.phial.internal.share;




/**
 * Created by rost on 10/23/17.
 */
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
public abstract class ShareItem {
    private final ShareDescription description;