[Setup] Update time zone controller to use mutations.

Previously, time zone controller was using the update mechanism from
the setting service to modify the time zone. This has since been
replaced by mutations. This changelist removes the old implementation
and updates the associated unit test.

Test: fx run-host-tests lib_setui_settings_client_test
Fixes: SU-102
Change-Id: Ibe388554d84f12b83d9d99f85c359dfee24e047f
diff --git a/lib/setui/settings/client/lib/time_zone_controller.dart b/lib/setui/settings/client/lib/time_zone_controller.dart
index 69ec6a6..588d590 100644
--- a/lib/setui/settings/client/lib/time_zone_controller.dart
+++ b/lib/setui/settings/client/lib/time_zone_controller.dart
@@ -12,9 +12,10 @@
 
   /// Sets the system timezone to the specified zone.
   void setCurrentTimeZone(TimeZone timeZone) {
-    update(SettingsObject(
-        settingType: SettingType.timeZone,
-        data: SettingData.withTimeZoneValue(
-            TimeZoneInfo(available: state.available, current: timeZone))));
+    mutate(
+        Mutation.withTimeZoneMutationValue(TimeZoneMutation(
+            value:
+                TimeZoneInfo(available: state.available, current: timeZone))),
+        null /* handles */);
   }
 }
diff --git a/lib/setui/settings/client/test/time_zone_controller_test.dart b/lib/setui/settings/client/test/time_zone_controller_test.dart
index 693805e..0e982d1 100644
--- a/lib/setui/settings/client/test/time_zone_controller_test.dart
+++ b/lib/setui/settings/client/test/time_zone_controller_test.dart
@@ -48,7 +48,11 @@
     controller.setCurrentTimeZone(firstTimeZone);
 
     final TimeZoneInfo updatedState =
-        verify(adapter.update(captureAny)).captured.single.data.timeZoneValue;
+        verify(adapter.mutate(SettingType.timeZone, captureAny))
+            .captured
+            .single
+            .timeZoneMutationValue
+            .value;
 
     expect(updatedState.current, firstTimeZone);
     expect(updatedState.available, state.available);
diff --git a/lib/setui/settings/common/lib/setting_controller.dart b/lib/setui/settings/common/lib/setting_controller.dart
index 94c64c8..35f93eb 100644
--- a/lib/setui/settings/common/lib/setting_controller.dart
+++ b/lib/setui/settings/common/lib/setting_controller.dart
@@ -36,6 +36,10 @@
     throw new Exception('Undefined setting type!');
   }
 
+  Future<void> mutate(Mutation mutation, MutationHandles handles) async {
+    await _adapter.mutate(settingType, mutation, handles: handles);
+  }
+
   /// Updates the setting state to the provided version.
   Future<void> update(SettingsObject state) async {
     await _adapter.update(state);