Jelly Bean 4.2 Airplane Mode Helper

From Projects by Davis Mosenkovs
Jump to: navigation, search

Jelly Bean 4.2 Airplane Mode Helper for Root Users only. This application allows other applications to control airplane mode on Jelly Bean 4.2 (Android 4.2) devices/ROMs exactly the way it was possible before Android 4.2.

This is generic helper - most applications capable of toggling airplane mode on pre-4.2 versions of Android are supported. The only unsupported applications are those that explicitly detect Android 4.2 and disable/hide settings that control airplane mode (and usually show some kind of notice about Android 4.2) in GUI. If you encounter such applications, please notify their developers about this workaround (ask them to bring airplane mode options back and display a warning on Android 4.2+).

Additionally Jelly Bean 4.2 Airplane Mode Helper offers Locale/Tasker plugin for airplane mode control.

Download

Google Play link:   Google Play web link:   XDA developers forum:

Qr-airplanemh.png

 

En app rgb wo 60.png

 

Xda-logo.png

Solution for Android 4.3+

Jelly Bean 4.2 Airplane Mode Helper is NOT Android 4.3+ compatible. Google has made airplane mode change broadcasts protected on Android 4.3+, so applications can't send them anymore.

Airplane Mode Helper (successor of Jelly Bean 4.2 Airplane Mode Helper) IS Android 4.3+ (including Lollipop and Marshmallow) compatible. It is released on this site, XDA Developers forum (anyone can download it from XDA without registration) and Xposed Module Repository, but not on Google Play. Airplane Mode Helper is Xposed framework based.

Notices

Jelly Bean 4.2 Airplane Mode Helper is distributed "as is" without any form of warranty. It is user's sole responsibility to obey all regulatory rules about usage of airplane mode and not use this application in places/situations where such rules exist.

This application uses libsuperuser which is distributed under Apache License.

Author of application icon and Google Play graphics is Raitis Linde.

Internals

Applications that change airplane mode on pre-4.2 versions of Android still do send airplane mode change broadcasts on Android 4.2, but these applications don't/can't change airplane mode setting itself (because API for changing airplane mode has been changed since Android 4.2). Jelly Bean 4.2 Airplane Mode Helper works by listening to those airplane mode change broadcasts, waiting a small configurable delay and and (if necessary) adjusting system settings using root privileges.

Jelly Bean 4.2 Airplane Mode Helper does NOT install anything in system space, alter system files etc.

Notes for developers

To work with Jelly Bean 4.2 Airplane Mode Helper an application should use the usual method (code) for controlling airplane mode (described, for example, here and here), that by default doesn't work in Android 4.2. This code should be surrounded by try/catch, because sending airplane mode change broadcast on Android 4.3+ (without Airplane Mode Helper installed) will throw SecurityException. The only difference of Jelly Bean 4.2 Airplane Mode Helper from native pre-4.2 behavior is that airplane mode is not toggled immediately but after a delay (see Toggling delay setting of Jelly Bean 4.2 Airplane Mode Helper and take into account that actual delay may be a bit longer, because of broadcast processing stuff, su execution etc.).

To work with Jelly Bean 4.2 Airplane Mode Helper application must have (use) android.permission.WRITE_SETTINGS permission (permission required to control airplane mode on pre-4.2 systems). NB This requirement also applies to callers of Locale/Tasker plugin.

Explicit detection of this application is lightly discouraged. If detection is absolutely necessary it is recommended to try detecting both - Jelly Bean 4.2 Airplane Mode Helper and Airplane Mode Helper - if at least one of them is present it may be possible to control airplane mode.

Settings explained

Enabled determines whether this application will do it's work.

Display messages determines whether short on-screen messages (so called toasts) will be displayed when airplane mode is enabled/disabled by this application.

Toggling delay is waited after airplane control attempt is received, before actually starting to toggle airplane mode. This improves compatibility with other applications (that may otherwise misbehave due to race conditions when receiving airplane mode change broadcast immediately before and after the setting is actually changed). Delay is not waited when this application is called as Locale/Tasker plugin.

Use early detection changes behavior when multiple airplane mode control attempts are received. When this setting is enabled first attempt to toggle airplane mode is honored and all other attempts during that Toggling delay are ignored. When this setting is enabled all attempts to set airplane mode to current state are immediately ignored. When this setting is disabled delay is waited after receiving any airplane mode control attempt (including attempt to set airplane mode to current state), if during waiting another airplane mode control attempt is received waiting is restarted, when no more control attempts are received during last delay, airplane mode is set to state specified in last control attempt.

Tested applications

Working:

If an application has free and paid version only one of them is listed here.

If your favorite application can't toggle airplane mode on Android 4.2 with Jelly Bean 4.2 Airplane Mode Helper, show its developers this page.

Changelog

v 1.1.10

  • Fixed bug when empty toggling delay is entered.
  • Updated warning on Android 4.3+ devices.

v 1.1.9

  • Added warning on Android 4.3+ devices.
  • Changed manifest, so the application won't show up in Google Play for Android 4.3+ devices.

v 1.1.8

  • New application icon and Google Play graphics (thanks to Raitis Linde).
  • Minor improvements.

v 1.1.7

  • Changed behavior when Use early detection is disabled.
  • Help page added.

v 1.1.6

  • Improved delay implementation.
  • EULA fixed and updated - please review it!
  • Minor improvements.

v 1.1.5

  • Fixed bug (when airplane mode sometimes was not toggled while screen was off).
  • Minor improvements.

v 1.1

  • Added Locale/Tasker plugin.
  • Minimum delay decreased to 1 second (1000 ms).
  • Minor improvements.

v 1.0.2

  • Fixed bug (triggered by toggling airplane mode during delay).

v 1.0.1

  • Cosmetic improvements.
  • EULA updated - please review it!

v 1.0

  • Initial release.

Discussion & Support

XDA developers forum:

Xda-logo.png

Privacy policy

This application is covered by Privacy policy for Android apps.