[Android Apps and Games] ramdroid77:
Attention: The beta test is over now!

Warning: Please read everything properly before you install anything!

Here's the developer of APP QUARANTINE. I'm just about to release a new app called AdbToggle and I need you guys to help me out testing the beta version. The final release will be a paid version that will be available in Google Play. But before throwing around with details about the beta test let me first tell you why I have developed this app!

First, what is the app doing?

AdbToggle like the name already says allows you to toggle the USB debug settings. You can do this in the app or by using a homescreen widget. Furthermore there's an automatic mode: when you unplug your device then USB debug mode is turned off. When you plug it in again then USB debug mode is still disabled, it will only be enabled again if you unlock your screen.

Why should I need to have this tool?

Maybe you already figured out that when you plugin your phone to your PC then the contents of your SD card are only accessible when your screen is unlocked. This is very good, however there's a major security risk that still allows an unwanted person to access your data.... and if you are rooted even allows for total control over your phone, like for instance bypassing the screen lock. When buying a new Android phone then this is of course not enabled by default, but if you are an Android developer or otherwise just like to play around with Custom ROMs and root apps, then the USB debug mode is usually enabled and voilà....

What are the requirements for AdbToggle

Since I posted this here on XDA-Developers you probably already figured out that you need to have a rooted phone. You even need to have full write access to the system partition (e.g. no NAND protection like on some HTC phones) because AdbToggle is only working when installed as system app. This is maybe for the downside.... however the good thing is that AdbToggle doesn't need root access anymore after you have installed it.

What do you expect from people who take part in the beta test?

If you are ready to take part in the beta test and help me in finishing a great security tool for Android then I'm more than happy! Please let me know what device you have and what Android version you are currently running! And then of course I'm awaiting your comments, ideas for improvements, bug reports, etc. You can post directly in this thread or use PMs.

How does it work? What should I test?

When launching AdbToggle then a nice blue Android shows up and holds your usb plug. Just hit it to toggle USB debug mode, however it will first tell you that it needs to install itself as system app. If you have a working busybox installation (Busybox is a set of Linux command line tools) then it will just copy itself to the system partition and then asks you to reboot your phone. If there's no busybox available then it will guide you to Sterickson's busybox installer, which is available in Google Play as well. Once you have used it to install busybox, launch AdbToggle again and it will succeed.

After the reboot open the app and toggle USB debug mode. You will see the standard Android USB notifications popup and disappear as you toggle, and at the same time the USB connection to your PC is made available or reset. You should also try to use the homescreen widget to just do the same.

Now to the automatic mode. Launch AdbToggle, click the settings icon in the action bar, enable the checkbox. From here you can try out different test scenarios:

1. Unplug your phone from your PC and turn of the screen. When you connect it you'll see the lock screen but USB debug mode is disabled. You can recognize this as the USB debug notification will not popup. You can verify this by typing "adb devices" from your PC and no device should be visible. Now unlock your screen and USB debug mode will be enabled.

2. Turn your screen off and on again. The lock screen appears but USB debug mode is still enabled. Why? You are still connected to your PC so it's rather impossible that someone took away your phone. Also when your screen goes off you probably don't want to loose your USB connection when you are working on something....

3. Unplug your phone from your PC and plug it in again. USB debug mode is still enabled. Why? Your screen is still unlocked. Again it's rather unlikely that someone took away your phone during this time. Actually what really happens is that USB debug mode is disabled when you unplug it, but it's enabled when you plug it in again and AdbToggle figures out your screen is unlocked....

4. Reboot your phone and verify if everything is still working fine without manually launching the app.

Further test cases

You should check if AdbToggle is still working after an update! As the beta test goes on probably there will be one or another update. You should be able to install the update through Google Play as usual and the new version should be working immediately. You must NOT reboot and NOT install the updated version as system application again. So at this point AdbToggle should just behave the same like your built in Google apps.

What about the UI? Does everything show up well on your phone? Is the Android always blue when USB debug mode is on, and gray when it's off? Does the widget always show the proper state as well?

Limitations / Known issues:

The automatic mode is currently not working on tablets with a separate power plug-in. I'm trying to solve this at some point but for the moment please test it on phones only!

Now please let me start!

Sure, go ahead and download AdbToggle from Google Play and have fun! However keep in mind that the beta version will expire and not working anymore in 05/2012.

https://play.google.com/store/apps/details?id=com.ramdroid.adbtoggle