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

added null checks to protect lib from crashes

This commit is contained in:
Alex Dibrivnyi 2017-05-15 23:13:25 +03:00
parent 93ae9c499e
commit 11f7abc55f

View file

@ -93,7 +93,7 @@ public class AboutActivity extends MaterialAboutActivity {
@NonNull @NonNull
private MaterialAboutCard buildShareCard(final AboutConfig config) { private MaterialAboutCard buildShareCard(final AboutConfig config) {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (config.buildType != null && !TextUtils.isEmpty(config.packageName)) {
card.addItem(itemHelper(R.string.egab_leave_review, R.drawable.ic_review, card.addItem(itemHelper(R.string.egab_leave_review, R.drawable.ic_review,
new MaterialAboutItemOnClickListener() { new MaterialAboutItemOnClickListener() {
@Override @Override
@ -102,7 +102,7 @@ public class AboutActivity extends MaterialAboutActivity {
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_review_log_event)); logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_review_log_event));
} }
})); }));
}
card.addItem(itemHelper(R.string.egab_share, R.drawable.ic_share_black, card.addItem(itemHelper(R.string.egab_share, R.drawable.ic_share_black,
new MaterialAboutItemOnClickListener() { new MaterialAboutItemOnClickListener() {
@Override @Override
@ -118,7 +118,7 @@ public class AboutActivity extends MaterialAboutActivity {
@NonNull @NonNull
private MaterialAboutCard buildAboutCard(final AboutConfig config) { private MaterialAboutCard buildAboutCard(final AboutConfig config) {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (config.buildType != null && !TextUtils.isEmpty(config.appPublisher) && !TextUtils.isEmpty(config.packageName)) {
card.addItem(itemHelper(R.string.egab_try_other_apps, R.drawable.ic_try_other_apps, card.addItem(itemHelper(R.string.egab_try_other_apps, R.drawable.ic_try_other_apps,
new MaterialAboutItemOnClickListener() { new MaterialAboutItemOnClickListener() {
@Override @Override
@ -127,6 +127,8 @@ public class AboutActivity extends MaterialAboutActivity {
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_try_other_app_log_event)); logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_try_other_app_log_event));
} }
})); }));
}
if (!TextUtils.isEmpty(config.companyHtmlPath)) {
card.addItem(new MaterialAboutActionItem.Builder() card.addItem(new MaterialAboutActionItem.Builder()
.text(config.aboutLabelTitle) .text(config.aboutLabelTitle)
.icon(R.drawable.ic_about_black) .icon(R.drawable.ic_about_black)
@ -142,14 +144,14 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
.build()); .build());
}
return card.build(); return card.build();
} }
@NonNull @NonNull
private MaterialAboutCard buildSocialNetworksCard(final AboutConfig config) { private MaterialAboutCard buildSocialNetworksCard(final AboutConfig config) {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (!TextUtils.isEmpty(config.facebookUserName)) {
card.addItem(new MaterialAboutActionItem.Builder() card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_facebook_label) .text(R.string.egab_facebook_label)
.subText(config.facebookUserName) .subText(config.facebookUserName)
@ -162,6 +164,8 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
.build()); .build());
}
if (!TextUtils.isEmpty(config.twitterUserName)) {
card.addItem(new MaterialAboutActionItem.Builder() card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_twitter_label) .text(R.string.egab_twitter_label)
.subText(config.twitterUserName) .subText(config.twitterUserName)
@ -174,7 +178,8 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
.build()); .build());
}
if (!TextUtils.isEmpty(config.webHomePage)) {
card.addItem(new MaterialAboutActionItem.Builder() card.addItem(new MaterialAboutActionItem.Builder()
.text(R.string.egab_web_label) .text(R.string.egab_web_label)
.subText(config.webHomePage.replace("https://", "").replace("http://", "").replace("/", "")) .subText(config.webHomePage.replace("https://", "").replace("http://", "").replace("/", ""))
@ -187,14 +192,14 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
.build()); .build());
}
return card.build(); return card.build();
} }
@NonNull @NonNull
private MaterialAboutCard buildPrivacyCard(final AboutConfig config) { private MaterialAboutCard buildPrivacyCard(final AboutConfig config) {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (!TextUtils.isEmpty(config.privacyHtmlPath)) {
card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy, card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy,
new MaterialAboutItemOnClickListener() { new MaterialAboutItemOnClickListener() {
@Override @Override
@ -209,6 +214,8 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
); );
}
if (!TextUtils.isEmpty(config.acknowledgmentHtmlPath)) {
card.addItem(itemHelper(R.string.egab_acknowledgements, R.drawable.ic_acknowledgements, card.addItem(itemHelper(R.string.egab_acknowledgements, R.drawable.ic_acknowledgements,
new MaterialAboutItemOnClickListener() { new MaterialAboutItemOnClickListener() {
@Override @Override
@ -222,6 +229,7 @@ public class AboutActivity extends MaterialAboutActivity {
} }
}) })
); );
}
return card.build(); return card.build();
} }