From 94842b51da4475c50e88fdd6d32673c029c3dedb Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 18:25:32 +0300 Subject: [PATCH 01/18] Added guide item --- .../eggheadgames/aboutbox/AboutConfig.java | 1 + .../aboutbox/activity/AboutActivity.java | 20 +++++++++++++++---- library/src/main/res/values/strings.xml | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/AboutConfig.java b/library/src/main/java/com/eggheadgames/aboutbox/AboutConfig.java index 490fc95..64bb21d 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/AboutConfig.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/AboutConfig.java @@ -13,6 +13,7 @@ public class AboutConfig { public String facebookUserName; public String twitterUserName; public String webHomePage; + public String guideHtmlPath; public String appPublisher; public String companyHtmlPath; public String privacyHtmlPath; diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 14674e5..03f8bc1 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -56,7 +56,19 @@ public class AboutActivity extends MaterialAboutActivity { } }) .build()); - + supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() + .text(R.string.egab_guide) + .icon(R.drawable.ic_about_black) + .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { + @Override + public void onClick() { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.webHomePage))); + if (config.analytics != null) { + config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); + } + } + }) + .build()); MaterialAboutCard.Builder shareCardBuilder = new MaterialAboutCard.Builder(); shareCardBuilder.addItem(new MaterialAboutActionItem.Builder() @@ -267,7 +279,7 @@ public class AboutActivity extends MaterialAboutActivity { default: //nothing } - open(appURI, webURI); + openApplication(appURI, webURI); } public void openPublisher(AboutConfig.BuildType buildType, String publisher, String packageName) { @@ -285,10 +297,10 @@ public class AboutActivity extends MaterialAboutActivity { default: //nothing } - open(appURI, webURI); + openApplication(appURI, webURI); } - private void open(String appURI, String webURI) { + private void openApplication(String appURI, String webURI) { try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(appURI))); } catch (ActivityNotFoundException e1) { diff --git a/library/src/main/res/values/strings.xml b/library/src/main/res/values/strings.xml index cdf08c3..b979e55 100644 --- a/library/src/main/res/values/strings.xml +++ b/library/src/main/res/values/strings.xml @@ -21,5 +21,6 @@ Acknowledgements You don\'t have any app that can open this link Please type your question here: + Guide From 23fae473aa76f23eb89f23a67200be2f34de48c0 Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 18:46:31 +0300 Subject: [PATCH 02/18] refactored --- .../aboutbox/activity/AboutActivity.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 03f8bc1..58adf04 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -62,7 +62,7 @@ public class AboutActivity extends MaterialAboutActivity { .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { @Override public void onClick() { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.webHomePage))); + openHTMLPage(config.webHomePage); if (config.analytics != null) { config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); } @@ -120,7 +120,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick() { if (config.dialog == null) { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.companyHtmlPath))); + openHTMLPage(config.companyHtmlPath); } else { config.dialog.open(AboutActivity.this, config.companyHtmlPath, config.aboutLabelTitle); } @@ -170,7 +170,7 @@ public class AboutActivity extends MaterialAboutActivity { .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { @Override public void onClick() { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.webHomePage))); + openHTMLPage(config.webHomePage); if (config.analytics != null) { config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_website_log_event)); } @@ -186,7 +186,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick() { if (config.dialog == null) { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.privacyHtmlPath))); + openHTMLPage(config.privacyHtmlPath); } else { config.dialog.open(AboutActivity.this, config.privacyHtmlPath, getString(R.string.egab_privacy_policy)); } @@ -204,7 +204,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick() { if (config.dialog == null) { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(config.acknowledgmentHtmlPath))); + openHTMLPage(config.acknowledgmentHtmlPath); } else { config.dialog.open(AboutActivity.this, config.acknowledgmentHtmlPath, getString(R.string.egab_acknowledgements)); } @@ -305,10 +305,14 @@ public class AboutActivity extends MaterialAboutActivity { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(appURI))); } catch (ActivityNotFoundException e1) { try { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(webURI))); + openHTMLPage(webURI); } catch (ActivityNotFoundException e2) { Toast.makeText(this, R.string.egab_can_not_open, Toast.LENGTH_SHORT).show(); } } } + + private void openHTMLPage(String htmlPath) { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(htmlPath))); + } } From b93a89c190ac583685a831408769912ad268d982 Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 19:03:41 +0300 Subject: [PATCH 03/18] added icon. fixed path. (Close #18) --- .../aboutbox/activity/AboutActivity.java | 4 ++-- library/src/main/res/drawable/ic_guide.png | Bin 0 -> 4013 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 library/src/main/res/drawable/ic_guide.png diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 58adf04..2408349 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -58,11 +58,11 @@ public class AboutActivity extends MaterialAboutActivity { .build()); supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_guide) - .icon(R.drawable.ic_about_black) + .icon(R.drawable.ic_guide) .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { @Override public void onClick() { - openHTMLPage(config.webHomePage); + openHTMLPage(config.guideHtmlPath); if (config.analytics != null) { config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); } diff --git a/library/src/main/res/drawable/ic_guide.png b/library/src/main/res/drawable/ic_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..c36f59bf1721e0102b94ee2112ba765f6317402b GIT binary patch literal 4013 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 Tb8c-m00000NkvXXu0mjfW)IGb literal 0 HcmV?d00001 From 251255cd8c81b9bb5e8536da30c46d0e1c4920e9 Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 19:24:17 +0300 Subject: [PATCH 04/18] replaced guide icon --- .../aboutbox/activity/AboutActivity.java | 2 +- library/src/main/res/drawable/ic_guide.png | Bin 4013 -> 0 bytes library/src/main/res/drawable/ic_help_24dp.xml | 11 +++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) delete mode 100644 library/src/main/res/drawable/ic_guide.png create mode 100644 library/src/main/res/drawable/ic_help_24dp.xml diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 2408349..faa3079 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -58,7 +58,7 @@ public class AboutActivity extends MaterialAboutActivity { .build()); supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_guide) - .icon(R.drawable.ic_guide) + .icon(R.drawable.ic_help_24dp) .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { @Override public void onClick() { diff --git a/library/src/main/res/drawable/ic_guide.png b/library/src/main/res/drawable/ic_guide.png deleted file mode 100644 index c36f59bf1721e0102b94ee2112ba765f6317402b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4013 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 Tb8c-m00000NkvXXu0mjfW)IGb diff --git a/library/src/main/res/drawable/ic_help_24dp.xml b/library/src/main/res/drawable/ic_help_24dp.xml new file mode 100644 index 0000000..bcdb059 --- /dev/null +++ b/library/src/main/res/drawable/ic_help_24dp.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file From 845ad401f95bebd6c7f82527b0c694a76190ca3e Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 19:33:25 +0300 Subject: [PATCH 05/18] changed color --- .../java/com/eggheadgames/aboutbox/activity/AboutActivity.java | 2 +- .../res/drawable/{ic_help_24dp.xml => ic_help_black_24dp.xml} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename library/src/main/res/drawable/{ic_help_24dp.xml => ic_help_black_24dp.xml} (94%) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index faa3079..073c992 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -58,7 +58,7 @@ public class AboutActivity extends MaterialAboutActivity { .build()); supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_guide) - .icon(R.drawable.ic_help_24dp) + .icon(R.drawable.ic_help_black_24dp) .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { @Override public void onClick() { diff --git a/library/src/main/res/drawable/ic_help_24dp.xml b/library/src/main/res/drawable/ic_help_black_24dp.xml similarity index 94% rename from library/src/main/res/drawable/ic_help_24dp.xml rename to library/src/main/res/drawable/ic_help_black_24dp.xml index bcdb059..cda0cc6 100644 --- a/library/src/main/res/drawable/ic_help_24dp.xml +++ b/library/src/main/res/drawable/ic_help_black_24dp.xml @@ -6,6 +6,6 @@ android:viewportWidth="24.0"> \ No newline at end of file From 2cdc15743abee32f458120a5e8a4e5b1b08430cf Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 19:42:04 +0300 Subject: [PATCH 06/18] Added Guide to Portuguese --- library/src/main/res/values-pt/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/library/src/main/res/values-pt/strings.xml b/library/src/main/res/values-pt/strings.xml index 9f31aeb..0e6a643 100644 --- a/library/src/main/res/values-pt/strings.xml +++ b/library/src/main/res/values-pt/strings.xml @@ -21,4 +21,5 @@ Acknowledgements Tu não tens nenhuma aplicação que possa abrir esta ligação Digite sua pergunta aqui: + Guia From cf5d7e3750892af5051ee5ba98a1220d059f4849 Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 19:55:55 +0300 Subject: [PATCH 07/18] Changed guide icon color --- .../aboutbox/activity/AboutActivity.java | 26 +++++++++---------- ..._help_black_24dp.xml => ic_help_green.xml} | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) rename library/src/main/res/drawable/{ic_help_black_24dp.xml => ic_help_green.xml} (94%) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 073c992..06de148 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -43,6 +43,19 @@ public class AboutActivity extends MaterialAboutActivity { MaterialAboutCard.Builder supportCardBuilder = new MaterialAboutCard.Builder(); + supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() + .text(R.string.egab_guide) + .icon(R.drawable.ic_help_green) + .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { + @Override + public void onClick() { + openHTMLPage(config.guideHtmlPath); + if (config.analytics != null) { + config.analytics.logUiEvent(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) @@ -56,19 +69,6 @@ public class AboutActivity extends MaterialAboutActivity { } }) .build()); - supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(R.string.egab_guide) - .icon(R.drawable.ic_help_black_24dp) - .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { - @Override - public void onClick() { - openHTMLPage(config.guideHtmlPath); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); - } - } - }) - .build()); MaterialAboutCard.Builder shareCardBuilder = new MaterialAboutCard.Builder(); shareCardBuilder.addItem(new MaterialAboutActionItem.Builder() diff --git a/library/src/main/res/drawable/ic_help_black_24dp.xml b/library/src/main/res/drawable/ic_help_green.xml similarity index 94% rename from library/src/main/res/drawable/ic_help_black_24dp.xml rename to library/src/main/res/drawable/ic_help_green.xml index cda0cc6..40a5620 100644 --- a/library/src/main/res/drawable/ic_help_black_24dp.xml +++ b/library/src/main/res/drawable/ic_help_green.xml @@ -6,6 +6,6 @@ android:viewportWidth="24.0"> \ No newline at end of file From 7d339c9cf67457cbcb266d062433608163335dea Mon Sep 17 00:00:00 2001 From: Alex Dibrivnyi Date: Thu, 13 Apr 2017 20:08:39 +0300 Subject: [PATCH 08/18] Added logic to show Guide only when html page is provided (Close #18) --- .../aboutbox/activity/AboutActivity.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 06de148..65fef39 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -5,6 +5,7 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.text.TextUtils; import android.widget.Toast; import com.danielstone.materialaboutlibrary.MaterialAboutActivity; @@ -43,19 +44,21 @@ public class AboutActivity extends MaterialAboutActivity { MaterialAboutCard.Builder supportCardBuilder = new MaterialAboutCard.Builder(); - supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(R.string.egab_guide) - .icon(R.drawable.ic_help_green) - .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { - @Override - public void onClick() { - openHTMLPage(config.guideHtmlPath); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); + if (!TextUtils.isEmpty(config.guideHtmlPath)) { + supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() + .text(R.string.egab_guide) + .icon(R.drawable.ic_help_green) + .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { + @Override + public void onClick() { + openHTMLPage(config.guideHtmlPath); + if (config.analytics != null) { + config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); + } } - } - }) - .build()); + }) + .build()); + } supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_contact_support) .icon(R.drawable.ic_email_black) From 75325cc1cce5e6ec9be6d37f94ff37bb3ce07d02 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 13:00:59 -0700 Subject: [PATCH 09/18] Fix merge error --- .../com/eggheadgames/aboutbox/activity/AboutActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 7356226..3497ee5 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -49,9 +49,9 @@ public class AboutActivity extends MaterialAboutActivity { supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_guide) .icon(R.drawable.ic_help_green) - .setOnClickListener(new MaterialAboutActionItem.OnClickListener() { + .setOnClickListener(new MaterialAboutItemOnClickListener() { @Override - public void onClick() { + public void onClick(boolean b) { openHTMLPage(config.guideHtmlPath); if (config.analytics != null) { config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); From a9590a92a65e9fb8675a8bc26065d4ccf0e40c2f Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 13:01:15 -0700 Subject: [PATCH 10/18] Update to newer tools --- library/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/build.gradle b/library/build.gradle index df52f18..8c051ad 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,7 +6,7 @@ group='com.github.eggheadgames' android { compileSdkVersion 24 - buildToolsVersion "24.0.2" + buildToolsVersion "25" defaultConfig { minSdkVersion 15 From 7626468b58fba77178c30e0cd9d12913b541210d Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 13:54:47 -0700 Subject: [PATCH 11/18] Extract logUIEventName method and individual card methods Fix PMD god class failure --- .../aboutbox/activity/AboutActivity.java | 108 ++++++++++-------- 1 file changed, 60 insertions(+), 48 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 3497ee5..2029915 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -5,6 +5,7 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.support.annotation.NonNull; import android.text.TextUtils; import android.widget.Toast; @@ -15,6 +16,7 @@ import com.danielstone.materialaboutlibrary.items.MaterialAboutTitleItem; import com.danielstone.materialaboutlibrary.model.MaterialAboutCard; import com.danielstone.materialaboutlibrary.model.MaterialAboutList; import com.eggheadgames.aboutbox.AboutConfig; +import com.eggheadgames.aboutbox.IAnalytic; import com.eggheadgames.aboutbox.R; import com.eggheadgames.aboutbox.share.EmailUtil; import com.eggheadgames.aboutbox.share.ShareUtil; @@ -31,6 +33,25 @@ public class AboutActivity extends MaterialAboutActivity { final AboutConfig config = AboutConfig.getInstance(); + MaterialAboutCard.Builder generalInfoCardBuilder = buildGeneralInfoCard(config); + MaterialAboutCard.Builder supportCardBuilder = buildSupportCard(config); + MaterialAboutCard.Builder shareCardBuilder = buildShareCard(config); + MaterialAboutCard.Builder aboutCardBuilder = buildAboutCard(config); + MaterialAboutCard.Builder socialNetworksCardBuilder = buildSocialNetworksCard(config); + MaterialAboutCard.Builder privacyCardBuilder = buildPrivacyCard(config); + + return new MaterialAboutList.Builder() + .addCard(generalInfoCardBuilder.build()) + .addCard(supportCardBuilder.build()) + .addCard(shareCardBuilder.build()) + .addCard(aboutCardBuilder.build()) + .addCard(socialNetworksCardBuilder.build()) + .addCard(privacyCardBuilder.build()) + .build(); + } + + @NonNull + private MaterialAboutCard.Builder buildGeneralInfoCard(AboutConfig config) { MaterialAboutCard.Builder generalInfoCardBuilder = new MaterialAboutCard.Builder(); generalInfoCardBuilder.addItem(new MaterialAboutTitleItem.Builder() @@ -42,8 +63,11 @@ public class AboutActivity extends MaterialAboutActivity { .text(R.string.egab_version) .subText(config.version) .build()); + return generalInfoCardBuilder; + } - + @NonNull + private MaterialAboutCard.Builder buildSupportCard(final AboutConfig config) { MaterialAboutCard.Builder supportCardBuilder = new MaterialAboutCard.Builder(); if (!TextUtils.isEmpty(config.guideHtmlPath)) { supportCardBuilder.addItem(new MaterialAboutActionItem.Builder() @@ -53,9 +77,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { openHTMLPage(config.guideHtmlPath); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_guide)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_guide)); } }) .build()); @@ -67,12 +89,14 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { EmailUtil.contactUs(AboutActivity.this); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_contact_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_contact_log_event)); } }).build()); + return supportCardBuilder; + } + @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) @@ -81,9 +105,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { openApp(config.buildType, config.packageName); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_review_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_review_log_event)); } }) .build()); @@ -94,14 +116,15 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { ShareUtil.share(AboutActivity.this); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_share_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_share_log_event)); } }) .build()); + return shareCardBuilder; + } - + @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) @@ -110,9 +133,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { openPublisher(config.buildType, config.appPublisher, config.packageName); - if (config.analytics != null) { - config.analytics.logUiEvent(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)); } }) .build()); @@ -127,15 +148,15 @@ public class AboutActivity extends MaterialAboutActivity { } else { config.dialog.open(AboutActivity.this, config.companyHtmlPath, config.aboutLabelTitle); } - - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, config.aboutLabelTitle); - } + logUIEventName(config.analytics, config.logUiEventName, config.aboutLabelTitle); } }) .build()); + return aboutCardBuilder; + } - + @NonNull + private MaterialAboutCard.Builder buildSocialNetworksCard(final AboutConfig config) { MaterialAboutCard.Builder socialNetworksCardBuilder = new MaterialAboutCard.Builder(); socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.egab_facebook_label) @@ -145,9 +166,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { getOpenFacebookIntent(AboutActivity.this, config.facebookUserName); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_facebook_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_facebook_log_event)); } }) .build()); @@ -159,9 +178,7 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { startTwitter(AboutActivity.this, config.twitterUserName); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_twitter_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_twitter_log_event)); } }) .build()); @@ -174,13 +191,15 @@ public class AboutActivity extends MaterialAboutActivity { @Override public void onClick(boolean b) { openHTMLPage(config.webHomePage); - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_website_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_website_log_event)); } }) .build()); + return socialNetworksCardBuilder; + } + @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) @@ -194,9 +213,7 @@ public class AboutActivity extends MaterialAboutActivity { config.dialog.open(AboutActivity.this, config.privacyHtmlPath, getString(R.string.egab_privacy_policy)); } - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_privacy_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_privacy_log_event)); } }) .build()); @@ -211,25 +228,14 @@ public class AboutActivity extends MaterialAboutActivity { } else { config.dialog.open(AboutActivity.this, config.acknowledgmentHtmlPath, getString(R.string.egab_acknowledgements)); } - - if (config.analytics != null) { - config.analytics.logUiEvent(config.logUiEventName, getString(R.string.egab_acknowledgements_log_event)); - } + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_acknowledgements_log_event)); } }) .build()); - - - return new MaterialAboutList.Builder() - .addCard(generalInfoCardBuilder.build()) - .addCard(supportCardBuilder.build()) - .addCard(shareCardBuilder.build()) - .addCard(aboutCardBuilder.build()) - .addCard(socialNetworksCardBuilder.build()) - .addCard(privacyCardBuilder.build()) - .build(); + return privacyCardBuilder; } + @Override protected CharSequence getActivityTitle() { return getString(R.string.egab_about_screen_title); @@ -318,4 +324,10 @@ public class AboutActivity extends MaterialAboutActivity { private void openHTMLPage(String htmlPath) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(htmlPath))); } + + private void logUIEventName(IAnalytic analytics, String eventType, String eventValue) { + if (analytics != null) { + analytics.logUiEvent(eventType, eventValue); + } + } } From bf033943ce5a8a877f3d34ec752b3026936b58d6 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 13:55:34 -0700 Subject: [PATCH 12/18] Extract a helper method to DRY things up a little --- .../aboutbox/activity/AboutActivity.java | 282 +++++++++--------- 1 file changed, 141 insertions(+), 141 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 2029915..5dbba76 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -68,171 +68,172 @@ 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() { - @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_guide, R.drawable.ic_help_green, + new MaterialAboutItemOnClickListener() { @Override public void onClick(boolean b) { - EmailUtil.contactUs(AboutActivity.this); - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_contact_log_event)); + openHTMLPage(config.guideHtmlPath); + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_guide)); } - }).build()); - return supportCardBuilder; + }) + ); + } + 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)); + } + })); + + 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() { - @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() { - @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; + 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)); + } + })); + + 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)); + } + })); + + 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() { - @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)); + 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)); + } + })); + card.addItem(new MaterialAboutActionItem.Builder() + .text(config.aboutLabelTitle) + .icon(R.drawable.ic_about_black) + .setOnClickListener(new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + if (config.dialog == null) { + openHTMLPage(config.companyHtmlPath); + } else { + config.dialog.open(AboutActivity.this, config.companyHtmlPath, config.aboutLabelTitle); } - }) - .build()); - aboutCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(config.aboutLabelTitle) - .icon(R.drawable.ic_about_black) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - if (config.dialog == null) { - openHTMLPage(config.companyHtmlPath); - } else { - config.dialog.open(AboutActivity.this, config.companyHtmlPath, config.aboutLabelTitle); - } - logUIEventName(config.analytics, config.logUiEventName, config.aboutLabelTitle); - } - }) - .build()); - return aboutCardBuilder; + logUIEventName(config.analytics, config.logUiEventName, config.aboutLabelTitle); + } + }) + .build()); + + return card; } @NonNull private MaterialAboutCard.Builder buildSocialNetworksCard(final AboutConfig config) { - MaterialAboutCard.Builder socialNetworksCardBuilder = new MaterialAboutCard.Builder(); - socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(R.string.egab_facebook_label) - .subText(config.facebookUserName) - .icon(R.drawable.ic_facebook_24) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - getOpenFacebookIntent(AboutActivity.this, config.facebookUserName); - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_facebook_log_event)); - } - }) - .build()); - socialNetworksCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(R.string.egab_twitter_label) - .subText(config.twitterUserName) - .icon(R.drawable.ic_twitter_24dp) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - startTwitter(AboutActivity.this, config.twitterUserName); - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_twitter_log_event)); - } - }) - .build()); + MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); - socialNetworksCardBuilder.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) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - openHTMLPage(config.webHomePage); - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_website_log_event)); - } - }) - .build()); - return socialNetworksCardBuilder; + card.addItem(new MaterialAboutActionItem.Builder() + .text(R.string.egab_facebook_label) + .subText(config.facebookUserName) + .icon(R.drawable.ic_facebook_24) + .setOnClickListener(new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + getOpenFacebookIntent(AboutActivity.this, config.facebookUserName); + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_facebook_log_event)); + } + }) + .build()); + card.addItem(new MaterialAboutActionItem.Builder() + .text(R.string.egab_twitter_label) + .subText(config.twitterUserName) + .icon(R.drawable.ic_twitter_24dp) + .setOnClickListener(new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + startTwitter(AboutActivity.this, config.twitterUserName); + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_twitter_log_event)); + } + }) + .build()); + + 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) + .setOnClickListener(new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + openHTMLPage(config.webHomePage); + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_website_log_event)); + } + }) + .build()); + + 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() { - @Override - public void onClick(boolean b) { - if (config.dialog == null) { - openHTMLPage(config.privacyHtmlPath); - } else { - config.dialog.open(AboutActivity.this, config.privacyHtmlPath, getString(R.string.egab_privacy_policy)); - } + MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_privacy_log_event)); + card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy, + new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + if (config.dialog == null) { + openHTMLPage(config.privacyHtmlPath); + } else { + config.dialog.open(AboutActivity.this, config.privacyHtmlPath, getString(R.string.egab_privacy_policy)); } - }) - .build()); - privacyCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text(R.string.egab_acknowledgements) - .icon(R.drawable.ic_acknowledgements) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - if (config.dialog == null) { - openHTMLPage(config.acknowledgmentHtmlPath); - } else { - config.dialog.open(AboutActivity.this, config.acknowledgmentHtmlPath, getString(R.string.egab_acknowledgements)); - } - logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_acknowledgements_log_event)); + + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_privacy_log_event)); + } + }) + ); + card.addItem(itemHelper(R.string.egab_acknowledgements, R.drawable.ic_acknowledgements, + new MaterialAboutItemOnClickListener() { + @Override + public void onClick(boolean b) { + if (config.dialog == null) { + openHTMLPage(config.acknowledgmentHtmlPath); + } else { + config.dialog.open(AboutActivity.this, config.acknowledgmentHtmlPath, getString(R.string.egab_acknowledgements)); } - }) - .build()); - return privacyCardBuilder; + logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_acknowledgements_log_event)); + } + }) + ); + 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) { From 785187d3696609930a9d9c0e2145e975dca3634d Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 14:08:00 -0700 Subject: [PATCH 13/18] Refactor card assembly to remove redundant intermediate builder variables --- .../aboutbox/activity/AboutActivity.java | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 5dbba76..24889d2 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -33,25 +33,18 @@ public class AboutActivity extends MaterialAboutActivity { final AboutConfig config = AboutConfig.getInstance(); - MaterialAboutCard.Builder generalInfoCardBuilder = buildGeneralInfoCard(config); - MaterialAboutCard.Builder supportCardBuilder = buildSupportCard(config); - MaterialAboutCard.Builder shareCardBuilder = buildShareCard(config); - MaterialAboutCard.Builder aboutCardBuilder = buildAboutCard(config); - MaterialAboutCard.Builder socialNetworksCardBuilder = buildSocialNetworksCard(config); - MaterialAboutCard.Builder privacyCardBuilder = buildPrivacyCard(config); - return new MaterialAboutList.Builder() - .addCard(generalInfoCardBuilder.build()) - .addCard(supportCardBuilder.build()) - .addCard(shareCardBuilder.build()) - .addCard(aboutCardBuilder.build()) - .addCard(socialNetworksCardBuilder.build()) - .addCard(privacyCardBuilder.build()) - .build(); + .addCard(buildGeneralInfoCard(config)) + .addCard(buildSupportCard(config)) + .addCard(buildShareCard(config)) + .addCard(buildAboutCard(config)) + .addCard(buildSocialNetworksCard(config)) + .addCard(buildPrivacyCard(config)) + .build(); } @NonNull - private MaterialAboutCard.Builder buildGeneralInfoCard(AboutConfig config) { + private MaterialAboutCard buildGeneralInfoCard(AboutConfig config) { MaterialAboutCard.Builder generalInfoCardBuilder = new MaterialAboutCard.Builder(); generalInfoCardBuilder.addItem(new MaterialAboutTitleItem.Builder() @@ -63,11 +56,11 @@ public class AboutActivity extends MaterialAboutActivity { .text(R.string.egab_version) .subText(config.version) .build()); - return generalInfoCardBuilder; + return generalInfoCardBuilder.build(); } @NonNull - private MaterialAboutCard.Builder buildSupportCard(final AboutConfig config) { + private MaterialAboutCard buildSupportCard(final AboutConfig config) { MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); if (!TextUtils.isEmpty(config.guideHtmlPath)) { @@ -90,11 +83,11 @@ public class AboutActivity extends MaterialAboutActivity { } })); - return card; + return card.build(); } @NonNull - private MaterialAboutCard.Builder buildShareCard(final AboutConfig config) { + private MaterialAboutCard buildShareCard(final AboutConfig config) { MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); card.addItem(itemHelper(R.string.egab_leave_review, R.drawable.ic_review, @@ -115,11 +108,11 @@ public class AboutActivity extends MaterialAboutActivity { } })); - return card; + return card.build(); } @NonNull - private MaterialAboutCard.Builder buildAboutCard(final AboutConfig config) { + private MaterialAboutCard buildAboutCard(final AboutConfig config) { MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); card.addItem(itemHelper(R.string.egab_try_other_apps, R.drawable.ic_try_other_apps, @@ -146,11 +139,11 @@ public class AboutActivity extends MaterialAboutActivity { }) .build()); - return card; + return card.build(); } @NonNull - private MaterialAboutCard.Builder buildSocialNetworksCard(final AboutConfig config) { + private MaterialAboutCard buildSocialNetworksCard(final AboutConfig config) { MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); card.addItem(new MaterialAboutActionItem.Builder() @@ -191,11 +184,11 @@ public class AboutActivity extends MaterialAboutActivity { }) .build()); - return card; + return card.build(); } @NonNull - private MaterialAboutCard.Builder buildPrivacyCard(final AboutConfig config) { + private MaterialAboutCard buildPrivacyCard(final AboutConfig config) { MaterialAboutCard.Builder card = new MaterialAboutCard.Builder(); card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy, @@ -225,7 +218,7 @@ public class AboutActivity extends MaterialAboutActivity { } }) ); - return card; + return card.build; } private MaterialAboutActionItem itemHelper(int name, int icon, MaterialAboutItemOnClickListener listener) { From c9fa053c19babc54e84e31377eaf40f70d39e6d5 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Thu, 13 Apr 2017 14:10:01 -0700 Subject: [PATCH 14/18] Fix syntax error from missing parens (oops..) --- .../java/com/eggheadgames/aboutbox/activity/AboutActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 24889d2..78db272 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -218,7 +218,7 @@ public class AboutActivity extends MaterialAboutActivity { } }) ); - return card.build; + return card.build(); } private MaterialAboutActionItem itemHelper(int name, int icon, MaterialAboutItemOnClickListener listener) { From 2686828222837c7fff60b875ce83b7448a1794e8 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Fri, 14 Apr 2017 09:01:58 -0700 Subject: [PATCH 15/18] Adjust green colour of Guide icon --- library/src/main/res/drawable/ic_help_green.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/res/drawable/ic_help_green.xml b/library/src/main/res/drawable/ic_help_green.xml index 40a5620..e1e7ce0 100644 --- a/library/src/main/res/drawable/ic_help_green.xml +++ b/library/src/main/res/drawable/ic_help_green.xml @@ -6,6 +6,6 @@ android:viewportWidth="24.0"> \ No newline at end of file From 7f4336b5ecf4ec7b8afd0b8abc50820304f44565 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Fri, 14 Apr 2017 09:04:51 -0700 Subject: [PATCH 16/18] Access internal file appropriately to avoid FileUriExposedException --- .../com/eggheadgames/aboutbox/activity/AboutActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java index 78db272..74ec6fc 100644 --- a/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java +++ b/library/src/main/java/com/eggheadgames/aboutbox/activity/AboutActivity.java @@ -68,7 +68,11 @@ public class AboutActivity extends MaterialAboutActivity { new MaterialAboutItemOnClickListener() { @Override public void onClick(boolean b) { - openHTMLPage(config.guideHtmlPath); + if (config.dialog == null) { + openHTMLPage(config.guideHtmlPath); + } else { + config.dialog.open(AboutActivity.this, config.guideHtmlPath, getString(R.string.egab_guide)); + } logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_guide)); } }) From a39ac0331ada087f2d494eeedba2d5504f7a1a69 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Fri, 14 Apr 2017 09:37:05 -0700 Subject: [PATCH 17/18] Set exact build tools version we want --- library/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/build.gradle b/library/build.gradle index 8c051ad..158aa0c 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,7 +6,7 @@ group='com.github.eggheadgames' android { compileSdkVersion 24 - buildToolsVersion "25" + buildToolsVersion "25.2.0" defaultConfig { minSdkVersion 15 From a671f916c1af13267cf0035a8685d93e00d780d9 Mon Sep 17 00:00:00 2001 From: Michael Mee Date: Fri, 14 Apr 2017 09:55:40 -0700 Subject: [PATCH 18/18] Use latest build tools --- circle.yml | 4 ++-- library/build.gradle | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index e6a8356..ed917c0 100644 --- a/circle.yml +++ b/circle.yml @@ -1,7 +1,7 @@ dependencies: pre: - - echo y | android update sdk --no-ui --all --filter tools,platform-tools,android-24 - - echo y | android update sdk --no-ui --all --filter build-tools-24.0.2 + - echo y | android update sdk --no-ui --all --filter tools,platform-tools,android-25 + - echo y | android update sdk --no-ui --all --filter build-tools-25.0.2 test: override: diff --git a/library/build.gradle b/library/build.gradle index 158aa0c..0cc4ab4 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,7 +6,7 @@ group='com.github.eggheadgames' android { compileSdkVersion 24 - buildToolsVersion "25.2.0" + buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 15 @@ -29,7 +29,7 @@ android { dependencies { compile 'com.github.daniel-stoneuk:material-about-library:1.8.2' - compile('io.branch.sdk.android:library:2.5.7') { + compile('io.branch.sdk.android:library:2.6.1') { exclude module: 'answers.shim' } }