Use intent type to target right process receiver

This commit is contained in:
M66B
2018-08-06 18:57:36 +00:00
parent 4342362c6f
commit beee8574fd
2 changed files with 16 additions and 6 deletions

View File

@@ -392,12 +392,16 @@ public class ServiceSynchronize extends LifecycleService {
thread.start();
}
IntentFilter f = new IntentFilter(ACTION_PROCESS_FOLDER);
f.addDataType("account/" + account.id);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(ServiceSynchronize.this);
lbm.registerReceiver(processReceiver, new IntentFilter(ACTION_PROCESS_FOLDER));
lbm.registerReceiver(processReceiver, f);
Log.i(Helper.TAG, "listen process folder");
for (final EntityFolder folder : db.folder().getFolders(account.id))
if (!EntityFolder.TYPE_OUTBOX.equals(folder.type))
lbm.sendBroadcast(new Intent(ACTION_PROCESS_FOLDER).putExtra("folder", folder.id));
lbm.sendBroadcast(new Intent(ACTION_PROCESS_FOLDER)
.setType("account/" + account.id)
.putExtra("folder", folder.id));
} catch (Throwable ex) {
Log.e(Helper.TAG, account.name + " " + ex + "\n" + Log.getStackTraceString(ex));