fix android background push

This commit is contained in:
Salvatore Giordano
2020-04-06 11:21:46 +02:00
parent 27c3a7f390
commit fe7219a3c1
3 changed files with 30 additions and 3 deletions
@@ -7,6 +7,7 @@ import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
import io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin
import io.flutter.plugins.pathprovider.PathProviderPlugin
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
@@ -15,10 +16,12 @@ class Application : FlutterApplication(), PluginRegistrantCallback {
}
override fun registerWith(registry: PluginRegistry?) {
FlutterLocalNotificationsPlugin.registerWith(registry?.registrarFor(
"com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin"))
PathProviderPlugin.registerWith(registry?.registrarFor(
"io.flutter.plugins.pathprovider.PathProviderPlugin"))
SharedPreferencesPlugin.registerWith(registry?.registrarFor(
"io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin"))
FlutterLocalNotificationsPlugin.registerWith(registry?.registrarFor(
"com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin"))
FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"))
}
}
+23 -1
View File
@@ -98,7 +98,8 @@ class ChannelListView extends StatefulWidget {
_ChannelListViewState createState() => _ChannelListViewState();
}
class _ChannelListViewState extends State<ChannelListView> {
class _ChannelListViewState extends State<ChannelListView>
with WidgetsBindingObserver {
final ScrollController _scrollController = ScrollController();
@override
@@ -334,6 +335,8 @@ class _ChannelListViewState extends State<ChannelListView> {
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
final streamChat = StreamChat.of(context);
streamChat.queryChannels(
filter: widget.filter,
@@ -346,4 +349,23 @@ class _ChannelListViewState extends State<ChannelListView> {
_listenChannelPagination(streamChat);
});
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.resumed) {
StreamChat.of(context).queryChannels(
filter: widget.filter,
sortOptions: widget.sort,
paginationParams: widget.pagination,
options: widget.options,
onlyOffline: true,
);
}
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
}
+2
View File
@@ -198,6 +198,7 @@ class StreamChatState extends State<StreamChat>
List<SortOption> sortOptions,
PaginationParams paginationParams,
Map<String, dynamic> options,
bool onlyOffline = false,
}) async {
if (_queryChannelsLoadingController.value == true) {
return;
@@ -210,6 +211,7 @@ class StreamChatState extends State<StreamChat>
sort: sortOptions,
options: options,
paginationParams: paginationParams,
onlyOffline: onlyOffline,
);
_queryChannelsLoadingController.sink.add(false);
} catch (err, stackTrace) {