Skip to content

Commit fe89751

Browse files
Fix #374
1 parent 6d30164 commit fe89751

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/PodcastFragmentActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import de.luhmer.owncloudnewsreader.events.podcast.RegisterVideoOutput;
3939
import de.luhmer.owncloudnewsreader.events.podcast.UpdatePodcastStatusEvent;
4040
import de.luhmer.owncloudnewsreader.helper.SizeAnimator;
41+
import de.luhmer.owncloudnewsreader.helper.TeslaUnreadManager;
4142
import de.luhmer.owncloudnewsreader.interfaces.IPlayPausePodcastClicked;
4243
import de.luhmer.owncloudnewsreader.model.MediaItem;
4344
import de.luhmer.owncloudnewsreader.model.PodcastItem;
@@ -147,6 +148,8 @@ protected void onPause() {
147148
eventBus.unregister(this);
148149
eventBus.post(new RegisterVideoOutput(null, null));
149150

151+
TeslaUnreadManager.PublishUnreadCount(this);
152+
150153
super.onPause();
151154
}
152155

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package de.luhmer.owncloudnewsreader.helper;
2+
3+
import android.content.ContentValues;
4+
import android.content.Context;
5+
import android.net.Uri;
6+
7+
import de.luhmer.owncloudnewsreader.ListView.SubscriptionExpandableListAdapter;
8+
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm;
9+
10+
/**
11+
* Created by David on 14.01.2016.
12+
*/
13+
public class TeslaUnreadManager {
14+
public static void PublishUnreadCount(Context context) {
15+
try {
16+
//Check if TeslaUnread is installed before doing some expensive database query
17+
ContentValues cv = new ContentValues();
18+
cv.put("tag", "de.luhmer.owncloudnewsreader/de.luhmer.owncloudnewsreader");
19+
cv.put("count", 0);
20+
context.getContentResolver().insert(Uri.parse("content://com.teslacoilsw.notifier/unread_count"), cv);
21+
22+
//If we get here.. TeslaUnread is installed
23+
DatabaseConnectionOrm dbConn = new DatabaseConnectionOrm(context);
24+
int count = Integer.parseInt(dbConn.getUnreadItemsCountForSpecificFolder(SubscriptionExpandableListAdapter.SPECIAL_FOLDERS.ALL_UNREAD_ITEMS));
25+
26+
cv.put("count", count);
27+
context.getContentResolver().insert(Uri.parse("content://com.teslacoilsw.notifier/unread_count"), cv);
28+
} catch (IllegalArgumentException ex) {
29+
/* Fine, TeslaUnread is not installed. */
30+
} catch (Exception ex) {
31+
/* Some other error, possibly because the format of the ContentValues are incorrect.
32+
Log but do not crash over this. */
33+
34+
ex.printStackTrace();
35+
36+
}
37+
38+
}
39+
}

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import de.luhmer.owncloudnewsreader.SettingsActivity;
4949
import de.luhmer.owncloudnewsreader.helper.AidlException;
5050
import de.luhmer.owncloudnewsreader.helper.NotificationManagerNewsReader;
51+
import de.luhmer.owncloudnewsreader.helper.TeslaUnreadManager;
5152
import de.luhmer.owncloudnewsreader.reader.FeedItemTags;
5253
import de.luhmer.owncloudnewsreader.reader.OnAsyncTaskCompletedListener;
5354
import de.luhmer.owncloudnewsreader.reader.owncloud.OwnCloud_Reader;
@@ -189,6 +190,8 @@ private void startedSync() {
189190
}
190191

191192
private void finishedSync() {
193+
TeslaUnreadManager.PublishUnreadCount(this);
194+
192195
syncRunning = false;
193196
syncStopWatch.stop();
194197
Log.v(TAG, "Time needed (synchronization): " + syncStopWatch.toString());
@@ -217,7 +220,7 @@ private void finishedSync() {
217220
try {
218221
icb.finishedSync();
219222
//icb.finishedSyncOfItems();
220-
} catch (RemoteException e) {
223+
} catch (RemoteException e) {
221224
e.printStackTrace();
222225
}
223226
}

0 commit comments

Comments
 (0)