// Path: example/src/main/java/im/getsocial/demo/adapter/MenuItem.java
// public class MenuItem {
// 
// 	private final String _title;
// 	private String _subtitle;
// 	private Action _action;
// 	private EnabledCheck _enabledCheck;
// 	private TextGenerator _subtitleTextGenerator;
// 
// 	private MenuItem(String title) {
// 		_title = title;
// 		_subtitle = null;
// 		_action = null;
// 		_enabledCheck = null;
// 		_subtitleTextGenerator = null;
// 	}
// 
// 	private MenuItem(String title, String subtitle, TextGenerator subtitleTextGenerator, Action action, EnabledCheck enabledCheck) {
// 		_title = title;
// 		_subtitle = subtitle;
// 		_subtitleTextGenerator = subtitleTextGenerator;
// 		_action = action;
// 		_enabledCheck = enabledCheck;
// 	}
// 
// 	public static Builder builder(String name) {
// 		return new Builder(name);
// 	}
// 
// 	public String getTitle() {
// 		return _title;
// 	}
// 
// 	public String getSubtitle() {
// 		if (_subtitle != null) {
// 			return _subtitle;
// 		}
// 		if (_subtitleTextGenerator != null) {
// 			return _subtitleTextGenerator.generateText();
// 		}
// 		return null;
// 	}
// 
// 	public boolean hasSubtitle() {
// 		return _subtitle != null || _subtitleTextGenerator != null;
// 	}
// 
// 	public Action getAction() {
// 		return _action;
// 	}
// 
// 	public EnabledCheck getEnabledCheck() {
// 		return _enabledCheck;
// 	}
// 
// 	public interface Action {
// 		void execute();
// 	}
// 
// 	public static class Builder {
// 		private final MenuItem _data;
// 
// 		public Builder(String title) {
// 			_data = new MenuItem(title);
// 		}
// 
// 		public Builder withSubtitle(String subtitle) {
// 			_data._subtitle = subtitle;
// 			return this;
// 		}
// 
// 		public Builder withSubtitle(TextGenerator textGenerator) {
// 			_data._subtitleTextGenerator = textGenerator;
// 			return this;
// 		}
// 
// 		public Builder withAction(Action action) {
// 			_data._action = action;
// 			return this;
// 		}
// 
// 		public Builder withEnabledCheck(EnabledCheck enabledCheck) {
// 			_data._enabledCheck = enabledCheck;
// 			return this;
// 		}
// 
// 		public MenuItem build() {
// 			return new MenuItem(_data._title, _data._subtitle, _data._subtitleTextGenerator, _data._action, _data._enabledCheck);
// 		}
// 	}
// }


