Add haptic feedback when refreshing

This commit is contained in:
Tommy Chow 2022-01-07 16:14:59 -05:00
parent 81332c5c12
commit 3ab5bab035
5 changed files with 22 additions and 4 deletions

View file

@ -125,7 +125,7 @@ class VideoOverlay extends StatelessWidget {
Icons.refresh,
color: Color(0xFFFFFFFF),
),
onPressed: videoStore.controller?.reload,
onPressed: videoStore.handleRefresh,
),
if (Platform.isIOS && videoStore.settingsStore.pictureInPicture)
IconButton(

View file

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:frosty/api/twitch_api.dart';
import 'package:frosty/core/auth/auth_store.dart';
import 'package:frosty/models/stream.dart';
@ -81,6 +82,11 @@ abstract class _VideoStoreBase with Store {
overlayTimer = Timer(const Duration(seconds: 5), () => _menuVisible = false);
}
void handleRefresh() async {
HapticFeedback.lightImpact();
controller?.reload();
}
void initVideo() {
try {
controller?.runJavascript('document.getElementsByTagName("video")[0].muted = false;');

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:frosty/screens/home/stores/list_store.dart';
import 'package:frosty/screens/settings/stores/settings_store.dart';
@ -24,7 +25,10 @@ class _StreamsListState extends State<StreamsList> with AutomaticKeepAliveClient
store.refreshStreams();
return RefreshIndicator(
onRefresh: store.refreshStreams,
onRefresh: () async {
HapticFeedback.lightImpact();
await store.refreshStreams();
},
child: Observer(
builder: (_) {
if (store.streams.isEmpty && store.isLoading) {

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:frosty/screens/home/stores/categories_store.dart';
import 'package:frosty/screens/home/top/categories/category_card.dart';
@ -24,7 +25,10 @@ class _CategoriesState extends State<Categories> with AutomaticKeepAliveClientMi
store.refreshCategories();
return RefreshIndicator(
onRefresh: store.refreshCategories,
onRefresh: () async {
HapticFeedback.lightImpact();
await store.refreshCategories();
},
child: Observer(
builder: (_) {
return Stack(

View file

@ -1,5 +1,6 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:frosty/screens/home/stores/list_store.dart';
import 'package:frosty/screens/settings/stores/settings_store.dart';
@ -16,7 +17,10 @@ class CategoryStreams extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
body: RefreshIndicator(
onRefresh: store.refreshStreams,
onRefresh: () async {
HapticFeedback.lightImpact();
await store.refreshStreams();
},
child: Observer(
builder: (context) {
return Stack(