Restore Airplane Mode

One of the users wrote me an e-mail that after uninstalling Power Schedule, when he turned on Airplane Mode, WiFi was still enabled. This is because Power Schedule (and others) change this setting to allow individual control over WiFi, Bluetooth and Telephony. Since the application being uninstalled is not notified it’s being uninstalled, it has no chance of cleaning up (and restoring previous settings). This is how Android is designed (a bit of a flaw, in my opinion – on Windows Mobile an application was notified before uninstall).

Anyway, I wrote a small app to restore the settings. Download and install it using Astro or whatever file manager you have on your device.
Here’s the link:
{filelink=1}

16 thoughts on “Restore Airplane Mode”

  1. I installed your app, since I missed some of these features that my previous phone (BB) had. But, from the moment I did, i no longer receive my emails on my phone.
    Did I do something wrong? Can I fix it and still use your app, which I like a lot?
    Finally, I could find no way to contact you other than commenting on your blog.
    Still like the app, though, so thanks. Now if you can let me know soon how to use it AND get my emails…..
    Erna

    1. Hello Erna,

      It may be that you disabled either WiFi or Data Connection on your phone on a schedule and didn’t enable it back? Have a look at “WiFi” and “Data Connection” in Power Schedule and see if any of the buttons say “Disabled”.

  2. Not so much a comment on your post – more a question about the software (I can’t find any “email me your thoughts” links anywhere). I use Power Schedule 1.4.4 to set the ring profile to silent over night (between say midnight and 7 AM). I currently travelling and am in a very different timezone. I had hoped that Power Schedule would continue to turn the ring tone off at night (ie the same midnight and 7 AM setting in my new timezone), but it seems that Power Schedule adjusts the on and off times for changes in the time zone. So the ring tone is set to silent in the middle of the afternoon in my current time zone (and I was woken up in the middle of the night by a phone call). Any chance of changing Power Schedule so that the on and off times are always “local time”?

    1. That’s a good point – didn’t think of that. I will fix it as soon as possible 🙂

      Thanks for finding that out.

  3. Is it possible to have an option to change the ringer to.vibrate instead of silent? I used to use a program called CT scheduler but developer stopped and don’t want to use timerrific AND this app. They say no app turns off data but I disagree. Tasked you need a PhD to figure out and juice defender is eh. But I love this app.

  4. Hi, I can see in a task manager that sometimes (probably after turning Wifi or Telephony on or off) there are two instances of Power Schedule running. I don’t mind, but maybe you want to know.
    Also, I would appreciate if Power Schedule could restart itself after being stopped by a task killer or anything else. I am not sure but I think that maybe the android system is stopping Power Schedule from time to time.

    1. Hello,

      Thanks for the information – I will check that. However it’s not a problem if the task killer / scheduler stops Power Schedule, since it does not need to run always. It will wake up by itself only when it needs to change some state (ie. turn WiFi off etc.). So that’s not really a problem – what gets killed from time to time is just the User Interface.

      1. I mean this:

        “Anyway, I wrote a small app to restore the settings. Download and install it using Astro or whatever file manager you have on your device.”

        What is the setting(s) that is restored?

        1. This one:

          “after uninstalling Power Schedule, when he turned on Airplane Mode, WiFi was still enabled. This is because Power Schedule (and others) change this setting to allow individual control over WiFi, Bluetooth and Telephony”

          This setting can only be changed by code, hence the need for a small app.

          1. “This setting can only be changed by code, hence the need for a small app.”

            Perhaps I am not making myself clear. Let me try again:

            What is the name of the setting and/or the API function called by this small app?

          2. “This setting can only be changed by code, hence the need for a small app.”

            Your small app contains the string airplane_mode_radios, which I assume is the setting that it is changing. For future reference, it is not necessary to change this setting with code. sqlite3 is able to change it. A simple google query will find many pages explaining how to do it.

            Next time please just answer the question instead of assuming I’m an idiot. I’m not — I have been a C++ developer for 20 years and cross-compile code to run on embedded systems daily.

            And next time you want to write an app that screws up my airplane mode, at least have the courtesy to inform me with a warning dialog and a chance to decline and provide a menu item in the _same_ app to fix it.

            I’ll be uninstalling Power Schedule now. Its developer cannot be trusted to not screw up my phone without warning.

  5. By no means I assumed you’re an idiot. You did not mention you’re a developer until now. Since maybe just 1 in 10000 Android users is also a developer, I answered like I would to a non-developer.
    It doesn’t “screw” your “Airplane mode”, it just changes it to something more manageable – since on Android it’s not even possible to enable WiFi/BT individually while in Airplane Mode (iOS, WP7 and other mobile OSes allow this – with good reason).

    Also, since you’re a developer, I would’ve expected a solution or debate on the original problem which caused this (see the original post – about apps not being informed when uninstalled, to BE ABLE TO RESTORE original settings).

    So, the next time you *really* want to write something on my blog, at least have the courtesy to inform me about what you really need – after all, this setting is Open Source information and can be found on the Google SDK website.

    And please don’t take it personally, but I don’t offer my source code to the first person who asks for it.

    PS. An SQL query is actually code in a programming language. So yes, you do have to write code, even if you just paste it from Google. Just my 2 cents 😉

    1. “It doesn’t “screw” your “Airplane mode””

      On my device, the text under the airplane mode setting says “disable all wireless connections”. After installing your app, this is no longer true. Therefore, it’s screwed up. And your app didn’t tell me that it was going to change that behavior. I don’t care what other OSes do, nor the reasons. I don’t use them.

      As for the issue of not being notified of uninstall, I can see good reason for that. It keeps malicious apps from arguing with the user or, worse, circumventing the uninstall. Sure there are times when it might be nice but Google made the call that the benefits outweigh the drawbacks.

      The only issue I see is with Google even allowing an app to change airplane_mode_radios. At the least, the framework should pop up a dialog that asks me to confirm the action, because obviously some developers don’t feel the need to do so themselves.

Leave a Reply

Your email address will not be published. Required fields are marked *