diff --git a/app/build.gradle b/app/build.gradle
index 8fb383aa..fcb4fc98 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -42,8 +42,8 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId 'com.kabouzeid.gramophone'
- versionCode 139
- versionName '0.16.0 BETA 7'
+ versionCode 140
+ versionName '0.16.0'
}
buildTypes {
release {
@@ -96,7 +96,6 @@ dependencies {
// compile 'com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.10.6'
// TODO: go back to master branch as soon as possible
- compile 'com.crashlytics.sdk.android:crashlytics:2.6.7'
compile 'com.github.kabouzeid:app-theme-helper:1.3.7'
compile 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod'
compile 'com.github.kabouzeid:SeekArc:1.2-kmod'
@@ -118,4 +117,9 @@ dependencies {
compile 'com.jakewharton:butterknife:8.6.0'
testCompile 'junit:junit:4.12'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
+
+ compile 'com.crashlytics.sdk.android:crashlytics:2.6.8'
+ compile('com.crashlytics.sdk.android:answers:1.3.13@aar') {
+ transitive = true;
+ }
}
diff --git a/app/src/main/assets/phonograph-changelog.html b/app/src/main/assets/phonograph-changelog.html
index 8704dca4..c3fb1476 100644
--- a/app/src/main/assets/phonograph-changelog.html
+++ b/app/src/main/assets/phonograph-changelog.html
@@ -19,73 +19,41 @@
li {
padding-top: 8px;
}
+
+
You can view the changelog dialog again at any time from the about section.
-Version 0.16.0 BETA 7
-
+Version 0.16.0
- - FIX: Android Oreo related crashes
- - IMPROVEMENT: Synced translations
-
-
-Version 0.16.0 BETA 6
-
-
- - NEW: Manually set custom artist images
-
-
-Version 0.16.0 BETA 5
-
-
- - NEW: Tap to hide toolbar in now playing screen
- - IMPROVEMENT: Proper text protection in now playing screen
- - IMPROVEMENT: Rearrange playlist items by dragging the album cover
- - IMPROVEMENT: Cleaned up playlist menus
- - IMPROVEMENT: Shuffle all menu item is back
-
-
-Version 0.16.0 BETA 4
-
-
- - NEW: Folder blacklist!
- - FIX: Bottom bar lag on cold start
- - IMPROVEMENT: Synced translations
- - IMPROVEMENT: Various other improvements
- - OTHER: Added user @arkon to the about section to honor his contributions
-
-
-Version 0.16.0 BETA 3
-
-
- - FIX: New purchase interface
- - FIX: White space when expanding the classic notification
-
-
-Version 0.16.0 BETA 2
-
-
- - FIX: Phonograph Pro license error
-
-
-Version 0.16.0 BETA 1
-
-
- From this version on, some features are deactivated and require a one time purchase of Phonograph Pro.
- The source code of Phonograph is available on GitHub. You are welcome to compile the pro version yourself for free.
- However, if you want to support the development and receive updates through the Play Store, consider buying Phonograph Pro. Thank you!
- - NEW: Phonograph Pro
+ Phonograph is alive again.
+ From this version on, some features are deactivated and require a one time purchase of
+ Phonograph Pro.
+ The source code of Phonograph is available on GitHub. You are welcome to compile the pro version
+ yourself for free.
+ However, if you want to support the development and receive updates through the Play Store,
+ consider buying Phonograph Pro. Thank you!
- NEW: Full Android Oreo support
+ - NEW: Folder blacklist
+ - NEW: Manually set custom artist images
+ - NEW: Tap to hide toolbar in now playing screen
- NEW: Option to select the old notification style
- NEW: Show remaining playing queue time
- - NEW: Scrollbar in playlists
- NEW: Album wikis
- NEW: Synchronized lyrics support
- NEW: New widgets
+ - NEW: Scrollbar in playlists
+ - IMPROVEMENT: Proper text protection in now playing screen
+ - IMPROVEMENT: Rearrange playlist items by dragging the album cover
+ - IMPROVEMENT: Cleaned up playlist menus
+ - IMPROVEMENT: Synced translations
+ - FIX: Bottom bar lag on cold start
+ - FIX: White space when expanding the classic notification
- FIX: Many bug fixes
+ - OTHER: Added Eugene Cheung to the about section for his contributions to the source code
Version 0.15.0
diff --git a/app/src/main/java/com/kabouzeid/gramophone/App.java b/app/src/main/java/com/kabouzeid/gramophone/App.java
index bcdd52c3..83b74a72 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/App.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/App.java
@@ -6,6 +6,7 @@ import android.os.Build;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
import com.crashlytics.android.Crashlytics;
+import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.core.CrashlyticsCore;
import com.kabouzeid.gramophone.appshortcuts.DynamicShortcutManager;
@@ -33,7 +34,11 @@ public class App extends Application {
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
- Fabric.with(this, crashlyticsKit);
+ if (!BuildConfig.DEBUG) {
+ Fabric.with(this, crashlyticsKit, new Answers());
+ } else {
+ Fabric.with(this, crashlyticsKit); // crashlytics kit is disabled here
+ }
// Set up dynamic shortcuts
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java
index 4029b64d..f96cb1be 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PurchaseActivity.java
@@ -14,12 +14,19 @@ import android.widget.Toast;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
+import com.crashlytics.android.answers.AddToCartEvent;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.ContentViewEvent;
+import com.crashlytics.android.answers.PurchaseEvent;
import com.kabouzeid.appthemehelper.color.MaterialColor;
import com.kabouzeid.gramophone.App;
+import com.kabouzeid.gramophone.BuildConfig;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import java.lang.ref.WeakReference;
+import java.math.BigDecimal;
+import java.util.Currency;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -72,12 +79,24 @@ public class PurchaseActivity extends AbsBaseActivity implements BillingProcesso
@Override
public void onClick(View v) {
billingProcessor.purchase(PurchaseActivity.this, App.PRO_VERSION_PRODUCT_ID);
+
+ if (!BuildConfig.DEBUG) {
+ Answers.getInstance().logAddToCart(new AddToCartEvent()
+ .putCurrency(Currency.getInstance("EUR"))
+ .putItemId("pro_version")
+ .putItemName("Phonograph Pro")
+ .putItemPrice(BigDecimal.valueOf(3)));
+ }
}
});
billingProcessor = new BillingProcessor(this, App.GOOGLE_PLAY_LICENSE_KEY, this);
-
+ if (!BuildConfig.DEBUG) {
+ Answers.getInstance().logContentView(new ContentViewEvent()
+ .putContentName("Purchase Activity")
+ .putContentId("1"));
+ }
}
private void restorePurchase() {
@@ -91,6 +110,15 @@ public class PurchaseActivity extends AbsBaseActivity implements BillingProcesso
public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
Toast.makeText(this, R.string.thank_you, Toast.LENGTH_SHORT).show();
setResult(RESULT_OK);
+
+ if (!BuildConfig.DEBUG) {
+ Answers.getInstance().logPurchase(new PurchaseEvent()
+ .putCurrency(Currency.getInstance("EUR"))
+ .putItemPrice(BigDecimal.valueOf(3))
+ .putItemId("pro_version")
+ .putSuccess(true)
+ .putItemName("Phonograph Pro"));
+ }
}
@Override