diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser deleted file mode 100644 index 8d6769fc..00000000 Binary files a/.idea/caches/build_file_checksums.ser and /dev/null differ diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 00000000..7b492be5 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 3bfc6740..bb689dc0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,9 +1,11 @@ apply plugin: 'com.android.application' -apply plugin: 'io.fabric' +apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.firebase.crashlytics' repositories { - maven { url 'https://maven.fabric.io/public' } + // Add Google's Maven repository + google() } android { compileSdkVersion = 28 @@ -166,10 +168,15 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0' implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.10.0' - implementation 'com.google.firebase:firebase-core:16.0.8' - implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') { - transitive = true - } + + // Per https://firebase.google.com/support/release-notes/android#java + // The Firebase Android library firebase-core is no longer needed. + // Add the Firebase Crashlytics SDK. + implementation 'com.google.firebase:firebase-crashlytics:17.3.0' + + // Add the Google Analytics SDK. + implementation 'com.google.firebase:firebase-analytics:18.0.0' + implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation('androidx.work:work-runtime:2.0.1') { exclude group: 'com.google.guava', module: 'listenablefuture' diff --git a/app/src/main/java/com/ravenwallet/RavenApp.java b/app/src/main/java/com/ravenwallet/RavenApp.java index 44f8b4d0..59a9750f 100644 --- a/app/src/main/java/com/ravenwallet/RavenApp.java +++ b/app/src/main/java/com/ravenwallet/RavenApp.java @@ -17,8 +17,7 @@ import com.ravenwallet.tools.listeners.SyncReceiver; import com.ravenwallet.tools.manager.InternetManager; import com.ravenwallet.tools.util.Utils; -import com.crashlytics.android.Crashlytics; -import io.fabric.sdk.android.Fabric; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import java.util.ArrayList; import java.util.List; @@ -52,7 +51,7 @@ public class RavenApp extends Application { public void onCreate() { super.onCreate(); - Fabric.with(this, new Crashlytics()); + FirebaseCrashlytics.getInstance(); mContext = this; diff --git a/app/src/main/java/com/ravenwallet/presenter/activities/settings/DisplayCurrencyActivity.java b/app/src/main/java/com/ravenwallet/presenter/activities/settings/DisplayCurrencyActivity.java index 8ce9f564..b2cbada2 100644 --- a/app/src/main/java/com/ravenwallet/presenter/activities/settings/DisplayCurrencyActivity.java +++ b/app/src/main/java/com/ravenwallet/presenter/activities/settings/DisplayCurrencyActivity.java @@ -31,8 +31,6 @@ import java.math.BigDecimal; import java.util.Currency; -import io.fabric.sdk.android.services.common.SafeToast; - import static com.ravenwallet.tools.util.BRConstants.SATOSHIS; diff --git a/app/src/main/java/com/ravenwallet/tools/manager/BRReportsManager.java b/app/src/main/java/com/ravenwallet/tools/manager/BRReportsManager.java index bdedd8fe..532fa697 100644 --- a/app/src/main/java/com/ravenwallet/tools/manager/BRReportsManager.java +++ b/app/src/main/java/com/ravenwallet/tools/manager/BRReportsManager.java @@ -2,10 +2,7 @@ import android.util.Log; -import com.crashlytics.android.Crashlytics; - -//import com.google.firebase.crash.FirebaseCrash; - +import com.google.firebase.crashlytics.FirebaseCrashlytics; /** * RavenWallet @@ -38,8 +35,7 @@ public class BRReportsManager { public static void reportBug(RuntimeException er, boolean crash) { Log.e(TAG, "reportBug: ", er); try { -// FirebaseCrash.report(er); - Crashlytics.logException(er); + FirebaseCrashlytics.getInstance().recordException(er); } catch (Exception e) { Log.e(TAG, "reportBug: failed to report to FireBase: ", e); } @@ -49,8 +45,7 @@ public static void reportBug(RuntimeException er, boolean crash) { public static void reportBug(Exception er) { Log.e(TAG, "reportBug: ", er); try { -// FirebaseCrash.report(er); - Crashlytics.logException(er); + FirebaseCrashlytics.getInstance().recordException(er); } catch (Exception e) { Log.e(TAG, "reportBug: failed to report to FireBase: ", e); } diff --git a/app/src/main/java/com/ravenwallet/tools/manager/SendManager.java b/app/src/main/java/com/ravenwallet/tools/manager/SendManager.java index 76e7143c..c884af0b 100644 --- a/app/src/main/java/com/ravenwallet/tools/manager/SendManager.java +++ b/app/src/main/java/com/ravenwallet/tools/manager/SendManager.java @@ -27,8 +27,7 @@ import com.ravenwallet.wallet.exceptions.InsufficientFundsException; import com.ravenwallet.wallet.exceptions.SomethingWentWrong; import com.ravenwallet.wallet.exceptions.SpendingNotAllowed; -import com.crashlytics.android.Crashlytics; -//import com.google.firebase.crash.FirebaseCrash; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import java.math.BigDecimal; import java.util.Locale; @@ -104,8 +103,7 @@ public void run() { if (!timedOut) tryPay(app, payment, walletManager); else -// FirebaseCrash.report(new NullPointerException("did not send, timedOut!")); - Crashlytics.logException(new NullPointerException("did not send, timedOut!")); + FirebaseCrashlytics.getInstance().recordException(new NullPointerException("did not send, timedOut!")); return; //return so no error is shown } catch (InsufficientFundsException ignored) { errTitle[0] = app.getString(R.string.Alerts_sendFailure); @@ -135,8 +133,7 @@ public void onClick(BRDialogView brDialogView) { return; } catch (FeeOutOfDate ex) { //Fee is out of date, show not connected error -// FirebaseCrash.report(ex); - Crashlytics.logException(ex); + FirebaseCrashlytics.getInstance().recordException(ex); BRExecutor.getInstance().forMainThreadTasks().execute(new Runnable() { @Override public void run() { @@ -151,8 +148,7 @@ public void onClick(BRDialogView brDialogView) { return; } catch (SomethingWentWrong somethingWentWrong) { somethingWentWrong.printStackTrace(); -// FirebaseCrash.report(somethingWentWrong); - Crashlytics.logException(somethingWentWrong); + FirebaseCrashlytics.getInstance().recordException(somethingWentWrong); BRExecutor.getInstance().forMainThreadTasks().execute(new Runnable() { @Override public void run() { diff --git a/app/src/main/java/com/ravenwallet/tools/manager/SyncManager.java b/app/src/main/java/com/ravenwallet/tools/manager/SyncManager.java index 5987f4c3..b62c8c68 100644 --- a/app/src/main/java/com/ravenwallet/tools/manager/SyncManager.java +++ b/app/src/main/java/com/ravenwallet/tools/manager/SyncManager.java @@ -10,7 +10,7 @@ import com.ravenwallet.tools.listeners.SyncReceiver; import com.ravenwallet.tools.threads.executor.BRExecutor; import com.ravenwallet.wallet.abstracts.BaseWalletManager; -import com.crashlytics.android.Crashlytics; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import java.util.concurrent.TimeUnit; @@ -122,8 +122,9 @@ public void run() { } } catch (InterruptedException e) { Log.e(TAG, "run: " + getName(), e); - Crashlytics.log("run: " + getName() + " " + e.getMessage()); - Crashlytics.logException(e); + FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); + crashlytics.log("run: " + getName() + " " + e.getMessage()); + crashlytics.recordException(e); final double syncProgress = mCurrentWallet.getPeerManager().getSyncProgress(BRSharedPrefs.getStartHeight(mApp, mCurrentWallet.getIso(mApp))); BRExecutor.getInstance().forMainThreadTasks().execute(new Runnable() { @Override diff --git a/app/src/main/java/com/ravenwallet/wallet/RvnWalletManager.java b/app/src/main/java/com/ravenwallet/wallet/RvnWalletManager.java index 92d7cd59..e82691c0 100644 --- a/app/src/main/java/com/ravenwallet/wallet/RvnWalletManager.java +++ b/app/src/main/java/com/ravenwallet/wallet/RvnWalletManager.java @@ -16,7 +16,7 @@ import android.util.Log; import android.widget.Toast; -import com.crashlytics.android.Crashlytics; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import com.platform.addressBook.AddressBookRepository; import com.platform.assets.Asset; import com.platform.assets.AssetType; @@ -222,17 +222,20 @@ public void updateFee(Context app) { fee = obj.getLong("fee_per_kb"); economyFee = obj.getLong("fee_per_kb_economy"); + FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); + + if (fee != 0 && fee < getWallet().getMaxFeePerKb()) { BRSharedPrefs.putFeePerKb(app, getIso(app), fee); getWallet().setFeePerKb(BRSharedPrefs.getFavorStandardFee(app, getIso(app)) ? fee : economyFee); BRSharedPrefs.putFeeTime(app, getIso(app), System.currentTimeMillis()); //store the time of the last successful fee fetch } else { - Crashlytics.logException(new NullPointerException("Fee is weird:" + fee)); + crashlytics.recordException(new NullPointerException("Fee is weird:" + fee)); } if (economyFee != 0 && economyFee < getWallet().getMaxFeePerKb()) { BRSharedPrefs.putEconomyFeePerKb(app, getIso(app), economyFee); } else { - Crashlytics.logException(new NullPointerException("Economy fee is weird:" + economyFee)); + crashlytics.recordException(new NullPointerException("Economy fee is weird:" + economyFee)); } } catch (JSONException e) { Log.e(TAG, "updateFeePerKb: FAILED: " + jsonString, e); diff --git a/build.gradle b/build.gradle index 00d0f2c6..231f6d4c 100644 --- a/build.gradle +++ b/build.gradle @@ -3,21 +3,20 @@ buildscript { repositories { // You need to add the following repository to download the - // new plugin. + // new plugin. `google()` is Google's Maven repository google() jcenter() - maven { - url 'https://maven.fabric.io/public' - } } dependencies { - classpath 'com.android.tools.build:gradle:3.6.1' + classpath 'com.android.tools.build:gradle:4.1.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle filesSystem.loadLibrary - classpath 'com.google.gms:google-services:4.2.0' - // Add dependency - classpath 'io.fabric.tools:gradle:1.+' + classpath 'com.google.gms:google-services:4.3.4' + + // Add the Crashlytics Gradle plugin (use v2.0.0+ if you built + // your app with Android Studio 4.1). + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0fe2acc7..8fb866c3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Mar 12 09:02:29 MDT 2020 +#Sat Nov 14 00:24:02 EST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip