Merge branch 'develop' of github.com:AntennaPod/AntennaPod into develop
This commit is contained in:
commit
fb0658883d
72
CHANGELOG.md
72
CHANGELOG.md
|
@ -1,46 +1,62 @@
|
||||||
Change Log
|
Change Log
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
Version 1.6.3
|
||||||
|
-------------
|
||||||
|
|
||||||
|
* New features:
|
||||||
|
* Support for Android Auto
|
||||||
|
* Sort feeds by number of played episodes
|
||||||
|
* Statistics modes
|
||||||
|
* Setting: Enqueue downloaded
|
||||||
|
* Launch screen
|
||||||
|
* Improvements
|
||||||
|
* Chapter duration
|
||||||
|
* Feed title in deletion confirmation
|
||||||
|
* Fixes:
|
||||||
|
* Episodes refresh spinner
|
||||||
|
* Publication date parsing
|
||||||
|
* Unknown mime type
|
||||||
|
|
||||||
Version 1.6.2
|
Version 1.6.2
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
* New features:
|
* New features:
|
||||||
* Integration of fyyd Podcast Search Engine
|
* Integration of fyyd Podcast Search Engine
|
||||||
* Export subscriptions as HTML
|
* Export subscriptions as HTML
|
||||||
* Rename feeds
|
* Rename feeds
|
||||||
* Auto-enable sleep timer
|
* Auto-enable sleep timer
|
||||||
* "has media" filter
|
* "has media" filter
|
||||||
* Force gpodder full sync
|
* Force gpodder full sync
|
||||||
* Improvements:
|
* Improvements:
|
||||||
* Better support for Atom feeds, e.g. summary tag
|
* Better support for Atom feeds, e.g. summary tag
|
||||||
* Confirmation dialog on mark all as seen
|
* Confirmation dialog on mark all as seen
|
||||||
* Number of downloaded episodes in subscription counter
|
* Number of downloaded episodes in subscription counter
|
||||||
* Gpodder sync error optional
|
* Gpodder sync error optional
|
||||||
* Search results
|
* Search results
|
||||||
* MRSS support
|
* MRSS support
|
||||||
* Sanitize HTML from Atom feed
|
* Sanitize HTML from Atom feed
|
||||||
* Fixes:
|
* Fixes:
|
||||||
* Reset sleep timer on shake to current waiting time
|
* Reset sleep timer on shake to current waiting time
|
||||||
* Cast dialog image
|
* Cast dialog image
|
||||||
* Mini player not showing up
|
* Mini player not showing up
|
||||||
* Audio player cover fragment
|
* Audio player cover fragment
|
||||||
* Prevent out of memory and casting crashes
|
* Prevent out of memory and casting crashes
|
||||||
|
|
||||||
Version 1.6.0
|
Version 1.6.0
|
||||||
-------------
|
-------------
|
||||||
* New features:
|
* New features:
|
||||||
* Experimental Chromecast support
|
* Experimental Chromecast support
|
||||||
* Subscription overview
|
* Subscription overview
|
||||||
* Proxy support
|
* Proxy support
|
||||||
* Statistics
|
* Statistics
|
||||||
* Manual gpodder.net sync
|
* Manual gpodder.net sync
|
||||||
* Fixes:
|
* Fixes:
|
||||||
* Audioplayer controls
|
* Audioplayer controls
|
||||||
* Audio ducking
|
* Audio ducking
|
||||||
* Video control fade-out
|
* Video control fade-out
|
||||||
* External media controls
|
* External media controls
|
||||||
* Feed parsing
|
* Feed parsing
|
||||||
|
|
||||||
Version 1.5.0
|
Version 1.5.0
|
||||||
-------------
|
-------------
|
||||||
|
|
|
@ -568,7 +568,9 @@ public class GpodnetService {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw new GpodnetServiceException(e);
|
throw new GpodnetServiceException(e);
|
||||||
} finally {
|
} finally {
|
||||||
body.close();
|
if (body != null) {
|
||||||
|
body.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return responseString;
|
return responseString;
|
||||||
}
|
}
|
||||||
|
|
|
@ -387,7 +387,13 @@ public class PlaybackService extends MediaBrowserServiceCompat {
|
||||||
List<MediaBrowserCompat.MediaItem> mediaItems = new ArrayList<>();
|
List<MediaBrowserCompat.MediaItem> mediaItems = new ArrayList<>();
|
||||||
if (parentId.equals(getResources().getString(R.string.app_name))) {
|
if (parentId.equals(getResources().getString(R.string.app_name))) {
|
||||||
// Root List
|
// Root List
|
||||||
mediaItems.add(createBrowsableMediaItemForRoot());
|
try {
|
||||||
|
if (!(taskManager.getQueue().isEmpty())) {
|
||||||
|
mediaItems.add(createBrowsableMediaItemForRoot());
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
List<Feed> feeds = DBReader.getFeedList();
|
List<Feed> feeds = DBReader.getFeedList();
|
||||||
for (Feed feed: feeds) {
|
for (Feed feed: feeds) {
|
||||||
mediaItems.add(createBrowsableMediaItemForFeed(feed));
|
mediaItems.add(createBrowsableMediaItemForFeed(feed));
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1156,7 +1156,9 @@ public class PodDBAdapter {
|
||||||
+ TABLE_NAME_FEED_IMAGES + " WHERE " + KEY_ID + " IN "
|
+ TABLE_NAME_FEED_IMAGES + " WHERE " + KEY_ID + " IN "
|
||||||
+ buildInOperator(neededLength), parts);
|
+ buildInOperator(neededLength), parts);
|
||||||
}
|
}
|
||||||
return new MergeCursor(cursors);
|
Cursor result = new MergeCursor(cursors);
|
||||||
|
result.moveToFirst();
|
||||||
|
return result;
|
||||||
} else {
|
} else {
|
||||||
return db.query(TABLE_NAME_FEED_IMAGES, null, KEY_ID + " IN "
|
return db.query(TABLE_NAME_FEED_IMAGES, null, KEY_ID + " IN "
|
||||||
+ buildInOperator(length), imageIds, null, null, null);
|
+ buildInOperator(length), imageIds, null, null, null);
|
||||||
|
@ -1341,7 +1343,9 @@ public class PodDBAdapter {
|
||||||
+ TABLE_NAME_FEED_MEDIA + " WHERE " + KEY_FEEDITEM + " IN "
|
+ TABLE_NAME_FEED_MEDIA + " WHERE " + KEY_FEEDITEM + " IN "
|
||||||
+ buildInOperator(neededLength), parts);
|
+ buildInOperator(neededLength), parts);
|
||||||
}
|
}
|
||||||
return new MergeCursor(cursors);
|
Cursor result = new MergeCursor(cursors);
|
||||||
|
result.moveToFirst();
|
||||||
|
return result;
|
||||||
} else {
|
} else {
|
||||||
return db.query(TABLE_NAME_FEED_MEDIA, null, KEY_FEEDITEM + " IN "
|
return db.query(TABLE_NAME_FEED_MEDIA, null, KEY_FEEDITEM + " IN "
|
||||||
+ buildInOperator(length), itemIds, null, null, null);
|
+ buildInOperator(length), itemIds, null, null, null);
|
||||||
|
|
Loading…
Reference in New Issue