blob: 0aa15857e0dd01e214f3edb8fb646ce38d5d51e4 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'package:fidl_fuchsia_setui/fidl.dart';
/// An accessor for settings.
/// [SettingSource] extends [ChangeNotifier] to provide updates on changes to
/// owners. For example, a model may wrap [SettingSource] for the view layer and
/// register its notify method as the change callback.
class SettingSource<T> implements SettingListener {
T _value;
final StreamController<T> _streamController =
StreamSubscription<T> addListener(void callback(T value)) =>;
/// The current setting.
T get state => _value;
Future<Null> notify(SettingsObject object) async {
_value =$data;