diff --git a/KEY_HASH.txt b/KEY_HASH.txt new file mode 100644 index 0000000..b366209 --- /dev/null +++ b/KEY_HASH.txt @@ -0,0 +1,2 @@ +SHA1: 51:7D:2D:3B:75:5D:B0:4D:00:9F:3F:F1:2E:2B:58:54:5E:1D:CC:C6 +SHA256: 5D:34:42:65:6D:63:2E:FE:B3:48:3C:51:47:76:AD:69:5A:6D:C8:36:29:5C:E9:22:8A:00:0E:54:1B:D4:AD:72 \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 4636e17..2981b8a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "javinator9889.bitcoinpools" minSdkVersion 21 targetSdkVersion 27 - versionCode 66 - versionName "1.18.2" + versionCode 70 + versionName "1.18.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { @@ -20,6 +20,7 @@ android { "${defaultConfig.versionName}" } debug { + minifyEnabled false resValue "string", "app_version", "${defaultConfig.versionName}${versionNameSuffix}" } @@ -34,33 +35,30 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:27.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' - compile 'com.google.firebase:firebase-core:11.8.0' + implementation 'com.google.firebase:firebase-core:11.8.0' implementation 'com.google.firebase:firebase-crash:11.8.0' implementation 'com.google.firebase:firebase-invites:11.8.0' implementation 'com.google.firebase:firebase-appindexing:11.8.0' - compile 'com.google.firebase:firebase-perf:11.8.0' - compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { + implementation 'com.google.firebase:firebase-perf:11.8.0' + implementation('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { transitive = true } testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3' - compile 'com.android.support:preference-v14:27.1.0' - compile 'com.android.support:preference-v7:27.1.0' + implementation 'com.android.support:preference-v14:27.1.0' + implementation 'com.android.support:preference-v7:27.1.0' implementation 'com.android.support:design:27.1.0' implementation 'com.afollestad.material-dialogs:core:0.9.6.0' - compile 'ch.acra:acra:4.9.2' implementation('com.mikepenz:aboutlibraries:6.0.2@aar') { transitive = true } implementation 'com.android.support:recyclerview-v7:27.1.0' implementation 'com.android.support:support-annotations:27.1.0' - compile 'com.android.support:appcompat-v7:27.1.0' - compile 'com.android.support:cardview-v7:27.1.0' - compile 'com.android.support:recyclerview-v7:27.1.0' - compile 'com.jpardogo.materialtabstrip:library:1.1.1' - compile 'org.sufficientlysecure:donations:2.5' + implementation 'com.android.support:cardview-v7:27.1.0' + implementation 'com.jpardogo.materialtabstrip:library:1.1.1' + implementation 'org.sufficientlysecure:donations:2.5' } -apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/app/release/BitCoinPools-1.18.3.apk b/app/release/BitCoinPools-1.18.3.apk new file mode 100644 index 0000000..3e20d8a Binary files /dev/null and b/app/release/BitCoinPools-1.18.3.apk differ diff --git a/app/release/output.json b/app/release/output.json index 0bb0a7f..91fe902 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":66},"path":"app-release.apk","properties":{"packageId":"javinator9889.bitcoinpools","split":"","minSdkVersion":"21"}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":70,"versionName":"1.18.3","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java index 981d854..603bc18 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java +++ b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java @@ -11,6 +11,7 @@ import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; +import com.google.firebase.crash.FirebaseCrash; import com.google.firebase.perf.metrics.AddTrace; import org.json.JSONObject; @@ -80,6 +81,8 @@ public void uncaughtException(Thread t, Throwable e) { isAnyExceptionThrown = true; Log.e("DataLoaderScreen", "Exception on thread: " + t.getName() + " | Message: " + e.getMessage()); + FirebaseCrash.log("DataLoaderScreen. Exception on thread: " + t.getName() + + " | Message: " + e.getMessage()); } }; private boolean isAnyExceptionThrown = false; @@ -100,20 +103,27 @@ protected void onPostExecute(Boolean result) { startActivity(activityMainIntent); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); } else { - new MaterialDialog.Builder(DataLoaderScreen.this) - .positiveText(R.string.accept) - .cancelable(false) - .title(R.string.errorLoading) - .content(R.string.errorLoadingDescription, - true) - .onPositive(new MaterialDialog.SingleButtonCallback() { - @Override - public void onClick(@NonNull MaterialDialog dialog, - @NonNull DialogAction which) { - DataLoaderScreen.this.onBackPressed(); - } - }) - .build().show(); + if (BitCoinApp.isOnline()) { + Log.d(Constants.LOG.MATAG, Constants.LOG.CREATING_MAINVIEW); + new DataLoader().execute(); + } else { + new MaterialDialog.Builder(DataLoaderScreen.this) + .title(R.string.noConnectionTitle) + .content(R.string.noConnectionDesc) + .cancelable(false) + .positiveText(R.string.accept) + .onPositive(new MaterialDialog.SingleButtonCallback() { + @Override + public void onClick(@NonNull MaterialDialog dialog, + @NonNull DialogAction which) { + onBackPressed(); + } + }) + .build() + .show(); + } + Log.e("DataLoaderScreen", "An exception was thrown. Trying to obtain " + + "data again"); } } diff --git a/app/src/main/java/javinator9889/bitcoinpools/License.java b/app/src/main/java/javinator9889/bitcoinpools/License.java index 043c587..a967da6 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/License.java +++ b/app/src/main/java/javinator9889/bitcoinpools/License.java @@ -25,6 +25,15 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.license); setTitle(R.string.licenseTitle); + String[] libs = new String[] { + getString(R.string.library_donations_libraryName), + getString(R.string.library_appcompat_v7_libraryName), + getString(R.string.library_constraint_layout_libraryName), + getString(R.string.library_design_libraryName), + getString(R.string.library_recyclerview_v7_libraryName), + getString(R.string.library_support_annotations_libraryName), + getString(R.string.library_support_cardview_libraryName), + }; LibsSupportFragment fragment = new LibsBuilder() .withVersionShown(true) .withLicenseShown(true) @@ -38,7 +47,7 @@ protected void onCreate(Bundle savedInstanceState) { .withAutoDetect(true) .withAboutDescription(getString(R.string.bitcoindesc)) .withLicenseDialog(true) - .withLibraries(getString(R.string.library_donations_libraryName)) + .withLibraries(libs) .supportFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); diff --git a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java index 74571d7..f9f9596 100644 --- a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java +++ b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java @@ -16,7 +16,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.ImageButton; import android.widget.Toast; import com.afollestad.materialdialogs.MaterialDialog; @@ -24,10 +23,8 @@ import com.google.firebase.perf.metrics.AddTrace; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import java.util.List; import javinator9889.bitcoinpools.AppUpdaterManager.CheckUpdates; import javinator9889.bitcoinpools.FragmentViews.DonationsActivity; @@ -117,7 +114,8 @@ protected void onCreate(Bundle savedInstanceState) { @Override public boolean onLongClick(View v) { if (easterEgg.addStep(MainActivity.this)) { - Intent easterEggIntent = new Intent(MainActivity.this, EasterEgg.class); + Intent easterEggIntent = new Intent(MainActivity.this, + EasterEgg.class); startActivity(easterEggIntent); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); easterEgg.resetSteps(); @@ -146,7 +144,11 @@ public boolean onLongClick(View v) { @Override protected void onResume() { super.onResume(); - DataLoaderScreen.dataLoaderScreenActivity.finish(); + try { + DataLoaderScreen.dataLoaderScreenActivity.finish(); + } catch (NullPointerException e) { + Log.i(Constants.LOG.MATAG, "DataLoaderScreen already finished"); + } } @Override @@ -165,10 +167,6 @@ private void refresh() { Tab2BTCChart.setLineChartCreated(); Intent intentMain = new Intent(MainActivity.this, DataLoaderScreen.class); intentMain.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - /*intentMain.putExtra("MPU", mpu); - intentMain.putExtra("RD", retrievedData); - intentMain.putExtra("CARDS", cardsData); - intentMain.putExtra("BTCPRICE", btcPrice);*/ startActivity(intentMain); MainActivity.this.finish(); } diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4863172..d5db920 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -74,6 +74,11 @@ GitHub]]> Versión 1.18.3 (28/04/18) + - Corregidos errores menores en la aplicación
+ - Reducido el tamaño de la aplicación
+ - Nuevas librerías
+ - Mantenimiento

Versión 1.18.2 (10/03/18)

- Corregidos errores en la IU
- Corregidos problemas con el calendario en dispositivos Huawei
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b29539..6af4292 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -97,6 +97,11 @@ SOFTWARE.
GitHub]]> Version 1.18.3 (28/04/18) + - Solved little errors in the app
+ - App size reduced
+ - New libs
+ - Maintenance

Version 1.18.2 (10/03/18)

- Solved UI errors
- Solved issues with calendar on Huawei devices
diff --git a/build.gradle b/build.gradle index e1a8a1b..65e4caf 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.android.tools.build:gradle:3.1.2' classpath 'com.google.gms:google-services:3.2.0' classpath 'io.fabric.tools:gradle:1.24.4' classpath 'com.google.firebase:firebase-plugins:1.1.5' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6213476..e60c799 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Jan 20 11:49:12 CET 2018 +#Sat Apr 28 12:32:41 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip