ionic-team / ionic-team/capacitor-plugins

@capacitor/screen-orientation: iOS: orientation() and screenOrientationChange event report orientation change although orientation is locked

Open
#1,446 4 comments 0 reactions 0 assignees View on GitHub
platform: ios plugin: screen-orientation type: bug
Dominant language
Java
Stars
678
Forks
685
Avg merge
4d 22h
Merged PRs (30d)
3

Description

## Bug Report

### Plugin(s)

`@capacitor/screen-orientation@4.1.0`

### Capacitor Version

```
💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 4.7.0
@capacitor/core: 4.7.0
@capacitor/android: 4.7.0
@capacitor/ios: 4.7.0

Installed Dependencies:

@capacitor/core: 4.7.0
@capacitor/cli: 4.7.0
@capacitor/ios: 4.7.0
@capacitor/android: 4.7.0

[success] iOS looking great! 👌
```

### Platform(s)

- iOS

### Current Behavior

After locking the orientation
```typescript
await ScreenOrientation.lock({orientation: "portrait-primary"})
```
the `screenOrientationChange` listener still reports changed orientations when the device is rotated as if the orientation was not locked. Calling
```typescript
const {type} = await ScreenOrientation.orientation()
```
also returns the orientation as if the screen orientation was not locked.

The document orientation itself is locked correctly though, no matter how the device is rotated.

### Expected Behavior

The `screenOrientationChange` listener should only report changes when the screen orientation is actually changed, not when the device is rotated while the screen orientation is locked. Likewise `ScreenOrientation.orientation()` should return the correct screen orientation when it is locked, no matter how the device is rotated.

This does not seem to be an issue on Android. There the `screenOrientationChange` listener gets only called after `ScreenOrientation.lock()` if it actually changed the screen orientation. `ScreenOrientation.orientation()` also returns the correct screen orientation after `ScreenOrientation.lock()` was called.

### Code Reproduction

### Other Technical Details

### Additional Context

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.