onContentResolverMethodCall method
void
onContentResolverMethodCall(
- String method,
- dynamic arguments
)
Implementation
void onContentResolverMethodCall(String method, dynamic arguments) {
log("onContentResolverMethodCall");
switch (method) {
case "onChange":
var uri = arguments["uri"] as String?;
var selfChange = arguments["selfChange"] as bool;
var flags = arguments["flags"] as int;
var observedUri = arguments["observedUri"] as String;
log("onChange selfChange=$selfChange, uri=$uri, flags=$flags, observedUri=$observedUri");
List<ContentObserverCallback> callbacks =
_contentObserverCallbacks[observedUri] ??
<ContentObserverCallback>[];
if (uri != null) {
_contentObserverCallbacks.entries
.where((entry) =>
uri.startsWith(entry.key) && entry.key != observedUri)
.map<List<ContentObserverCallback>>((e) => e.value)
.forEach((cbs) {
callbacks.addAll(cbs);
});
}
log("callbacks lenght ${callbacks.length}");
if (callbacks.length > 0) {
callbacks.forEach((cb) {
cb(selfChange, (uri != null) ? Uri.parse(uri) : null, flags);
});
}
break;
}
}