1
0
Fork 0
mirror of https://github.com/ethauvin/android-about-box.git synced 2025-04-25 02:37:11 -07:00

Extract a helper method to DRY things up a little

This commit is contained in:
Michael Mee 2017-04-13 13:55:34 -07:00
parent 7626468b58
commit bf033943ce

View file

@ -68,76 +68,69 @@ public class AboutActivity extends MaterialAboutActivity {
@NonNull
private MaterialAboutCard.Builder buildSupportCard(final AboutConfig config) {
MaterialAboutCard.Builder supportCardBuilder = new MaterialAboutCard.Builder();
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (!TextUtils.isEmpty(config.guideHtmlPath)) {
supportCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_guide)
.icon(R.drawable.ic_help_green)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
card.addItem(itemHelper(R.string.egab_guide, R.drawable.ic_help_green,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
openHTMLPage(config.guideHtmlPath);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_guide));
}
})
.build());
);
}
supportCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_contact_support)
.icon(R.drawable.ic_email_black)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
card.addItem(itemHelper(R.string.egab_contact_support, R.drawable.ic_email_black,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
EmailUtil.contactUs(AboutActivity.this);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_contact_log_event));
}
}).build());
return supportCardBuilder;
}));
return card;
}
@NonNull
private MaterialAboutCard.Builder buildShareCard(final AboutConfig config) {
MaterialAboutCard.Builder shareCardBuilder = new MaterialAboutCard.Builder();
shareCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_leave_review)
.icon(R.drawable.ic_review)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
card.addItem(itemHelper(R.string.egab_leave_review, R.drawable.ic_review,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
openApp(config.buildType, config.packageName);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_review_log_event));
}
})
.build());
shareCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_share)
.icon(R.drawable.ic_share_black)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
}));
card.addItem(itemHelper(R.string.egab_share, R.drawable.ic_share_black,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
ShareUtil.share(AboutActivity.this);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_share_log_event));
}
})
.build());
return shareCardBuilder;
}));
return card;
}
@NonNull
private MaterialAboutCard.Builder buildAboutCard(final AboutConfig config) {
MaterialAboutCard.Builder aboutCardBuilder = new MaterialAboutCard.Builder();
aboutCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_try_other_apps)
.icon(R.drawable.ic_try_other_apps)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
card.addItem(itemHelper(R.string.egab_try_other_apps, R.drawable.ic_try_other_apps,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
openPublisher(config.buildType, config.appPublisher, config.packageName);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_try_other_app_log_event));
}
})
.build());
aboutCardBuilder.addItem(new MaterialAboutActionItem.Builder()
}));
card.addItem(new MaterialAboutActionItem.Builder()
.text(config.aboutLabelTitle)
.icon(R.drawable.ic_about_black)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
@ -152,13 +145,15 @@ public class AboutActivity extends MaterialAboutActivity {
}
})
.build());
return aboutCardBuilder;
return card;
}
@NonNull
private MaterialAboutCard.Builder buildSocialNetworksCard(final AboutConfig config) {
MaterialAboutCard.Builder socialNetworksCardBuilder = new MaterialAboutCard.Builder();
socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder()
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_facebook_label)
.subText(config.facebookUserName)
.icon(R.drawable.ic_facebook_24)
@ -170,7 +165,7 @@ public class AboutActivity extends MaterialAboutActivity {
}
})
.build());
socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder()
card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_twitter_label)
.subText(config.twitterUserName)
.icon(R.drawable.ic_twitter_24dp)
@ -183,7 +178,7 @@ public class AboutActivity extends MaterialAboutActivity {
})
.build());
socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder()
card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_web_label)
.subText(config.webHomePage.replace("https://", "").replace("http://", "").replace("/", ""))
.icon(R.drawable.ic_web_black_24dp)
@ -195,16 +190,16 @@ public class AboutActivity extends MaterialAboutActivity {
}
})
.build());
return socialNetworksCardBuilder;
return card;
}
@NonNull
private MaterialAboutCard.Builder buildPrivacyCard(final AboutConfig config) {
MaterialAboutCard.Builder privacyCardBuilder = new MaterialAboutCard.Builder();
privacyCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_privacy_policy)
.icon(R.drawable.ic_privacy)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
if (config.dialog == null) {
@ -216,11 +211,9 @@ public class AboutActivity extends MaterialAboutActivity {
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_privacy_log_event));
}
})
.build());
privacyCardBuilder.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_acknowledgements)
.icon(R.drawable.ic_acknowledgements)
.setOnClickListener(new MaterialAboutItemOnClickListener() {
);
card.addItem(itemHelper(R.string.egab_acknowledgements, R.drawable.ic_acknowledgements,
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
if (config.dialog == null) {
@ -231,8 +224,16 @@ public class AboutActivity extends MaterialAboutActivity {
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_acknowledgements_log_event));
}
})
.build());
return privacyCardBuilder;
);
return card;
}
private MaterialAboutActionItem itemHelper(int name, int icon, MaterialAboutItemOnClickListener listener) {
return new MaterialAboutActionItem.Builder()
.text(name)
.icon(icon)
.setOnClickListener(listener)
.build();
}
@ -270,7 +271,6 @@ public class AboutActivity extends MaterialAboutActivity {
Toast.makeText(context, R.string.egab_can_not_open, Toast.LENGTH_SHORT).show();
}
}
}
public void openApp(AboutConfig.BuildType buildType, String packageName) {