Skip to content

Commit 44ef84e

Browse files
authored
[tizen_package_manager] Fix error handling in getPackageSizeInfo (#925)
1 parent 886de5a commit 44ef84e

File tree

6 files changed

+35
-20
lines changed

6 files changed

+35
-20
lines changed

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.1
2+
3+
* Fix error handling in `getPackageSizeInfo`.
4+
15
## 0.4.0
26

37
* Add retrieve package size information using `PackageManager.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.0
13+
tizen_package_manager: ^0.4.1
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.0
5+
version: 0.4.1
66

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

packages/tizen_package_manager/tizen/src/tizen_package_manager.cc

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -235,16 +235,28 @@ void TizenPackageManager::GetPackageSizeInfo(
235235
long long external_data_size = 0;
236236
long long external_cache_size = 0;
237237
long long external_app_size = 0;
238-
239-
package_size_info_get_data_size(size_info, &data_size);
240-
package_size_info_get_cache_size(size_info, &cache_size);
241-
package_size_info_get_app_size(size_info, &app_size);
242-
package_size_info_get_external_data_size(size_info,
243-
&external_data_size);
244-
package_size_info_get_external_cache_size(size_info,
245-
&external_cache_size);
246-
package_size_info_get_external_app_size(size_info,
247-
&external_app_size);
238+
int ret = PACKAGE_MANAGER_ERROR_NONE;
239+
240+
if ((ret = package_size_info_get_data_size(size_info, &data_size)) !=
241+
PACKAGE_MANAGER_ERROR_NONE ||
242+
(ret = package_size_info_get_cache_size(
243+
size_info, &cache_size)) != PACKAGE_MANAGER_ERROR_NONE ||
244+
(ret = package_size_info_get_app_size(size_info, &app_size)) !=
245+
PACKAGE_MANAGER_ERROR_NONE ||
246+
(ret = package_size_info_get_external_data_size(
247+
size_info, &external_data_size)) !=
248+
PACKAGE_MANAGER_ERROR_NONE ||
249+
(ret = package_size_info_get_external_cache_size(
250+
size_info, &external_cache_size)) !=
251+
PACKAGE_MANAGER_ERROR_NONE ||
252+
(ret = package_size_info_get_external_app_size(
253+
size_info, &external_app_size)) !=
254+
PACKAGE_MANAGER_ERROR_NONE) {
255+
self->last_error_ = ret;
256+
(*self->package_size_callbacks_[package_id])(package_size_info,
257+
false);
258+
return;
259+
}
248260

249261
package_size_info.data_size = data_size;
250262
package_size_info.cache_size = cache_size;
@@ -253,7 +265,7 @@ void TizenPackageManager::GetPackageSizeInfo(
253265
package_size_info.external_cache_size = external_cache_size;
254266
package_size_info.external_app_size = external_app_size;
255267

256-
(*self->package_size_callbacks_[package_id])(package_size_info);
268+
(*self->package_size_callbacks_[package_id])(package_size_info, true);
257269
}
258270
},
259271
this);
@@ -262,9 +274,7 @@ void TizenPackageManager::GetPackageSizeInfo(
262274
LOG_ERROR("package_manager_get_package_size_info failed: %s",
263275
get_error_message(ret));
264276
last_error_ = ret;
265-
PackageSizeInfo package_size_info;
266-
package_size_info.app_size = 0;
267-
(*package_size_callbacks_[package_id])(package_size_info);
277+
(*package_size_callbacks_[package_id])(PackageSizeInfo(), false);
268278
}
269279
}
270280

packages/tizen_package_manager/tizen/src/tizen_package_manager.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ using OnPackageEvent =
4343
std::function<void(std::string package_id, std::string package_type,
4444
PacakgeEventState state, int32_t progress)>;
4545

46-
using OnPackageSizeEvent = std::function<void(PackageSizeInfo size_info)>;
46+
using OnPackageSizeEvent =
47+
std::function<void(PackageSizeInfo size_info, bool success)>;
4748

4849
class TizenPackageManager {
4950
public:

packages/tizen_package_manager/tizen/src/tizen_package_manager_plugin.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,9 @@ class TizenPackageManagerPlugin : public flutter::Plugin {
285285
TizenPackageManager &package_manager = TizenPackageManager::GetInstance();
286286
auto shared_result = std::shared_ptr<FlMethodResult>(std::move(result));
287287
package_manager.GetPackageSizeInfo(
288-
package_id,
289-
[shared_result, &package_manager](PackageSizeInfo size_info) {
290-
if (size_info.app_size == 0) {
288+
package_id, [shared_result, &package_manager](PackageSizeInfo size_info,
289+
bool success) {
290+
if (!success) {
291291
shared_result->Error(std::to_string(package_manager.GetLastError()),
292292
package_manager.GetLastErrorString());
293293
return;

0 commit comments

Comments
 (0)