I have encountered a bug concerning events that specify a TZID in their DTSTART or DTEND. According to the iCalender specification, this should be valid, and it is also working correctly when I subscribe to the ICS file through Google Calendar instead of ICSDroid, so I’m thinking the problem lies with ICSDroid.
I am linking two ICS files each containing one event, one that shows the event at the correct date and time, and one that doesn’t. The only difference between the two files is this:
DTEND;TZID=Europe/Berlin;VALUE=DATE-TIME:20180723T114500
DTSTART;TZID=Europe/Berlin;VALUE=DATE-TIME:20180723T081500
vs.
DTEND;VALUE=DATE-TIME:20180723T114500
DTSTART;VALUE=DATE-TIME:20180723T081500
See also: the screenshot below. One event is showing at the correct time, and the other is showing the day before at 11pm. The “11pm the day before” pattern seems to be constant for all events with a TZID in their DTSTART or DTEND, no matter what their actual start or end time should be.
Broken ICS file
Working ICS file

I’d be grateful if you could check this out. Thanks!