1
0
Fork 0
mirror of https://github.com/ethauvin/android-about-box.git synced 2025-04-24 18:27:11 -07:00

Merge pull request #26 from eggheadgames/feature/remove_branch_io

Remove dependancy on Branch.io
This commit is contained in:
AlexDibrivnyy 2017-05-16 20:47:45 +03:00 committed by GitHub
commit 4e3900f40c
5 changed files with 23 additions and 57 deletions

View file

@ -29,7 +29,4 @@ android {
dependencies {
compile 'com.github.daniel-stoneuk:material-about-library:1.8.2'
compile('io.branch.sdk.android:library:2.6.1') {
exclude module: 'answers.shim'
}
}

View file

@ -21,9 +21,10 @@ public class AboutConfig {
public BuildType buildType;
public String packageName;
// custom analytics and dialog
// custom analytics, dialog and share
public IAnalytic analytics;
public IDialog dialog;
public IShare share;
// email
public String emailAddress;
@ -31,7 +32,6 @@ public class AboutConfig {
public String emailBody;
// share
public String shareMessageTitle;
public String shareMessage;
public String sharingTitle;

View file

@ -0,0 +1,9 @@
package com.eggheadgames.aboutbox;
import android.app.Activity;
public interface IShare {
void share(Activity activity);
}

View file

@ -105,11 +105,14 @@ public class AboutActivity extends MaterialAboutActivity {
new MaterialAboutItemOnClickListener() {
@Override
public void onClick(boolean b) {
ShareUtil.share(AboutActivity.this);
if (config.share == null) {
ShareUtil.share(AboutActivity.this);
} else {
config.share.share(AboutActivity.this);
}
logUIEventName(config.analytics, config.logUiEventName, getString(R.string.egab_share_log_event));
}
}));
return card.build();
}

View file

@ -1,17 +1,10 @@
package com.eggheadgames.aboutbox.share;
import android.app.Activity;
import android.text.TextUtils;
import android.content.Intent;
import com.eggheadgames.aboutbox.AboutConfig;
import io.branch.indexing.BranchUniversalObject;
import io.branch.referral.Branch;
import io.branch.referral.BranchError;
import io.branch.referral.SharingHelper;
import io.branch.referral.util.LinkProperties;
import io.branch.referral.util.ShareSheetStyle;
public final class ShareUtil {
private ShareUtil() {
@ -19,48 +12,12 @@ public final class ShareUtil {
}
public static void share(Activity activity) {
BranchUniversalObject branchUniversalObject = new BranchUniversalObject();
final AboutConfig config = AboutConfig.getInstance();
ShareSheetStyle shareSheetStyle = new ShareSheetStyle(activity, config.shareMessageTitle,
config.shareMessage)
.setCopyUrlStyle(activity.getResources().getDrawable(android.R.drawable.ic_menu_send),
"Copy", "Added to clipboard")
.setMoreOptionStyle(activity.getResources().getDrawable(android.R.drawable.ic_menu_search), "Show more")
.addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK)
.addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL)
.setSharingTitle(config.sharingTitle);
branchUniversalObject.showShareSheet(activity,
new LinkProperties(), shareSheetStyle, new Branch.BranchLinkShareListener() {
@Override
public void onShareLinkDialogLaunched() {
//nothing
}
@Override
public void onShareLinkDialogDismissed() {
if (config.analytics != null) {
config.analytics.logUiEvent("Share", "Dismissed");
}
}
@Override
public void onLinkShareResponse(String sharedLink, String sharedChannel, BranchError error) {
if (config.analytics != null) {
if (error == null || TextUtils.isEmpty(error.getMessage())) {
config.analytics.logUiEvent("Share", sharedChannel);
} else {
config.analytics.logUiEvent("Share Failure", error.getMessage());
}
}
}
@Override
public void onChannelSelected(String channelName) {
//nothing
}
});
AboutConfig config = AboutConfig.getInstance();
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_SEND);
intent2.setType("text/plain");
intent2.putExtra(Intent.EXTRA_TEXT, config.shareMessage);
activity.startActivity(Intent.createChooser(intent2, config.sharingTitle));
}
}