diff --git a/app/build.gradle b/app/build.gradle index b77ab6c..293cfbb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,6 +49,17 @@ android { signingConfig signingConfigs.releaseConfig } } + + flavorDimensions "edition" + productFlavors { + free { + dimension "edition" + } + proprietary { + dimension "edition" + } + } + lintOptions { checkReleaseBuilds false abortOnError false @@ -65,7 +76,7 @@ apply plugin: 'com.getkeepsafe.dexcount' dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { + proprietaryCompile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { transitive = true } diff --git a/app/src/free/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java b/app/src/free/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java new file mode 100644 index 0000000..df51466 --- /dev/null +++ b/app/src/free/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java @@ -0,0 +1,47 @@ +package com.blogspot.e_kanivets.moneytracker.util; + +import android.content.Context; +import android.support.annotation.Nullable; + + +/** + * In free software builds, this class does nothing as Crashlytics can't be used. + * Created on 28/8/19. + * + * @author Fynn Godau + */ + +public class CrashlyticsProxy { + private static CrashlyticsProxy instance; + + public static CrashlyticsProxy get() { + if (instance == null) { + instance = new CrashlyticsProxy(); + } + return instance; + } + + private CrashlyticsProxy() { + + } + + public static void startCrashlytics(Context context) { + + } + + public void setEnabled(boolean enabled) { + + } + + public boolean isEnabled() { + return false; + } + + public boolean logEvent(@Nullable String eventName) { + return false; + } + + public boolean logButton(@Nullable String buttonName) { + return false; + } +} diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/MtApp.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/MtApp.java index c73f3e5..80009d3 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/MtApp.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/MtApp.java @@ -6,10 +6,8 @@ import com.blogspot.e_kanivets.moneytracker.di.DaggerAppComponent; import com.blogspot.e_kanivets.moneytracker.di.module.ControllerModule; import com.blogspot.e_kanivets.moneytracker.di.module.repo.CachedRepoModule; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; -import com.crashlytics.android.Crashlytics; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; -import io.fabric.sdk.android.Fabric; import timber.log.Timber; /** @@ -36,11 +34,11 @@ public void onCreate() { if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree()); - AnswersProxy.get().setEnabled(false); + CrashlyticsProxy.get().setEnabled(false); } else { Timber.plant(new ReleaseTree()); - Fabric.with(this, new Crashlytics()); - AnswersProxy.get().setEnabled(true); + CrashlyticsProxy.startCrashlytics(this); + CrashlyticsProxy.get().setEnabled(true); } } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java index fba501b..bbc3692 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AccountsActivity.java @@ -13,7 +13,7 @@ import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController; import com.blogspot.e_kanivets.moneytracker.entity.data.Account; import com.blogspot.e_kanivets.moneytracker.ui.presenter.AccountsSummaryPresenter; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import javax.inject.Inject; @@ -82,13 +82,13 @@ public void onAccountClick(int position) { } public void makeTransfer() { - AnswersProxy.get().logButton("Add Transfer"); + CrashlyticsProxy.get().logButton("Add Transfer"); startActivityForResult(new Intent(AccountsActivity.this, TransferActivity.class), REQUEST_TRANSFER); } @OnClick(R.id.btn_add_account) public void addAccount() { - AnswersProxy.get().logButton("Add Account"); + CrashlyticsProxy.get().logButton("Add Account"); Intent intent = new Intent(AccountsActivity.this, AddAccountActivity.class); startActivityForResult(intent, REQUEST_ADD_ACCOUNT); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AddAccountActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AddAccountActivity.java index e885ac2..c61b2b8 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AddAccountActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/AddAccountActivity.java @@ -12,7 +12,7 @@ import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController; import com.blogspot.e_kanivets.moneytracker.controller.CurrencyController; import com.blogspot.e_kanivets.moneytracker.entity.data.Account; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.blogspot.e_kanivets.moneytracker.util.validator.AccountValidator; import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator; @@ -83,9 +83,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } private void tryAddAccount() { - AnswersProxy.get().logButton("Done Account"); + CrashlyticsProxy.get().logButton("Done Account"); if (addAccount()) { - AnswersProxy.get().logEvent("Done Account"); + CrashlyticsProxy.get().logEvent("Done Account"); setResult(RESULT_OK); finish(); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/TransferActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/TransferActivity.java index 668fb73..f44615b 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/TransferActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/TransferActivity.java @@ -13,7 +13,7 @@ import com.blogspot.e_kanivets.moneytracker.controller.data.TransferController; import com.blogspot.e_kanivets.moneytracker.entity.data.Account; import com.blogspot.e_kanivets.moneytracker.entity.data.Transfer; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator; import com.blogspot.e_kanivets.moneytracker.util.validator.TransferValidator; @@ -104,9 +104,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } private void tryTransfer() { - AnswersProxy.get().logButton("Done Transfer"); + CrashlyticsProxy.get().logButton("Done Transfer"); if (doTransfer()) { - AnswersProxy.get().logEvent("Done Transfer"); + CrashlyticsProxy.get().logEvent("Done Transfer"); setResult(RESULT_OK); finish(); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/EditAccountFragment.kt b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/EditAccountFragment.kt index 9d0fc17..f61a226 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/EditAccountFragment.kt +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/EditAccountFragment.kt @@ -10,7 +10,7 @@ import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment import com.blogspot.e_kanivets.moneytracker.controller.FormatController import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController import com.blogspot.e_kanivets.moneytracker.entity.data.Account -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy import com.blogspot.e_kanivets.moneytracker.util.validator.EditAccountValidator import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator import kotlinx.android.synthetic.main.fragment_edit_account.* @@ -46,7 +46,7 @@ class EditAccountFragment : BaseFragment() { } private fun done() { - AnswersProxy.get().logButton("Edit Account") + CrashlyticsProxy.get().logButton("Edit Account") if (accountValidator.validate()) { val title = etTitle.text.toString().trim { it <= ' ' } val goal = etGoal.text.toString().toDouble() @@ -57,7 +57,7 @@ class EditAccountFragment : BaseFragment() { ) val updated = accountController.update(newAccount) != null if (updated) { - AnswersProxy.get().logEvent("Edit Account") + CrashlyticsProxy.get().logEvent("Edit Account") activity?.setResult(Activity.RESULT_OK) activity?.finish() } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java index b581b2f..a9a5f36 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/base/BaseDrawerActivity.java @@ -16,7 +16,7 @@ import com.blogspot.e_kanivets.moneytracker.activity.SettingsActivity; import com.blogspot.e_kanivets.moneytracker.activity.account.AccountsActivity; import com.blogspot.e_kanivets.moneytracker.activity.exchange_rate.ExchangeRatesActivity; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import butterknife.BindView; @@ -134,36 +134,36 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } private void showAccounts() { - AnswersProxy.get().logButton("Show Accounts"); + CrashlyticsProxy.get().logButton("Show Accounts"); startActivityForResult(new Intent(BaseDrawerActivity.this, AccountsActivity.class), REQUEST_ACCOUNTS); } private void showRates() { - AnswersProxy.get().logButton("Show Rates"); + CrashlyticsProxy.get().logButton("Show Rates"); startActivityForResult(new Intent(BaseDrawerActivity.this, ExchangeRatesActivity.class), REQUEST_RATES); } private void showCharts() { - AnswersProxy.get().logButton("Show Charts"); + CrashlyticsProxy.get().logButton("Show Charts"); startActivity(new Intent(BaseDrawerActivity.this, ChartsActivity.class)); } private void showBackup() { - AnswersProxy.get().logButton("Show Backup"); + CrashlyticsProxy.get().logButton("Show Backup"); startActivityForResult(new Intent(BaseDrawerActivity.this, BackupActivity.class), REQUEST_BACKUP); } private void showImportExport() { - AnswersProxy.get().logButton("Show Import Export"); + CrashlyticsProxy.get().logButton("Show Import Export"); startActivityForResult(new Intent(BaseDrawerActivity.this, ImportExportActivity.class), REQUEST_IMPORT_EXPORT); } private void showSettings() { - AnswersProxy.get().logButton("Show Settings"); + CrashlyticsProxy.get().logButton("Show Settings"); startActivityForResult(new Intent(BaseDrawerActivity.this, SettingsActivity.class), REQUEST_SETTINGS); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/AddExchangeRateActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/AddExchangeRateActivity.java index c24cb85..47d3f31 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/AddExchangeRateActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/AddExchangeRateActivity.java @@ -14,7 +14,7 @@ import com.blogspot.e_kanivets.moneytracker.controller.FormatController; import com.blogspot.e_kanivets.moneytracker.controller.data.ExchangeRateController; import com.blogspot.e_kanivets.moneytracker.entity.ExchangeRatePair; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.blogspot.e_kanivets.moneytracker.util.validator.ExchangeRatePairValidator; import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator; @@ -126,9 +126,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } private void tryAddExchangeRate() { - AnswersProxy.get().logButton("Done Exchange Rate"); + CrashlyticsProxy.get().logButton("Done Exchange Rate"); if (addExchangeRate()) { - AnswersProxy.get().logEvent("Done Exchange Rate"); + CrashlyticsProxy.get().logEvent("Done Exchange Rate"); setResult(RESULT_OK); finish(); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java index b5d7233..d0a4ba3 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/exchange_rate/ExchangeRatesActivity.java @@ -14,7 +14,7 @@ import com.blogspot.e_kanivets.moneytracker.adapter.ExchangeRateAdapter; import com.blogspot.e_kanivets.moneytracker.controller.data.ExchangeRateController; import com.blogspot.e_kanivets.moneytracker.entity.ExchangeRatePair; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.blogspot.e_kanivets.moneytracker.util.ExchangeRatesSummarizer; import java.util.Collections; @@ -80,7 +80,7 @@ public boolean onContextItemSelected(MenuItem item) { } public void deleteExchangeRate(int position) { - AnswersProxy.get().logButton("Delete Exchange Rate"); + CrashlyticsProxy.get().logButton("Delete Exchange Rate"); rateController.deleteExchangeRatePair(exchangeRateList.get(position)); update(); setResult(RESULT_OK); @@ -88,14 +88,14 @@ public void deleteExchangeRate(int position) { @OnClick(R.id.btn_add_exchange_rate) public void addExchangeRate() { - AnswersProxy.get().logButton("Add Exchange Rate"); + CrashlyticsProxy.get().logButton("Add Exchange Rate"); Intent intent = new Intent(ExchangeRatesActivity.this, AddExchangeRateActivity.class); startActivityForResult(intent, REQUEST_ADD_EXCHANGE_RATE); } @OnItemClick(R.id.listView) public void addExchangeRateOnBaseOfExisted(int position) { - AnswersProxy.get().logButton("Edit Exchange Rate"); + CrashlyticsProxy.get().logButton("Edit Exchange Rate"); if (position < 0 || position >= exchangeRateList.size()) return; Intent intent = new Intent(ExchangeRatesActivity.this, AddExchangeRateActivity.class); intent.putExtra(AddExchangeRateActivity.KEY_EXCHANGE_RATE, exchangeRateList.get(position)); diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/BackupActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/BackupActivity.java index a670c5e..3c5c29d 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/BackupActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/BackupActivity.java @@ -12,7 +12,7 @@ import com.blogspot.e_kanivets.moneytracker.adapter.BackupAdapter; import com.blogspot.e_kanivets.moneytracker.controller.backup.BackupController; import com.blogspot.e_kanivets.moneytracker.controller.PreferenceController; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.dropbox.core.DbxRequestConfig; import com.dropbox.core.android.Auth; import com.dropbox.core.v2.DbxClientV2; @@ -105,7 +105,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onBackupSuccess() { - AnswersProxy.get().logEvent("Backup success"); + CrashlyticsProxy.get().logEvent("Backup success"); Timber.d("Backup success."); if (isFinishing()) return; @@ -114,7 +114,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onBackupFailure(String reason) { - AnswersProxy.get().logEvent("Backup failure"); + CrashlyticsProxy.get().logEvent("Backup failure"); Timber.d("Backup failure."); if (isFinishing()) return; @@ -125,7 +125,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onRestoreSuccess(@NonNull String backupName) { - AnswersProxy.get().logEvent("Restore Success"); + CrashlyticsProxy.get().logEvent("Restore Success"); Timber.d("Restore success."); if (isFinishing()) return; @@ -146,7 +146,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onRestoreFailure(String reason) { - AnswersProxy.get().logEvent("Restore Failure"); + CrashlyticsProxy.get().logEvent("Restore Failure"); Timber.d("Restore failure."); if (isFinishing()) return; @@ -157,7 +157,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onRemoveSuccess() { - AnswersProxy.get().logEvent("Remove Success"); + CrashlyticsProxy.get().logEvent("Remove Success"); Timber.d("Remove success."); if (isFinishing()) return; @@ -166,7 +166,7 @@ public class BackupActivity extends BaseBackActivity } @Override public void onRemoveFailure(@Nullable String reason) { - AnswersProxy.get().logEvent("Remove Failure"); + CrashlyticsProxy.get().logEvent("Remove Failure"); Timber.d("Remove failure."); if (isFinishing()) return; @@ -175,13 +175,13 @@ public class BackupActivity extends BaseBackActivity } @OnClick(R.id.btn_backup_now) public void backupNow() { - AnswersProxy.get().logButton("Make Backup"); + CrashlyticsProxy.get().logButton("Make Backup"); startProgress(getString(R.string.making_backup)); backupController.makeBackup(dbClient); } @OnItemClick(R.id.listView) public void restoreBackupClicked(int position) { - AnswersProxy.get().logButton("Restore backup"); + CrashlyticsProxy.get().logButton("Restore backup"); final String backupName = listView.getAdapter().getItem(position).toString(); AlertDialog.Builder builder = new AlertDialog.Builder(BackupActivity.this); diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/ImportExportActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/ImportExportActivity.java index 0549f63..fb2f979 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/ImportExportActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/ImportExportActivity.java @@ -15,7 +15,7 @@ import com.blogspot.e_kanivets.moneytracker.controller.external.ExportController; import com.blogspot.e_kanivets.moneytracker.controller.external.ImportController; import com.blogspot.e_kanivets.moneytracker.entity.data.Record; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import java.io.File; import java.io.FileNotFoundException; @@ -70,7 +70,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } public void showHelp() { - AnswersProxy.get().logButton("Show Help"); + CrashlyticsProxy.get().logButton("Show Help"); AlertDialog.Builder builder = new AlertDialog.Builder(ImportExportActivity.this); builder.setTitle(R.string.help) .setMessage(R.string.import_help) @@ -80,7 +80,7 @@ public void showHelp() { @OnClick(R.id.btn_import) public void importRecords() { - AnswersProxy.get().logButton("Import Records"); + CrashlyticsProxy.get().logButton("Import Records"); final String data = etImportData.getText().toString().trim(); AsyncTask importTask = new AsyncTask() { @@ -109,7 +109,7 @@ protected void onPostExecute(Integer recordCount) { @OnClick(R.id.btn_export) public void exportRecords() { - AnswersProxy.get().logButton("Export Records"); + CrashlyticsProxy.get().logButton("Export Records"); List records = exportController.getRecordsForExport(0, Long.MAX_VALUE); File exportDir = new File(getCacheDir(), "export"); @@ -141,7 +141,7 @@ public void exportRecords() { } private void shareExportedRecords(@NonNull File exportFile) { - AnswersProxy.get().logEvent("Share Records"); + CrashlyticsProxy.get().logEvent("Share Records"); Uri fileUri = FileProvider.getUriForFile(ImportExportActivity.this, getPackageName(), exportFile); Intent sendIntent = new Intent(); diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/AddRecordActivity.java b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/AddRecordActivity.java index 1e04b51..6081301 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/AddRecordActivity.java +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/AddRecordActivity.java @@ -33,7 +33,7 @@ import com.blogspot.e_kanivets.moneytracker.entity.data.Category; import com.blogspot.e_kanivets.moneytracker.entity.data.Record; import com.blogspot.e_kanivets.moneytracker.ui.AddRecordUiDecorator; -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy; +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy; import com.blogspot.e_kanivets.moneytracker.util.CategoryAutoCompleter; import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator; import com.blogspot.e_kanivets.moneytracker.util.validator.RecordValidator; @@ -224,7 +224,7 @@ public boolean onOptionsItemSelected(MenuItem item) { @OnClick(R.id.tv_date) public void selectDate() { - AnswersProxy.get().logButton("Select Date"); + CrashlyticsProxy.get().logButton("Select Date"); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp); DatePickerDialog dialog = new DatePickerDialog(AddRecordActivity.this, uiDecorator.getTheme(type), @@ -251,7 +251,7 @@ public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth @OnClick(R.id.tv_time) public void selectTime() { - AnswersProxy.get().logButton("Show Time"); + CrashlyticsProxy.get().logButton("Show Time"); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp); TimePickerDialog dialog = new TimePickerDialog(AddRecordActivity.this, uiDecorator.getTheme(type), @@ -317,9 +317,9 @@ private void presentSpinnerAccount() { } private void tryRecord() { - AnswersProxy.get().logButton("Done Record"); + CrashlyticsProxy.get().logButton("Done Record"); if (addRecord()) { - AnswersProxy.get().logEvent("Done Record"); + CrashlyticsProxy.get().logEvent("Done Record"); setResult(RESULT_OK); finish(); } diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.kt b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.kt index e93e158..fa96f1b 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.kt +++ b/app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.kt @@ -18,7 +18,7 @@ import com.blogspot.e_kanivets.moneytracker.entity.Period import com.blogspot.e_kanivets.moneytracker.entity.data.Record import com.blogspot.e_kanivets.moneytracker.report.ReportMaker import com.blogspot.e_kanivets.moneytracker.ui.AppRateDialog -import com.blogspot.e_kanivets.moneytracker.util.AnswersProxy +import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.content_main.* import javax.inject.Inject @@ -89,7 +89,7 @@ class MainActivity : BaseDrawerActivity() { } private fun editRecord(position: Int) { - AnswersProxy.get().logButton("Edit Record") + CrashlyticsProxy.get().logButton("Edit Record") // Minus one because of list view's header view val record = recordList[position - 1] @@ -97,17 +97,17 @@ class MainActivity : BaseDrawerActivity() { } private fun addExpense() { - AnswersProxy.get().logButton("Add Expense") + CrashlyticsProxy.get().logButton("Add Expense") startAddRecordActivity(null, AddRecordActivity.Mode.MODE_ADD, Record.TYPE_EXPENSE) } private fun addIncome() { - AnswersProxy.get().logButton("Add Income") + CrashlyticsProxy.get().logButton("Add Income") startAddRecordActivity(null, AddRecordActivity.Mode.MODE_ADD, Record.TYPE_INCOME) } private fun showReport() { - AnswersProxy.get().logButton("Show Report") + CrashlyticsProxy.get().logButton("Show Report") val intent = Intent(this, ReportActivity::class.java) intent.putExtra(ReportActivity.KEY_PERIOD, period) startActivity(intent) @@ -146,7 +146,7 @@ class MainActivity : BaseDrawerActivity() { } private fun showAppRateDialog() { - AnswersProxy.get().logEvent("Show App Rate Dialog") + CrashlyticsProxy.get().logEvent("Show App Rate Dialog") val dialog = AppRateDialog(this) dialog.setCanceledOnTouchOutside(false) dialog.show() diff --git a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/util/AnswersProxy.java b/app/src/proprietary/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java similarity index 67% rename from app/src/main/java/com/blogspot/e_kanivets/moneytracker/util/AnswersProxy.java rename to app/src/proprietary/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java index d285251..46b35ad 100644 --- a/app/src/main/java/com/blogspot/e_kanivets/moneytracker/util/AnswersProxy.java +++ b/app/src/proprietary/java/com/blogspot/e_kanivets/moneytracker/util/CrashlyticsProxy.java @@ -1,34 +1,41 @@ package com.blogspot.e_kanivets.moneytracker.util; +import android.content.Context; import android.support.annotation.Nullable; +import com.crashlytics.android.Crashlytics; import com.crashlytics.android.answers.Answers; import com.crashlytics.android.answers.ContentViewEvent; +import io.fabric.sdk.android.Fabric; /** - * Util class that wraps the Answers event analytic, to disable it in Debug mode and simplify - * an interface. + * Util class that wraps all Crashlytics interactions to disable Answers in + * Debug mode and allow not including Crashlytics in free (fdroid) builds. * Created on 1/11/17. * * @author Evgenii Kanivets */ -public class AnswersProxy { - private static AnswersProxy instance; +public class CrashlyticsProxy { + private static CrashlyticsProxy instance; - public static AnswersProxy get() { + public static CrashlyticsProxy get() { if (instance == null) { - instance = new AnswersProxy(); + instance = new CrashlyticsProxy(); } return instance; } - private AnswersProxy() { + private CrashlyticsProxy() { } private boolean enabled; + public static void startCrashlytics(Context context) { + Fabric.with(context, new Crashlytics()); + } + public void setEnabled(boolean enabled) { this.enabled = enabled; }