ShizuStore

AutoRotate

eiyooooo

1.1.0 · GitHub

Download APK
Customization Android 7.0+ 1 year ago GPL-3.0
64 ShizuStore
2.6k GitHub
47 Stars
1 MB Size

More about this app

Manage automatic rotation of different screens on Android phones

AutoRotate(自动旋转)

GitHub license GitHub release GitHub downloads

English / 简体中文

👋Introduction

  • This application can manage the automatic rotation of different screens on Android phones, such as not enabling automatic rotation when using the small screen of a foldable phone and enabling automatic rotation when using the large screen.
  • It requires the use of Shizuku to achieve automatic rotation. For details, please refer to the Shizuku manual.

📥Download

🚀Getting Started Guide

  1. Download and install the apk.
  2. Download Shizuku and refer to the Shizuku manual for configuration instructions.
  3. Grant the application Shizuku permissions.
  4. Add configuration for different screens.
  5. Start the service.
  6. Enjoy the automatic rotation feature!

⭐Support Me

  • If you enjoy this application, please consider giving this repository a star.
Close

How Shizuku is used

Can lock each display to its current rotation or allow auto-rotate via `IWindowManager` freeze and thaw calls through Shizuku.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Shizuku is used to run a privileged background service that applies a separate rotation choice for every connected display.

  • Manage per-display rotation: each display can be set to follow the sensor for automatic rotation or locked to its current rotation, applied with window manager freeze and thaw rotation controls through Shizuku and automatically reapplied when displays change.

Android APIs or commands used

  • IWindowManager.freezeDisplayRotation
  • IWindowManager.thawDisplayRotation
  • IWindowManager.freezeRotation
  • IWindowManager.thawRotation
  • IWindowManager.registerDisplayWindowListener
  • IWindowManager.unregisterDisplayWindowListener
  • DisplayManagerGlobal.getDisplayIds
  • DisplayManagerGlobal.getDisplayInfo
  • DisplayManagerGlobal.registerDisplayListener
  • DisplayManagerGlobal.unregisterDisplayListener

Notable details

On older Android versions that lack per-display rotation controls, only the main display can be locked or released, so secondary display settings may not apply.

Close

Changelog

What's new for version 1.1.0

  • When Shizuku is already authorized, the AutoRotate service can start automatically after restarting Shizuku. Shizuku已授权的情况下,重新启动Shizuku后可自动启动AutoRotate服务。

Full Changelog: https://github.com/eiyooooo/AutoRotate/compare/V1.0.1...V1.1.0

Close

Permissions

4 permissions requested

  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.SYSTEM_OVERLAY_WINDOW
  • com.eiyooooo.autorotate.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close