Skip to content

Commit

Permalink
[permission_handler] Update package dependency (flutter-tizen#606)
Browse files Browse the repository at this point in the history
  • Loading branch information
kazakan authored Aug 7, 2023
1 parent b33b193 commit d605b63
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 38 deletions.
6 changes: 5 additions & 1 deletion packages/permission_handler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
## NEXT
## 1.3.0

* Increase the minimum Flutter version to 3.3.
* Replace effective_dart dependency with flutter_lints.
* Update permission_handler to 10.4.3.
* Update permission_handler_platform_interface to 3.11.0.
* Update the example app.
* Map `sensorsAlways` to `http://tizen.org/privilege/healthinfo`

## 1.2.1

Expand Down
10 changes: 5 additions & 5 deletions packages/permission_handler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ You can use this plugin to ask the user for runtime permissions if your app perf

```yaml
dependencies:
permission_handler: ^8.3.0
permission_handler_tizen: ^1.2.1
permission_handler: ^10.4.3
permission_handler_tizen: ^1.3.0
```
Then you can import `permission_handler` in your Dart code:
Expand All @@ -43,14 +43,14 @@ You can use this plugin to ask the user for runtime permissions if your app perf
| `Permission.mediaLibrary` | Storage | `http://tizen.org/privilege/mediastorage` |
| `Permission.microphone` | Microphone | `http://tizen.org/privilege/recorder` |
| `Permission.phone` | Call | `http://tizen.org/privilege/call` |
| `Permission.sensors` | Sensor | `http://tizen.org/privilege/healthinfo` |
| `Permission.sensors`<br>`Permission.sensorsAlways` | Sensor | `http://tizen.org/privilege/healthinfo` |
| `Permission.sms` | Message | `http://tizen.org/privilege/message.read`<br>`http://tizen.org/privilege/message.write` |
| `Permission.storage` | Storage | `http://tizen.org/privilege/externalstorage` |

The following permissions are not applicable for Tizen:

- Android-only: `accessMediaLocation`, `accessNotificationPolicy`, `activityRecognition`, `bluetoothAdvertise`, `bluetoothConnect`, `bluetoothScan`, `manageExternalStorage`, `requestInstallPackages`, `systemAlertWindow`
- iOS-only: `appTrackingTransparency`, `bluetooth`, `criticalAlerts`, `photos`, `photosAddOnly`, `reminders`, `speech`
- Android-only: `accessMediaLocation`, `accessNotificationPolicy`, `activityRecognition`, `audio`, `bluetoothAdvertise`, `bluetoothConnect`, `bluetoothScan`, `ignoreBatteryOptimizations`, `manageExternalStorage`, `nearbyWifiDevices`, `requestInstallPackages`, `scheduleExactAlarm`, `systemAlertWindow`, `videos`
- iOS-only: `appTrackingTransparency`, `criticalAlerts`, `photosAddOnly`, `reminders`, `speech`

On Tizen, your app can use some security-sensitive features (such as bluetooth) without explicitly acquiring permissions. However, you might need to declare relevant privileges in its `tizen-manifest.xml` file. For detailed information on Tizen privileges, see [Tizen Docs: API Privileges](https://docs.tizen.org/application/dotnet/get-started/api-privileges).

Expand Down
51 changes: 25 additions & 26 deletions packages/permission_handler/example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import 'dart:io';

import 'package:baseflow_plugin_template/baseflow_plugin_template.dart';
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
Expand Down Expand Up @@ -37,31 +35,32 @@ class _PermissionHandlerWidgetState extends State<PermissionHandlerWidget> {
child: ListView(
children: Permission.values
.where((permission) {
if (Platform.isIOS) {
return permission != Permission.unknown &&
permission != Permission.sms &&
permission != Permission.storage &&
permission != Permission.ignoreBatteryOptimizations &&
permission != Permission.accessMediaLocation &&
permission != Permission.activityRecognition &&
permission != Permission.manageExternalStorage &&
permission != Permission.systemAlertWindow &&
permission != Permission.requestInstallPackages &&
permission != Permission.accessNotificationPolicy &&
permission != Permission.bluetoothScan &&
permission != Permission.bluetoothAdvertise &&
permission != Permission.bluetoothConnect;
} else {
return permission != Permission.unknown &&
permission != Permission.mediaLibrary &&
permission != Permission.photos &&
permission != Permission.photosAddOnly &&
permission != Permission.reminders &&
permission != Permission.appTrackingTransparency &&
permission != Permission.criticalAlerts;
}
// Permissions not applicable for Tizen.
return permission != Permission.unknown &&
permission != Permission.photos &&
permission != Permission.photosAddOnly &&
permission != Permission.reminders &&
permission != Permission.speech &&
permission != Permission.ignoreBatteryOptimizations &&
permission != Permission.notification &&
permission != Permission.accessMediaLocation &&
permission != Permission.activityRecognition &&
permission != Permission.bluetooth &&
permission != Permission.manageExternalStorage &&
permission != Permission.systemAlertWindow &&
permission != Permission.requestInstallPackages &&
permission != Permission.appTrackingTransparency &&
permission != Permission.criticalAlerts &&
permission != Permission.accessNotificationPolicy &&
permission != Permission.bluetoothScan &&
permission != Permission.bluetoothAdvertise &&
permission != Permission.bluetoothConnect &&
permission != Permission.nearbyWifiDevices &&
permission != Permission.videos &&
permission != Permission.audio &&
permission != Permission.scheduleExactAlarm;
})
.map(PermissionWidget.new)
.map((permission) => PermissionWidget(permission))
.toList()),
);
}
Expand Down
4 changes: 2 additions & 2 deletions packages/permission_handler/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ dependencies:
baseflow_plugin_template: ^2.1.2
flutter:
sdk: flutter
permission_handler: ^8.3.0
permission_handler: ^10.4.3
permission_handler_tizen:
path: ../
url_launcher: ^6.0.12
url_launcher: ^6.1.0
url_launcher_tizen:
path: ../../url_launcher/

Expand Down
4 changes: 2 additions & 2 deletions packages/permission_handler/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: permission_handler_tizen
description: Tizen implementation of the permission_handler plugin.
homepage: https://github.com/flutter-tizen/plugins
repository: https://github.com/flutter-tizen/plugins/tree/master/packages/permission_handler
version: 1.2.1
version: 1.3.0

environment:
sdk: ">=2.18.0 <4.0.0"
Expand All @@ -18,7 +18,7 @@ flutter:
dependencies:
flutter:
sdk: flutter
permission_handler_platform_interface: ^3.7.0
permission_handler_platform_interface: ^3.11.0

dev_dependencies:
flutter_lints: ^1.0.4
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ std::string PermissionToPrivilege(Permission permission) {
case Permission::kPhone:
return "http://tizen.org/privilege/call";
case Permission::kSensors:
case Permission::kSensorsAlways:
return "http://tizen.org/privilege/healthinfo";
case Permission::kSMS:
return "http://tizen.org/privilege/message.read";
Expand Down
3 changes: 2 additions & 1 deletion packages/permission_handler/tizen/src/permission_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ enum class PermissionStatus {
kRestricted = 2,
kLimited = 3,
kPermanentlyDenied = 4,
kError = 5,
kProvisional = 5,
kError = 6
};

class PermissionManager {
Expand Down
7 changes: 6 additions & 1 deletion packages/permission_handler/tizen/src/permissions.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,12 @@ enum class Permission {
kAccessNotificationPolicy = 27,
kBluetoothScan = 28,
kBluetoothAdvertise = 29,
kBluetoothConnect = 30
kBluetoothConnect = 30,
kNearbyWifiDevices = 31,
kVideos = 32,
kAudio = 33,
kScheduleExactAlarm = 34,
kSensorsAlways = 35
};

#endif // FLUTTER_PLUGIN_PERMISSIONS_H_

0 comments on commit d605b63

Please sign in to comment.