Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 17d8b1d

Browse files
authored
Merge pull request #184 from fynngodau/master
Add free build flavor without Crashlytics
2 parents 43301d7 + 879ede8 commit 17d8b1d

File tree

15 files changed

+128
-65
lines changed

15 files changed

+128
-65
lines changed

app/build.gradle

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@ android {
4949
signingConfig signingConfigs.releaseConfig
5050
}
5151
}
52+
53+
flavorDimensions "edition"
54+
productFlavors {
55+
free {
56+
dimension "edition"
57+
}
58+
proprietary {
59+
dimension "edition"
60+
}
61+
}
62+
5263
lintOptions {
5364
checkReleaseBuilds false
5465
abortOnError false
@@ -65,7 +76,7 @@ apply plugin: 'com.getkeepsafe.dexcount'
6576
dependencies {
6677
compile fileTree(dir: 'libs', include: ['*.jar'])
6778

68-
compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
79+
proprietaryCompile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
6980
transitive = true
7081
}
7182

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.blogspot.e_kanivets.moneytracker.util;
2+
3+
import android.content.Context;
4+
import android.support.annotation.Nullable;
5+
6+
7+
/**
8+
* In free software builds, this class does nothing as Crashlytics can't be used.
9+
* Created on 28/8/19.
10+
*
11+
* @author Fynn Godau
12+
*/
13+
14+
public class CrashlyticsProxy {
15+
private static CrashlyticsProxy instance;
16+
17+
public static CrashlyticsProxy get() {
18+
if (instance == null) {
19+
instance = new CrashlyticsProxy();
20+
}
21+
return instance;
22+
}
23+
24+
private CrashlyticsProxy() {
25+
26+
}
27+
28+
public static void startCrashlytics(Context context) {
29+
30+
}
31+
32+
public void setEnabled(boolean enabled) {
33+
34+
}
35+
36+
public boolean isEnabled() {
37+
return false;
38+
}
39+
40+
public boolean logEvent(@Nullable String eventName) {
41+
return false;
42+
}
43+
44+
public boolean logButton(@Nullable String buttonName) {
45+
return false;
46+
}
47+
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/MtApp.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@
66
import com.blogspot.e_kanivets.moneytracker.di.DaggerAppComponent;
77
import com.blogspot.e_kanivets.moneytracker.di.module.ControllerModule;
88
import com.blogspot.e_kanivets.moneytracker.di.module.repo.CachedRepoModule;
9-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
10-
import com.crashlytics.android.Crashlytics;
9+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1110

12-
import io.fabric.sdk.android.Fabric;
1311
import timber.log.Timber;
1412

1513
/**
@@ -36,11 +34,11 @@ public void onCreate() {
3634

3735
if (BuildConfig.DEBUG) {
3836
Timber.plant(new Timber.DebugTree());
39-
AnswersProxy.get().setEnabled(false);
37+
CrashlyticsProxy.get().setEnabled(false);
4038
} else {
4139
Timber.plant(new ReleaseTree());
42-
Fabric.with(this, new Crashlytics());
43-
AnswersProxy.get().setEnabled(true);
40+
CrashlyticsProxy.startCrashlytics(this);
41+
CrashlyticsProxy.get().setEnabled(true);
4442
}
4543
}
4644

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController;
1414
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
1515
import com.blogspot.e_kanivets.moneytracker.ui.presenter.AccountsSummaryPresenter;
16-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
16+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1717

1818
import javax.inject.Inject;
1919

@@ -82,13 +82,13 @@ public void onAccountClick(int position) {
8282
}
8383

8484
public void makeTransfer() {
85-
AnswersProxy.get().logButton("Add Transfer");
85+
CrashlyticsProxy.get().logButton("Add Transfer");
8686
startActivityForResult(new Intent(AccountsActivity.this, TransferActivity.class), REQUEST_TRANSFER);
8787
}
8888

8989
@OnClick(R.id.btn_add_account)
9090
public void addAccount() {
91-
AnswersProxy.get().logButton("Add Account");
91+
CrashlyticsProxy.get().logButton("Add Account");
9292
Intent intent = new Intent(AccountsActivity.this, AddAccountActivity.class);
9393
startActivityForResult(intent, REQUEST_ADD_ACCOUNT);
9494
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AddAccountActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController;
1313
import com.blogspot.e_kanivets.moneytracker.controller.CurrencyController;
1414
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
15-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
15+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1616
import com.blogspot.e_kanivets.moneytracker.util.validator.AccountValidator;
1717
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator;
1818

@@ -83,9 +83,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
8383
}
8484

8585
private void tryAddAccount() {
86-
AnswersProxy.get().logButton("Done Account");
86+
CrashlyticsProxy.get().logButton("Done Account");
8787
if (addAccount()) {
88-
AnswersProxy.get().logEvent("Done Account");
88+
CrashlyticsProxy.get().logEvent("Done Account");
8989
setResult(RESULT_OK);
9090
finish();
9191
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/TransferActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.blogspot.e_kanivets.moneytracker.controller.data.TransferController;
1414
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
1515
import com.blogspot.e_kanivets.moneytracker.entity.data.Transfer;
16-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
16+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1717
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator;
1818
import com.blogspot.e_kanivets.moneytracker.util.validator.TransferValidator;
1919

@@ -104,9 +104,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
104104
}
105105

106106
private void tryTransfer() {
107-
AnswersProxy.get().logButton("Done Transfer");
107+
CrashlyticsProxy.get().logButton("Done Transfer");
108108
if (doTransfer()) {
109-
AnswersProxy.get().logEvent("Done Transfer");
109+
CrashlyticsProxy.get().logEvent("Done Transfer");
110110
setResult(RESULT_OK);
111111
finish();
112112
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/EditAccountFragment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment
1010
import com.blogspot.e_kanivets.moneytracker.controller.FormatController
1111
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
1212
import com.blogspot.e_kanivets.moneytracker.entity.data.Account
13-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy
13+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy
1414
import com.blogspot.e_kanivets.moneytracker.util.validator.EditAccountValidator
1515
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator
1616
import kotlinx.android.synthetic.main.fragment_edit_account.*
@@ -46,7 +46,7 @@ class EditAccountFragment : BaseFragment() {
4646
}
4747

4848
private fun done() {
49-
AnswersProxy.get().logButton("Edit Account")
49+
CrashlyticsProxy.get().logButton("Edit Account")
5050
if (accountValidator.validate()) {
5151
val title = etTitle.text.toString().trim { it <= ' ' }
5252
val goal = etGoal.text.toString().toDouble()
@@ -57,7 +57,7 @@ class EditAccountFragment : BaseFragment() {
5757
)
5858
val updated = accountController.update(newAccount) != null
5959
if (updated) {
60-
AnswersProxy.get().logEvent("Edit Account")
60+
CrashlyticsProxy.get().logEvent("Edit Account")
6161
activity?.setResult(Activity.RESULT_OK)
6262
activity?.finish()
6363
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import com.blogspot.e_kanivets.moneytracker.activity.SettingsActivity;
1717
import com.blogspot.e_kanivets.moneytracker.activity.account.AccountsActivity;
1818
import com.blogspot.e_kanivets.moneytracker.activity.exchange_rate.ExchangeRatesActivity;
19-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
19+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
2020

2121
import butterknife.BindView;
2222

@@ -134,36 +134,36 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
134134
}
135135

136136
private void showAccounts() {
137-
AnswersProxy.get().logButton("Show Accounts");
137+
CrashlyticsProxy.get().logButton("Show Accounts");
138138
startActivityForResult(new Intent(BaseDrawerActivity.this, AccountsActivity.class),
139139
REQUEST_ACCOUNTS);
140140
}
141141

142142
private void showRates() {
143-
AnswersProxy.get().logButton("Show Rates");
143+
CrashlyticsProxy.get().logButton("Show Rates");
144144
startActivityForResult(new Intent(BaseDrawerActivity.this, ExchangeRatesActivity.class),
145145
REQUEST_RATES);
146146
}
147147

148148
private void showCharts() {
149-
AnswersProxy.get().logButton("Show Charts");
149+
CrashlyticsProxy.get().logButton("Show Charts");
150150
startActivity(new Intent(BaseDrawerActivity.this, ChartsActivity.class));
151151
}
152152

153153
private void showBackup() {
154-
AnswersProxy.get().logButton("Show Backup");
154+
CrashlyticsProxy.get().logButton("Show Backup");
155155
startActivityForResult(new Intent(BaseDrawerActivity.this, BackupActivity.class),
156156
REQUEST_BACKUP);
157157
}
158158

159159
private void showImportExport() {
160-
AnswersProxy.get().logButton("Show Import Export");
160+
CrashlyticsProxy.get().logButton("Show Import Export");
161161
startActivityForResult(new Intent(BaseDrawerActivity.this, ImportExportActivity.class),
162162
REQUEST_IMPORT_EXPORT);
163163
}
164164

165165
private void showSettings() {
166-
AnswersProxy.get().logButton("Show Settings");
166+
CrashlyticsProxy.get().logButton("Show Settings");
167167
startActivityForResult(new Intent(BaseDrawerActivity.this, SettingsActivity.class),
168168
REQUEST_SETTINGS);
169169
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/AddExchangeRateActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import com.blogspot.e_kanivets.moneytracker.controller.FormatController;
1515
import com.blogspot.e_kanivets.moneytracker.controller.data.ExchangeRateController;
1616
import com.blogspot.e_kanivets.moneytracker.entity.ExchangeRatePair;
17-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
17+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1818
import com.blogspot.e_kanivets.moneytracker.util.validator.ExchangeRatePairValidator;
1919
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator;
2020

@@ -126,9 +126,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
126126
}
127127

128128
private void tryAddExchangeRate() {
129-
AnswersProxy.get().logButton("Done Exchange Rate");
129+
CrashlyticsProxy.get().logButton("Done Exchange Rate");
130130
if (addExchangeRate()) {
131-
AnswersProxy.get().logEvent("Done Exchange Rate");
131+
CrashlyticsProxy.get().logEvent("Done Exchange Rate");
132132
setResult(RESULT_OK);
133133
finish();
134134
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import com.blogspot.e_kanivets.moneytracker.adapter.ExchangeRateAdapter;
1515
import com.blogspot.e_kanivets.moneytracker.controller.data.ExchangeRateController;
1616
import com.blogspot.e_kanivets.moneytracker.entity.ExchangeRatePair;
17-
import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy;
17+
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy;
1818
import com.blogspot.e_kanivets.moneytracker.util.ExchangeRatesSummarizer;
1919

2020
import java.util.Collections;
@@ -80,22 +80,22 @@ public boolean onContextItemSelected(MenuItem item) {
8080
}
8181

8282
public void deleteExchangeRate(int position) {
83-
AnswersProxy.get().logButton("Delete Exchange Rate");
83+
CrashlyticsProxy.get().logButton("Delete Exchange Rate");
8484
rateController.deleteExchangeRatePair(exchangeRateList.get(position));
8585
update();
8686
setResult(RESULT_OK);
8787
}
8888

8989
@OnClick(R.id.btn_add_exchange_rate)
9090
public void addExchangeRate() {
91-
AnswersProxy.get().logButton("Add Exchange Rate");
91+
CrashlyticsProxy.get().logButton("Add Exchange Rate");
9292
Intent intent = new Intent(ExchangeRatesActivity.this, AddExchangeRateActivity.class);
9393
startActivityForResult(intent, REQUEST_ADD_EXCHANGE_RATE);
9494
}
9595

9696
@OnItemClick(R.id.listView)
9797
public void addExchangeRateOnBaseOfExisted(int position) {
98-
AnswersProxy.get().logButton("Edit Exchange Rate");
98+
CrashlyticsProxy.get().logButton("Edit Exchange Rate");
9999
if (position < 0 || position >= exchangeRateList.size()) return;
100100
Intent intent = new Intent(ExchangeRatesActivity.this, AddExchangeRateActivity.class);
101101
intent.putExtra(AddExchangeRateActivity.KEY_EXCHANGE_RATE, exchangeRateList.get(position));

0 commit comments

Comments
 (0)