import android.app.AlertDialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import im.getsocial.demo.adapter.MenuItem;
import im.getsocial.sdk.GetSocial;
import im.getsocial.sdk.PromoCodes;
import im.getsocial.sdk.communities.CurrentUser;
import im.getsocial.sdk.communities.UserUpdate;
import im.getsocial.sdk.invites.InviteContent;
import im.getsocial.sdk.invites.InviteTextPlaceholders;
import im.getsocial.sdk.invites.LinkParams;
import im.getsocial.sdk.promocodes.PromoCode;
import im.getsocial.sdk.promocodes.PromoCodeContent;
import im.getsocial.sdk.ui.invites.InvitesViewBuilder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
						promoCode.getClaimCount(), promoCode.getStartDate(), promoCode.getEndDate(),
						promoCode.isEnabled(), promoCode.isClaimable(), promoCode.getCreator().getDisplayName());
	}

	@Override
	protected List<MenuItem> createListData() {
		return Arrays.asList(
						MenuItem.builder("My Promo Code").withAction(new MyPromoCodeAction()).build(),
						navigationListItem("Create Promo Code", CreatePromoCodeFragment.class),
						MenuItem.builder("Claim Promo Code").withAction(new ClaimPromoCodeAction()).build(),
						MenuItem.builder("Promo Code Info").withAction(new InfoPromoCodeAction()).build()
		);
	}

	@Override
	public String getFragmentTag() {
		return "promocodes";
	}

	@Override
	public String getTitle() {
		return "Promo Codes";
	}

	private void showPromoCodeDialog(final String promoCode) {
		showDialog(
						"Promo Code",
						promoCode,
						new ShareAction(promoCode),
						new CopyAction(promoCode),
// Path: example/src/main/java/im/getsocial/demo/adapter/MenuItem.java
// public class MenuItem {
// 
// 	private final String _title;
// 	private String _subtitle;
// 	private Action _action;
// 	private EnabledCheck _enabledCheck;
// 	private TextGenerator _subtitleTextGenerator;
// 
// 	private MenuItem(String title) {
// 		_title = title;
// 		_subtitle = null;
// 		_action = null;
// 		_enabledCheck = null;
// 		_subtitleTextGenerator = null;
// 	}
// 
// 	private MenuItem(String title, String subtitle, TextGenerator subtitleTextGenerator, Action action, EnabledCheck enabledCheck) {
// 		_title = title;
// 		_subtitle = subtitle;
// 		_subtitleTextGenerator = subtitleTextGenerator;
// 		_action = action;
// 		_enabledCheck = enabledCheck;
// 	}
// 
// 	public static Builder builder(String name) {
// 		return new Builder(name);
// 	}
// 
// 	public String getTitle() {
// 		return _title;
// 	}
// 
// 	public String getSubtitle() {
// 		if (_subtitle != null) {
// 			return _subtitle;
// 		}
// 		if (_subtitleTextGenerator != null) {
// 			return _subtitleTextGenerator.generateText();
// 		}
// 		return null;
// 	}
// 
// 	public boolean hasSubtitle() {
// 		return _subtitle != null || _subtitleTextGenerator != null;
// 	}
// 
// 	public Action getAction() {
// 		return _action;
// 	}
// 
// 	public EnabledCheck getEnabledCheck() {
// 		return _enabledCheck;
// 	}
// 
// 	public interface Action {
// 		void execute();
// 	}
// 
// 	public static class Builder {
// 		private final MenuItem _data;
// 
// 		public Builder(String title) {
// 			_data = new MenuItem(title);
// 		}
// 
// 		public Builder withSubtitle(String subtitle) {
// 			_data._subtitle = subtitle;
// 			return this;
// 		}
// 
// 		public Builder withSubtitle(TextGenerator textGenerator) {
// 			_data._subtitleTextGenerator = textGenerator;
// 			return this;
// 		}
// 
// 		public Builder withAction(Action action) {
// 			_data._action = action;
// 			return this;
// 		}
// 
// 		public Builder withEnabledCheck(EnabledCheck enabledCheck) {
// 			_data._enabledCheck = enabledCheck;
// 			return this;
// 		}
// 
// 		public MenuItem build() {
// 			return new MenuItem(_data._title, _data._subtitle, _data._subtitleTextGenerator, _data._action, _data._enabledCheck);
// 		}
// 	}
// }


// Path: example/src/main/java/im/getsocial/demo/fragment/PromoCodesFragment.java
import android.app.AlertDialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import im.getsocial.demo.adapter.MenuItem;
import im.getsocial.sdk.GetSocial;
import im.getsocial.sdk.PromoCodes;
import im.getsocial.sdk.communities.CurrentUser;
import im.getsocial.sdk.communities.UserUpdate;
import im.getsocial.sdk.invites.InviteContent;
import im.getsocial.sdk.invites.InviteTextPlaceholders;
import im.getsocial.sdk.invites.LinkParams;
import im.getsocial.sdk.promocodes.PromoCode;
import im.getsocial.sdk.promocodes.PromoCodeContent;
import im.getsocial.sdk.ui.invites.InvitesViewBuilder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

						promoCode.getClaimCount(), promoCode.getStartDate(), promoCode.getEndDate(),
						promoCode.isEnabled(), promoCode.isClaimable(), promoCode.getCreator().getDisplayName());
	}

	@Override
	protected List<MenuItem> createListData() {
		return Arrays.asList(
						MenuItem.builder("My Promo Code").withAction(new MyPromoCodeAction()).build(),
						navigationListItem("Create Promo Code", CreatePromoCodeFragment.class),
						MenuItem.builder("Claim Promo Code").withAction(new ClaimPromoCodeAction()).build(),
						MenuItem.builder("Promo Code Info").withAction(new InfoPromoCodeAction()).build()
		);
	}

	@Override
	public String getFragmentTag() {
		return "promocodes";
	}

	@Override
	public String getTitle() {
		return "Promo Codes";
	}

	private void showPromoCodeDialog(final String promoCode) {
		showDialog(
						"Promo Code",
						promoCode,
						new ShareAction(promoCode),
						new CopyAction(promoCode),
						new InfoAction(promoCode),