Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Migrate riverpod to 1.0
  • Loading branch information
NoahAndrews committed Apr 4, 2022
commit 757c6c674d9b7dda9742a91717fac098b4275095
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ class NotificationsFlutterBridge @Inject constructor(
}

override fun sendTestNotification() {
android.util.Log.d("Noah", "sendTestNotification()");
coroutineScope.launch {
notificationService.send(PushNotification(
"Test Notification"
Expand Down
4 changes: 2 additions & 2 deletions lib/background/actions/calendar_action_handler.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class CalendarActionHandler implements ActionHandler {
final calendarList =
await (_calendarList.streamWithExistingValue.firstSuccessOrError() as FutureOr<AsyncValue<List<SelectableCalendar>>>);

final calendars = calendarList.data!.value;
final calendars = calendarList.asData?.value;
if (calendars == null) {
return TimelineActionResponse(false);
}
Expand Down Expand Up @@ -209,7 +209,7 @@ class CalendarActionHandler implements ActionHandler {
}
}

final calendarActionHandlerProvider = Provider((ref) =>
final calendarActionHandlerProvider = Provider<CalendarActionHandler>((ref) =>
CalendarActionHandler(
ref.read(timelinePinDaoProvider),
ref.read(calendarSyncerProvider),
Expand Down
9 changes: 4 additions & 5 deletions lib/background/main_background.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,9 @@ class BackgroundReceiver implements TimelineCallbacks {

masterActionHandler = container.read(masterActionHandlerProvider);

connectionSubscription = container.listen(
connectionStateProvider,
mayHaveChanged: (sub) {
final currentConnectedWatch = sub.read().currentConnectedWatch;
connectionSubscription = container.listen<WatchConnectionState>(
connectionStateProvider, (previous, value) {
final currentConnectedWatch = value.currentConnectedWatch;
if (isConnectedToWatch()! && currentConnectedWatch!.name!.isNotEmpty) {
onWatchConnected(currentConnectedWatch);
}
Expand All @@ -62,7 +61,7 @@ class BackgroundReceiver implements TimelineCallbacks {
final asyncValue =
await container.readUntilFirstSuccessOrError(preferencesProvider);

return asyncValue.data!.value;
return asyncValue.asData!.value;
});

TimelineCallbacks.setup(this);
Expand Down
12 changes: 6 additions & 6 deletions lib/background/modules/apps_background.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ class AppsBackground implements BackgroundAppInstallCallbacks {
AppsBackground(this.container);

void init() async {
watchAppsSyncer = container.listen(watchAppSyncerProvider).read();
appDao = container.listen(appDaoProvider).read();
appLifecycleManager = container.listen(appLifecycleManagerProvider).read();
preferences = container.listen(preferencesProvider.future).read();
watchAppsSyncer = container.listen<WatchAppsSyncer>(watchAppSyncerProvider, (previous, value) {}).read();
appDao = container.listen<AppDao>(appDaoProvider, (previous, value) {}).read();
appLifecycleManager = container.listen<AppLifecycleManager>(appLifecycleManagerProvider, (previous, value) {}).read();
preferences = container.listen<Future<Preferences>>(preferencesProvider.future, (previous, value) {}).read();

BackgroundAppInstallCallbacks.setup(this);

connectionSubscription = container.listen(
connectionStateProvider,
connectionSubscription = container.listen<WatchConnectionState>(
connectionStateProvider, (previous, value) {},
);
}

Expand Down
10 changes: 5 additions & 5 deletions lib/background/modules/calendar_background.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ class CalendarBackground implements CalendarCallbacks {
CalendarBackground(this.container);

void init() async {
calendarSyncer = container.listen(calendarSyncerProvider).read();
watchTimelineSyncer = container.listen(watchTimelineSyncerProvider).read();
timelinePinDao = container.listen(timelinePinDaoProvider).read();
calendarSyncer = container.listen<CalendarSyncer>(calendarSyncerProvider, (previous, value) {}).read();
watchTimelineSyncer = container.listen<WatchTimelineSyncer>(watchTimelineSyncerProvider, (previous, value) {}).read();
timelinePinDao = container.listen<TimelinePinDao>(timelinePinDaoProvider, (previous, value) {}).read();

CalendarCallbacks.setup(this);

connectionSubscription = container.listen(
connectionStateProvider,
connectionSubscription = container.listen<WatchConnectionState>(
connectionStateProvider, (previous, value) {},
);
}

Expand Down
2 changes: 1 addition & 1 deletion lib/background/modules/notifications_background.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class NotificationsBackground implements NotificationListening {
NotificationsBackground(this.container);

void init() async {
notificationManager = container.listen(notificationManagerProvider).read();
notificationManager = container.listen<NotificationManager>(notificationManagerProvider, (previous, value) {}).read();

NotificationListening.setup(this);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/background/notification/notification_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ class NotificationManager {
}
}

final notificationManagerProvider = Provider((ref) => NotificationManager(ref.read(activeNotifDaoProvider!), ref.read(sharedPreferencesProvider)));
final notificationManagerProvider = Provider<NotificationManager>((ref) => NotificationManager(ref.read(activeNotifDaoProvider!), ref.read(sharedPreferencesProvider)));

final disabledActionPackagesKey = "disabledActionPackages";

Expand Down
2 changes: 1 addition & 1 deletion lib/domain/apps/app_logs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class AppLogReceiver extends StateNotifier<List<AppLogEntry>>
}
}

final recievedLogsProvider = StateNotifierProvider.autoDispose((ref) {
final recievedLogsProvider = StateNotifierProvider.autoDispose<AppLogReceiver, dynamic>((ref) {
final receiver = AppLogReceiver();

ref.onDispose(() {
Expand Down
2 changes: 1 addition & 1 deletion lib/domain/apps/app_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class AppManager extends StateNotifier<List<App>> {
await refresh();
}

void beginAppInstall(String uri, PbwAppInfo appInfo) async {
void beginAppInstall(WidgetRef ref, String uri, PbwAppInfo appInfo) async {
final wrapper = InstallData();
wrapper.uri = uri;
wrapper.appInfo = appInfo;
Expand Down
4 changes: 2 additions & 2 deletions lib/domain/calendar/device_calendar_plugin_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import 'package:cobble/infrastructure/pigeons/pigeons.g.dart';
import 'package:device_calendar/device_calendar.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

final deviceCalendarPluginProvider = Provider((ref) => DeviceCalendarPlugin());
final deviceCalendarPluginProvider = Provider<DeviceCalendarPlugin>((ref) => DeviceCalendarPlugin());

final calendarControlProvider = Provider((ref) => CalendarControl());
final calendarControlProvider = Provider<CalendarControl>((ref) => CalendarControl());
2 changes: 1 addition & 1 deletion lib/domain/connection/raw_incoming_packets_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,5 @@ class RawIncomingPacketsProvider implements RawIncomingPacketsCallbacks {
Stream<Uint8List> get stream => _streamController.stream;
}

final Provider<Stream<Uint8List>> rawPacketStreamProvider = Provider((ref) => RawIncomingPacketsProvider().stream);
final Provider<Stream<Uint8List>> rawPacketStreamProvider = Provider<Stream<Uint8List>>((ref) => RawIncomingPacketsProvider().stream);

2 changes: 1 addition & 1 deletion lib/domain/db/dao/active_notification_dao.dart
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class ActiveNotificationDao {
}
}

final AutoDisposeProvider<ActiveNotificationDao>? activeNotifDaoProvider = Provider.autoDispose((ref) {
final AutoDisposeProvider<ActiveNotificationDao>? activeNotifDaoProvider = Provider.autoDispose<ActiveNotificationDao>((ref) {
final dbFuture = ref.watch(databaseProvider.future);
return ActiveNotificationDao(dbFuture);
});
2 changes: 1 addition & 1 deletion lib/domain/db/dao/app_dao.dart
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ class AppDao {
}
}

final AutoDisposeProvider<AppDao> appDaoProvider = Provider.autoDispose((ref) {
final AutoDisposeProvider<AppDao> appDaoProvider = Provider.autoDispose<AppDao>((ref) {
final dbFuture = ref.watch(databaseProvider.future);
return AppDao(dbFuture);
});
Expand Down
2 changes: 1 addition & 1 deletion lib/domain/db/dao/timeline_pin_dao.dart
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ class TimelinePinDao {
}

final AutoDisposeProvider<TimelinePinDao> timelinePinDaoProvider =
Provider.autoDispose((ref) {
Provider.autoDispose<TimelinePinDao>((ref) {
final dbFuture = ref.watch(databaseProvider.future);
return TimelinePinDao(dbFuture);
});
Expand Down
2 changes: 1 addition & 1 deletion lib/domain/package_details.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ import 'package:cobble/infrastructure/pigeons/pigeons.g.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

final packageDetailsProvider =
Provider((ref) => PackageDetails());
Provider<PackageDetails>((ref) => PackageDetails());
4 changes: 2 additions & 2 deletions lib/domain/permissions.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:cobble/infrastructure/pigeons/pigeons.g.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

final permissionControlProvider = Provider((ref) => PermissionControl());
final permissionCheckProvider = Provider((ref) => PermissionCheck());
final permissionControlProvider = Provider<PermissionControl>((ref) => PermissionControl());
final permissionCheckProvider = Provider<PermissionCheck>((ref) => PermissionCheck());
2 changes: 1 addition & 1 deletion lib/domain/preferences.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';

final sharedPreferencesProvider =
Provider((ref) => SharedPreferences.getInstance());
Provider<Future<SharedPreferences>>((ref) => SharedPreferences.getInstance());
2 changes: 1 addition & 1 deletion lib/domain/timeline/watch_apps_syncer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,4 @@ Provider.autoDispose<WatchAppsSyncer>((ref) {
);
});

final appInstallControlProvider = Provider((ref) => AppInstallControl());
final appInstallControlProvider = Provider<AppInstallControl>((ref) => AppInstallControl());
2 changes: 1 addition & 1 deletion lib/domain/timeline/watch_timeline_syncer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -167,4 +167,4 @@ final AutoDisposeProvider<WatchTimelineSyncer> watchTimelineSyncerProvider =
);
});

final timelineSyncControlProvider = Provider((ref) => TimelineSyncControl());
final timelineSyncControlProvider = Provider<TimelineSyncControl>((ref) => TimelineSyncControl());
2 changes: 1 addition & 1 deletion lib/infrastructure/backgroundcomm/BackgroundRpc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class BackgroundRpc {
} else if (receivedMessage.errorResult != null) {
result = AsyncValue.error(
receivedMessage.errorResult!,
receivedMessage.errorStacktrace,
stackTrace: receivedMessage.errorStacktrace,
);
} else {
result = AsyncValue.error("Received result without any data.");
Expand Down
6 changes: 3 additions & 3 deletions lib/infrastructure/datasources/dev_connection.dart
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ class DevConnection extends StateNotifier<DevConnState> {
connectedSocket.add(bytes);
}

void _beginAppInstall(Uint8List pbwData, WebSocket socket) async {
void _beginAppInstall(Uint8List pbwData, WebSocket socket) async {
final dir = await getTemporaryDirectory();
final tempPbwFile = File("${dir.path}/tmp.pbw");

Expand Down Expand Up @@ -158,9 +158,9 @@ class DevConnState {
DevConnState(this.running, this.connected, this.localIp);
}

final devConnectionProvider = StateNotifierProvider<DevConnection>((ref) {
final devConnectionProvider = StateNotifierProvider<DevConnection, DevConnState>((ref) {
final incomingPacketsStream = ref.read(rawPacketStreamProvider);
final appManager = ref.read(appManagerProvider);
final appManager = ref.read(appManagerProvider.notifier);
return DevConnection(incomingPacketsStream, appManager);
});

Expand Down
6 changes: 3 additions & 3 deletions lib/infrastructure/datasources/paired_storage.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,13 @@ class PairedStorage extends StateNotifier<List<StoredDevice>> {
}
}

final pairedStorageProvider = StateNotifierProvider((ref) => PairedStorage());
final defaultWatchProvider = Provider((ref) => IterableExtension(ref
final pairedStorageProvider = StateNotifierProvider<PairedStorage, dynamic>((ref) => PairedStorage());
final defaultWatchProvider = Provider<dynamic>((ref) => IterableExtension(ref
.watch(pairedStorageProvider) as List)
.firstWhereOrNull((element) => element.isDefault!)
?.device);
final ProviderFamily<PebbleScanDevice, dynamic>? specificWatchProvider =
Provider.family(((ref, dynamic address) => IterableExtension(ref
.watch(pairedStorageProvider))
.firstWhereOrNull((element) => element.device.address == address)
?.device) as PebbleScanDevice Function(ProviderReference, dynamic));
?.device) as PebbleScanDevice Function(Ref, dynamic));
20 changes: 10 additions & 10 deletions lib/infrastructure/datasources/preferences.dart
Original file line number Diff line number Diff line change
Expand Up @@ -149,23 +149,23 @@ final preferencesProvider = FutureProvider<Preferences>((ref) async {
return Preferences(sharedPreferences);
});

final calendarSyncEnabledProvider = _createPreferenceProvider(
final calendarSyncEnabledProvider = _createPreferenceProvider<bool?>(
(preferences) => preferences.isCalendarSyncEnabled(),
);

final phoneNotificationsMuteProvider = _createPreferenceProvider(
final phoneNotificationsMuteProvider = _createPreferenceProvider<bool?>(
(preferences) => preferences.isPhoneNotificationMuteEnabled(),
);

final phoneCallsMuteProvider = _createPreferenceProvider(
final phoneCallsMuteProvider = _createPreferenceProvider<bool?>(
(preferences) => preferences.isPhoneCallMuteEnabled(),
);

final notificationToggleProvider = _createPreferenceProvider(
final notificationToggleProvider = _createPreferenceProvider<bool?>(
(preferences) => preferences.areNotificationsEnabled(),
);

final notificationsMutedPackagesProvider = _createPreferenceProvider(
final notificationsMutedPackagesProvider = _createPreferenceProvider<List<String?>?>(
(preferences) => preferences.getNotificationsMutedPackages(),
);

Expand All @@ -180,23 +180,23 @@ final notificationsMutedPackagesProvider = _createPreferenceProvider(
/// hasBeenConnected.then((value) => /*...*/);
/// }, []);
/// ```
final hasBeenConnectedProvider = _createPreferenceProvider(
final hasBeenConnectedProvider = _createPreferenceProvider<bool>(
(preferences) => preferences.hasBeenConnected(),
);

final wasSetupSuccessfulProvider = _createPreferenceProvider(
final wasSetupSuccessfulProvider = _createPreferenceProvider<bool>(
(preferences) => preferences.wasSetupSuccessful(),
);

final bootUrlProvider = _createPreferenceProvider(
final bootUrlProvider = _createPreferenceProvider<String?>(
(preferences) => preferences.getBoot(),
);

final overrideBootValueProvider = _createPreferenceProvider(
final overrideBootValueProvider = _createPreferenceProvider<String?>(
(preferences) => preferences.getOverrideBootValue(),
);

final shouldOverrideBootProvider = _createPreferenceProvider(
final shouldOverrideBootProvider = _createPreferenceProvider<bool?>(
(preferences) => preferences.shouldOverrideBoot(),
);

Expand Down
10 changes: 5 additions & 5 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ void initBackground() {
BackgroundSetupControl().setupBackground(wrapper);
}

class MyApp extends HookWidget {
class MyApp extends HookConsumerWidget {
@override
Widget build(BuildContext context) {
final permissionControl = useProvider(permissionControlProvider);
final permissionCheck = useProvider(permissionCheckProvider);
final defaultWatch = useProvider(defaultWatchProvider);
Widget build(BuildContext context, WidgetRef ref) {
final permissionControl = ref.watch(permissionControlProvider);
final permissionCheck = ref.watch(permissionCheckProvider);
final defaultWatch = ref.watch(defaultWatchProvider);

useEffect(() {
Future.microtask(() async {
Expand Down
16 changes: 8 additions & 8 deletions lib/ui/devoptions/dev_options_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

class DevOptionsPage extends HookWidget implements CobbleScreen {
class DevOptionsPage extends HookConsumerWidget implements CobbleScreen {
@override
Widget build(BuildContext context) {
final devConControl = useProvider(devConnectionProvider);
final devConnState = useProvider(devConnectionProvider.state);
Widget build(BuildContext context, WidgetRef ref) {
final devConControl = ref.watch(devConnectionProvider.notifier);
final devConnState = ref.watch(devConnectionProvider);

final preferences = useProvider(preferencesProvider);
final bootUrl = useProvider(bootUrlProvider).data?.value ?? "";
final preferences = ref.watch(preferencesProvider);
final bootUrl = ref.watch(bootUrlProvider).asData?.value ?? "";
final shouldOverrideBoot =
useProvider(shouldOverrideBootProvider).data?.value ?? false;
ref.watch(shouldOverrideBootProvider).asData?.value ?? false;
final overrideBootUrl =
useProvider(overrideBootValueProvider).data?.value ?? "";
ref.watch(overrideBootValueProvider).asData?.value ?? "";

final bootUrlController = useTextEditingController();
final bootOverrideUrlController = useTextEditingController();
Expand Down
6 changes: 3 additions & 3 deletions lib/ui/devoptions/test_logs_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

class TestLogsPage extends HookWidget implements CobbleScreen {
class TestLogsPage extends HookConsumerWidget implements CobbleScreen {
@override
Widget build(BuildContext context) {
final logs = useProvider(recievedLogsProvider);
Widget build(BuildContext context, WidgetRef ref) {
final logs = ref.watch(recievedLogsProvider);

return ListView.builder(
itemBuilder: (context, index) {
Expand Down
10 changes: 5 additions & 5 deletions lib/ui/home/tabs/locker_tab.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ import 'package:flutter_svg_provider/flutter_svg_provider.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:share/share.dart';

class LockerTab extends HookWidget implements CobbleScreen {
class LockerTab extends HookConsumerWidget implements CobbleScreen {
@override
Widget build(BuildContext context) {
final connectionState = useProvider(connectionStateProvider.state);
Widget build(BuildContext context, WidgetRef ref) {
final connectionState = ref.watch(connectionStateProvider);

final currentWatch = connectionState.currentConnectedWatch;

final appManager = useProvider(appManagerProvider);
List allPackages = useProvider(appManagerProvider.state);
final appManager = ref.watch(appManagerProvider.notifier);
List<App> allPackages = ref.watch(appManagerProvider);
List incompatibleApps =
allPackages.where((element) => !element.isWatchface).toList();
List incompatibleFaces =
Expand Down
Loading