Skip to content

Commit 432c3cf

Browse files
authored
[tizen_package_manager] Remove Ecore API (#1044)
1 parent ee2878e commit 432c3cf

4 files changed

Lines changed: 27 additions & 12 deletions

File tree

packages/tizen_package_manager/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.4.2
2+
3+
* Remove Ecore API.
4+
15
## 0.4.1
26

37
* Fix error handling in `getPackageSizeInfo`.

packages/tizen_package_manager/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ To use this package, add `tizen_package_manager` as a dependency in your `pubspe
1010

1111
```yaml
1212
dependencies:
13-
tizen_package_manager: ^0.4.1
13+
tizen_package_manager: ^0.4.2
1414
```
1515
1616
### Retrieving specific package info

packages/tizen_package_manager/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: tizen_package_manager
22
description: Tizen package manager APIs. Used to get information about packages installed on a Tizen device.
33
homepage: https://github.com/flutter-tizen/plugins
44
repository: https://github.com/flutter-tizen/plugins/tree/master/packages/tizen_package_manager
5-
version: 0.4.1
5+
version: 0.4.2
66

77
environment:
88
sdk: ">=3.1.0 <4.0.0"

packages/tizen_package_manager/tizen/src/tizen_package_manager_plugin.cc

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,21 @@
44

55
#include "tizen_package_manager_plugin.h"
66

7-
#include <Ecore.h>
87
#include <flutter/encodable_value.h>
98
#include <flutter/event_channel.h>
109
#include <flutter/event_sink.h>
1110
#include <flutter/event_stream_handler_functions.h>
1211
#include <flutter/method_channel.h>
1312
#include <flutter/plugin_registrar.h>
1413
#include <flutter/standard_method_codec.h>
14+
#include <glib.h>
1515

1616
#include <cstdint>
1717
#include <memory>
1818
#include <string>
1919
#include <vector>
2020

21+
#include "log.h"
2122
#include "tizen_package_manager.h"
2223

2324
namespace {
@@ -244,8 +245,10 @@ class TizenPackageManagerPlugin : public flutter::Plugin {
244245
// TizenPackageManager::GetAllPackagesInfo() is an expensive operation and
245246
// might cause unresponsiveness on low-end devices if run on the platform
246247
// thread.
247-
ecore_thread_run(
248-
[](void *data, Ecore_Thread *thread) {
248+
GError *error = nullptr;
249+
GThread *thread = g_thread_try_new(
250+
"flutter_tizen_plugins_tizen_package_manager_all_packages",
251+
[](gpointer data) -> gpointer {
249252
auto *result = static_cast<FlMethodResult *>(data);
250253

251254
TizenPackageManager &package_manager =
@@ -264,14 +267,22 @@ class TizenPackageManagerPlugin : public flutter::Plugin {
264267
package_manager.GetLastErrorString());
265268
}
266269
delete result;
270+
return nullptr;
267271
},
268-
nullptr,
269-
[](void *data, Ecore_Thread *thread) {
270-
auto *result = static_cast<FlMethodResult *>(data);
271-
result->Error("Operation failed", "Failed to start a thread.");
272-
delete result;
273-
},
274-
result.release());
272+
result.get(), &error);
273+
274+
if (thread == nullptr) {
275+
LOG_ERROR("Failed to create a thread: %s",
276+
error ? error->message : "unknown error");
277+
if (error) {
278+
g_error_free(error);
279+
}
280+
result->Error("Operation failed", "Failed to start a thread.");
281+
return;
282+
}
283+
284+
result.release();
285+
g_thread_unref(thread);
275286
}
276287

277288
void GetPackageSizeInfo(const flutter::EncodableMap *arguments,

0 commit comments

Comments
 (0)