Merge pull request #1667 from mfietz/issue/1658-sync-duplicates

Prevent gpodder sync duplicates
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index bdc2106..d22fad3 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -412,7 +412,7 @@
                     case R.id.audio_controls:
                         MaterialDialog dialog = new MaterialDialog.Builder(this)
                                 .title(R.string.audio_controls)
-                                .customView(R.layout.audio_controls, false)
+                                .customView(R.layout.audio_controls, true)
                                 .neutralText(R.string.close_label)
                                 .onNeutral((dialog1, which) -> {
                                     final SeekBar left = (SeekBar) dialog1.findViewById(R.id.volume_left);
diff --git a/app/src/main/res/layout/audio_controls.xml b/app/src/main/res/layout/audio_controls.xml
index 7532722..852b6e9 100644
--- a/app/src/main/res/layout/audio_controls.xml
+++ b/app/src/main/res/layout/audio_controls.xml
@@ -7,9 +7,7 @@
 
     <LinearLayout
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:layout_marginLeft="24dp">
+        android:layout_height="wrap_content">
 
         <TextView
             android:layout_width="wrap_content"
@@ -30,9 +28,7 @@
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="-12dp"
-        android:layout_marginLeft="24dp"
-        android:layout_marginRight="24dp">
+        android:layout_marginTop="-12dp">
 
         <Button
             android:id="@+id/butDecSpeed"
@@ -74,7 +70,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="4dp"
-        android:layout_marginLeft="24dp"
         style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
         android:text="@string/volume"
         android:textStyle="bold"/>
@@ -83,8 +78,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="-12dp"
-        android:layout_marginLeft="24dp"
-        android:layout_marginRight="24dp"
+        android:layout_marginLeft="8dp"
         android:orientation="horizontal"
         android:gravity="center">
 
@@ -106,8 +100,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="8dp"
-        android:layout_marginLeft="24dp"
-        android:layout_marginRight="24dp"
+        android:layout_marginLeft="8dp"
         android:orientation="horizontal"
         android:gravity="center">
 
@@ -129,7 +122,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="12dp"
-        android:layout_marginLeft="24dp"
         style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
         android:text="@string/audio_effects"
         android:textStyle="bold"/>
@@ -139,8 +131,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="-12dp"
-        android:layout_marginLeft="24dp"
-        android:layout_marginRight="24dp"
         android:text="@string/stereo_to_mono" />
 
 </LinearLayout>
diff --git a/build.gradle b/build.gradle
index 521a691..4ae51d3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -50,14 +50,14 @@
     iconifyVersion = "2.1.1"
     jsoupVersion = "1.7.3"
     materialDialogsVersion = "0.8.5.3@aar"
-    okhttpVersion = "2.7.2"
+    okhttpVersion = "2.7.4"
     okioVersion = "1.6.0"
     recyclerviewFlexibledividerVersion = "1.2.6"
     rxAndroidVersion = "1.1.0"
     rxJavaVersion = "1.1.0"
     rxJavaRulesVersion = "1.1.0.0"
 
-    audioPlayerVersion = "v1.0.11"
+    audioPlayerVersion = "v1.0.12"
 }
 
 task wrapper(type: Wrapper) {
diff --git a/circle.yml b/circle.yml
index 4a01701..e9fc82e 100644
--- a/circle.yml
+++ b/circle.yml
@@ -5,9 +5,15 @@
   java:
     version: oraclejdk8
 dependencies:
+  cache_directories:
+    - ~/.android
+    - ~/android
   pre:
     - echo y | android update sdk --no-ui --all --filter "tools,platform-tools,android-23"
     - echo y | android update sdk --no-ui --all --filter "build-tools-23.0.2"
+  override:
+    - echo override dependencies
+
 test:
   override:
     - ./gradlew assembleDebug -PdisablePreDex
\ No newline at end of file
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
index 56b996d..f1ecaf0 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
@@ -400,10 +400,10 @@
         if (item == null) {
             return null;
         }
-        if (getItem().getTitle() != null) {
-            return getItem().getTitle();
+        if (item.getTitle() != null) {
+            return item.getTitle();
         } else {
-            return getItem().getIdentifyingValue();
+            return item.getIdentifyingValue();
         }
     }
 
@@ -412,7 +412,7 @@
         if (item == null) {
             return null;
         }
-        return getItem().getChapters();
+        return item.getChapters();
     }
 
     @Override
@@ -420,15 +420,15 @@
         if (item == null) {
             return null;
         }
-        return getItem().getLink();
+        return item.getLink();
     }
 
     @Override
     public String getFeedTitle() {
-        if (item == null) {
+        if (item == null || item.getFeed() == null) {
             return null;
         }
-        return getItem().getFeed().getTitle();
+        return item.getFeed().getTitle();
     }
 
     @Override
@@ -451,7 +451,7 @@
         if (item == null) {
             return null;
         }
-        return getItem().getPaymentLink();
+        return item.getPaymentLink();
     }
 
     @Override
@@ -489,7 +489,9 @@
 
     @Override
     public void setChapters(List<Chapter> chapters) {
-        getItem().setChapters(chapters);
+        if(item != null) {
+            item.setChapters(chapters);
+        }
     }
 
     @Override