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

Compare commits

..

No commits in common. "master" and "1.2.2" have entirely different histories.

7 changed files with 38 additions and 40 deletions

View file

@ -14,7 +14,7 @@ Android About Box is configured with a set of (mostly) strings for the company n
When triggered from a menu item, it will display the app name, icon and version, provide links to contact support, leave a review, share the app, go to other apps by the same company in the app store -- as well as links to Facebook etc.
You can omit most features if they don't apply (e.g. like website), by not setting the values.
You can omit most features if they don't apply (e.g. like website), by not setting the values.
## Installation Instructions
@ -88,7 +88,7 @@ Add AboutBox configuration to your Application class
aboutConfig.emailSubject = EMAIL_SUBJECT;
aboutConfig.emailBody = EMAIL_BODY;
```
## Open the About Box from your app
@ -106,7 +106,6 @@ By default, the default Android share intent will be called with the values spec
aboutConfig.shareMessage = getString(R.string.share_message);
aboutConfig.sharingTitle = getString(R.string.sharing_title);
```
The `share_message` string will have an app store URL appended to it (appropriately constructed for Google Play or Amazon).
Alternatively, you can provide a custom sharing function (and omit `shareMessage` and `sharingTitle`):
```java

View file

@ -1,7 +1,7 @@
dependencies:
pre:
- 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.3
- echo y | android update sdk --no-ui --all --filter build-tools-25.0.2
test:
override:

View file

@ -5,14 +5,14 @@ apply plugin: 'com.github.dcendents.android-maven'
group='com.github.eggheadgames'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 24
versionCode 7
versionName "1.3.1"
versionCode 4
versionName "1.2.2"
}
buildTypes {
release {
@ -28,5 +28,5 @@ android {
}
dependencies {
compile 'com.github.daniel-stoneuk:material-about-library:2.2.1'
compile 'com.github.daniel-stoneuk:material-about-library:1.8.2'
}

View file

@ -72,13 +72,12 @@ public final class AboutBoxUtils {
// see:
// https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html#OpeningPublisher
// https://stackoverflow.com/questions/32029408/how-to-open-developer-page-on-google-play-store-market
// https://issuetracker.google.com/65244694
if (publisher.matches("\\d+")) {
webURI = "https://play.google.com/store/apps/dev?id=" + publisher;
webURI = "http://play.google.com/store/dev?id=" + publisher;
appURI = webURI;
} else {
appURI = "market://search?q=pub:" + publisher;
webURI = "https://play.google.com/store/search?q=pub:" + publisher;
webURI = "http://play.google.com/store/search?q=pub:" + publisher;
}
break;
case AMAZON:

View file

@ -8,7 +8,7 @@ import android.text.TextUtils;
import com.danielstone.materialaboutlibrary.MaterialAboutActivity;
import com.danielstone.materialaboutlibrary.items.MaterialAboutActionItem;
import com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickAction;
import com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickListener;
import com.danielstone.materialaboutlibrary.items.MaterialAboutTitleItem;
import com.danielstone.materialaboutlibrary.model.MaterialAboutCard;
import com.danielstone.materialaboutlibrary.model.MaterialAboutList;
@ -79,9 +79,9 @@ public class AboutActivity extends MaterialAboutActivity {
if (!TextUtils.isEmpty(config.guideHtmlPath)) {
card.addItem(itemHelper(R.string.egab_guide, R.drawable.ic_help_green,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
if (config.dialog == null) {
AboutBoxUtils.openHTMLPage(AboutActivity.this, config.guideHtmlPath);
} else {
@ -93,9 +93,9 @@ public class AboutActivity extends MaterialAboutActivity {
);
}
card.addItem(itemHelper(R.string.egab_contact_support, R.drawable.ic_email_black,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
EmailUtil.contactUs(AboutActivity.this);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_contact_log_event));
}
@ -109,18 +109,18 @@ public class AboutActivity extends MaterialAboutActivity {
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,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
AboutBoxUtils.openApp(AboutActivity.this, 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 MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
if (config.share == null) {
ShareUtil.share(AboutActivity.this);
} else {
@ -137,9 +137,9 @@ public class AboutActivity extends MaterialAboutActivity {
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,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
AboutBoxUtils.openPublisher(AboutActivity.this, config.buildType,
config.appPublisher, config.packageName);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_try_other_app_log_event));
@ -150,9 +150,9 @@ public class AboutActivity extends MaterialAboutActivity {
card.addItem(new MaterialAboutActionItem.Builder()
.text(config.aboutLabelTitle)
.icon(R.drawable.ic_about_black)
.setOnClickAction(new MaterialAboutItemOnClickAction() {
.setOnClickListener(new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
if (config.dialog == null) {
AboutBoxUtils.openHTMLPage(AboutActivity.this, config.companyHtmlPath);
} else {
@ -174,9 +174,9 @@ public class AboutActivity extends MaterialAboutActivity {
.text(R.string.egab_facebook_label)
.subText(config.facebookUserName)
.icon(R.drawable.ic_facebook_24)
.setOnClickAction(new MaterialAboutItemOnClickAction() {
.setOnClickListener(new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
AboutBoxUtils.getOpenFacebookIntent(AboutActivity.this, config.facebookUserName);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_facebook_log_event));
}
@ -188,9 +188,9 @@ public class AboutActivity extends MaterialAboutActivity {
.text(R.string.egab_twitter_label)
.subText(config.twitterUserName)
.icon(R.drawable.ic_twitter_24dp)
.setOnClickAction(new MaterialAboutItemOnClickAction() {
.setOnClickListener(new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
AboutBoxUtils.startTwitter(AboutActivity.this, config.twitterUserName);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_twitter_log_event));
}
@ -202,9 +202,9 @@ public class AboutActivity extends MaterialAboutActivity {
.text(R.string.egab_web_label)
.subText(config.webHomePage.replaceFirst("^https?://", "").replaceAll("/$", ""))
.icon(R.drawable.ic_web_black_24dp)
.setOnClickAction(new MaterialAboutItemOnClickAction() {
.setOnClickListener(new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
AboutBoxUtils.openHTMLPage(AboutActivity.this, config.webHomePage);
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_website_log_event));
}
@ -219,9 +219,9 @@ public class AboutActivity extends MaterialAboutActivity {
MaterialAboutCard.Builder card = new MaterialAboutCard.Builder();
if (!TextUtils.isEmpty(config.privacyHtmlPath)) {
card.addItem(itemHelper(R.string.egab_privacy_policy, R.drawable.ic_privacy,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
if (config.dialog == null) {
AboutBoxUtils.openHTMLPage(AboutActivity.this, config.privacyHtmlPath);
} else {
@ -235,9 +235,9 @@ public class AboutActivity extends MaterialAboutActivity {
}
if (!TextUtils.isEmpty(config.acknowledgmentHtmlPath)) {
card.addItem(itemHelper(R.string.egab_acknowledgements, R.drawable.ic_acknowledgements,
new MaterialAboutItemOnClickAction() {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick() {
public void onClick(boolean b) {
if (config.dialog == null) {
AboutBoxUtils.openHTMLPage(AboutActivity.this, config.acknowledgmentHtmlPath);
} else {
@ -251,11 +251,11 @@ public class AboutActivity extends MaterialAboutActivity {
return card.build();
}
private MaterialAboutActionItem itemHelper(int name, int icon, MaterialAboutItemOnClickAction clickAction) {
private MaterialAboutActionItem itemHelper(int name, int icon, MaterialAboutItemOnClickListener listener) {
return new MaterialAboutActionItem.Builder()
.text(name)
.icon(icon)
.setOnClickAction(clickAction)
.setOnClickListener(listener)
.build();
}

View file

@ -25,10 +25,10 @@ public final class ShareUtil {
if (!TextUtils.isEmpty(config.packageName) && !TextUtils.isEmpty(shareMessage) && config.buildType != null) {
switch (config.buildType) {
case GOOGLE:
shareMessage = shareMessage + AboutBoxUtils.playStoreAppURI + config.packageName;
shareMessage = AboutBoxUtils.playStoreAppURI + config.packageName;
break;
case AMAZON:
shareMessage = shareMessage + AboutBoxUtils.amznStoreAppURI + config.packageName;
shareMessage = AboutBoxUtils.amznStoreAppURI + config.packageName;
break;
default:
break;

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme.MaterialAboutActivity" parent="Theme.Mal.Light.DarkActionBar" >
<style name="AppTheme.MaterialAboutActivity" parent="Theme.Mal" >
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>