Skip to content

Commit 358b95b

Browse files
authored
Refactor SettingsChannel (#249)
1 parent ccb8911 commit 358b95b

File tree

5 files changed

+28
-44
lines changed

5 files changed

+28
-44
lines changed

shell/platform/tizen/BUILD.gn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ template("embedder") {
109109
"channels/platform_channel_tizen.cc",
110110
"channels/platform_view_channel.cc",
111111
"channels/settings_channel.cc",
112-
"channels/settings_channel_tizen.cc",
113112
"channels/text_input_channel.cc",
114113
"channels/window_channel.cc",
115114
"external_texture_pixel_gl.cc",

shell/platform/tizen/channels/encodable_value_holder.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
#ifndef EMBEDDER_ENCODABLE_VALUE_HOLDER_H_
6+
#define EMBEDDER_ENCODABLE_VALUE_HOLDER_H_
7+
58
#include "flutter/shell/platform/common/client_wrapper/include/flutter/encodable_value.h"
69

710
namespace flutter {
@@ -28,3 +31,5 @@ struct EncodableValueHolder {
2831
};
2932

3033
} // namespace flutter
34+
35+
#endif // EMBEDDER_ENCODABLE_VALUE_HOLDER_H_

shell/platform/tizen/channels/settings_channel.cc

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include "settings_channel.h"
66

7+
#include <system/system_settings.h>
8+
79
#include "flutter/shell/platform/common/json_message_codec.h"
810

911
namespace flutter {
@@ -23,21 +25,38 @@ SettingsChannel::SettingsChannel(BinaryMessenger* messenger)
2325
messenger,
2426
kChannelName,
2527
&JsonMessageCodec::GetInstance())) {
26-
Init();
28+
system_settings_set_changed_cb(
29+
SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR,
30+
[](system_settings_key_e key, void* user_data) -> void {
31+
auto* self = reinterpret_cast<SettingsChannel*>(user_data);
32+
self->SendSettingsEvent();
33+
},
34+
this);
2735
SendSettingsEvent();
2836
}
2937

3038
SettingsChannel::~SettingsChannel() {
31-
Dispose();
39+
system_settings_unset_changed_cb(
40+
SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR);
3241
}
3342

3443
void SettingsChannel::SendSettingsEvent() {
3544
rapidjson::Document event(rapidjson::kObjectType);
3645
auto& allocator = event.GetAllocator();
3746
event.AddMember(kTextScaleFactorKey, 1.0, allocator);
38-
event.AddMember(kPlatformBrightnessKey, "light", allocator);
3947
event.AddMember(kAlwaysUse24HourFormatKey, Prefer24HourTime(), allocator);
48+
event.AddMember(kPlatformBrightnessKey, "light", allocator);
4049
channel_->Send(event);
4150
}
4251

52+
bool SettingsChannel::Prefer24HourTime() {
53+
bool value = false;
54+
if (system_settings_get_value_bool(
55+
SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &value) ==
56+
SYSTEM_SETTINGS_ERROR_NONE) {
57+
return value;
58+
}
59+
return false;
60+
}
61+
4362
} // namespace flutter

shell/platform/tizen/channels/settings_channel.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@ class SettingsChannel {
1717
public:
1818
explicit SettingsChannel(BinaryMessenger* messenger);
1919
virtual ~SettingsChannel();
20-
void SendSettingsEvent();
2120

2221
private:
22+
void SendSettingsEvent();
2323
bool Prefer24HourTime();
24-
void Init();
25-
void Dispose();
2624

2725
std::unique_ptr<BasicMessageChannel<rapidjson::Document>> channel_;
2826
};

shell/platform/tizen/channels/settings_channel_tizen.cc

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)