Smarter Wi-Fi Manager

Smarter Wi-Fi Manager manages your Android phone Wi-Fi connection by automatically learning where you
use networks. Wi-Fi is only enabled when you are in a location you have previously used Wi-Fi, increasing battery
life, security, and privacy.

Smarter Wi-Fi Manager is an experiment in funding open source - while it is a paid app in the
Android marketplace, it is also fully open source under the GPLv2 license, and the code is available below.

When in doubt, be smart

Smarter Wi-Fi Manager aims to be smart - in general, it should be invisible and will manage your
Wi-Fi state in the background.

Airplane mode and Wi-Fi Tethering modes are detected and respected - when in these modes, Smarter Wi-Fi
Manager will get out of your way.

Benefits

There are several benefits:

Save battery. By disabling Wi-Fi when you are not actually in a place you use it, you prevent your
phone from constantly trying to connect to networks you're nowhere near.

"Better" data. Stop your phone from trying to jump on random 'linksys' networks just because a friend
didn't configure their AP and now it's in your favorite list.

Improved bluetooth audio. BT audio seems to skip and pop while the phone is scanning or trying to connect
to wireless networks. By turning off Wi-Fi when connected to your car stereo, there's much less skipping.

Increased privacy. Since Wi-Fi will be turned off, your phone won't be broadcasting your home network name
everywhere you go!

And finally, increased security. There are many attacks against Wi-Fi which spoof access points - and
for many of them, all they need to know is the name of the network your phone is looking for. When your phone is
probing for networks you're nowhere near, anyone can spoof one of those networks and start sniffing your traffic.

Controlling when your phone connects to Wi-Fi is even more important when considering recent bugs discovered in
Android ad platforms. You can read more here
about man-in-the-middle attacks against Android wireless traffic!

How it works

Smarter Wi-Fi Manager automatically learns where you use Wi-Fi by learning what cell towers are
nearby.

When you go to a new location for the first time, simply turn on Wi-Fi manually. As long as
you're successfully connected to a network, Smarter Wi-Fi Manager will learn what towers are nearby.

When you leave the range of a Wi-Fi network, Smarter Wi-Fi Manager will automatically turn off
the Wi-Fi radio.

When you return to a location previous learned, Wi-Fi will be enabled automatically.

Ignoring networks

Some networks - like those run by cable companies, or default access point names like 'linksys' -
appear all over. These networks can confuse the auto-learning system and cause it to leave Wi-Fi
turned on far more often than might be desired.

Adding a network to the ignored list turns off auto-learning while connected to that network name.
Learning will be automatically re-enabled once you leave that network, either by disconnecting or by
changing to another network.

Bluetooth blacklisting

Smarter Wi-Fi Manager can turn off Wi-Fi when connected to specified Bluetooth devices.

For example, it may be desirable to turn off Wi-Fi networking whenever you are connected to
your car stereo. While connected to the blacklisted device, Wi-Fi will stay off and learning will be
disabled.

Time ranges

Smarter Wi-Fi Manager can turn Wi-Fi and Bluetooth on, or off, within specific time ranges.

Always somewhere with no Wi-Fi signal, or where Wi-Fi is prohibited, at the same time each day
or week? Set a time range to automatically turn off Wi-Fi - and keep it off.

What's next?

Recent Android security announcements made me push the release of the first version of Smarter
Wi-Fi Manager a little. Planned for future releases are:

Geofencing for high-accuracy control and exclusion

Inter-app notification so scanning apps can suspend SWM

Management of the Android Wi-Fi network priority list to only connect to the learned network

Early-Access

Want to test the latest betas and contribute feedback and feature requests? Join the beta test group
on Google+:

Get the Code

Smarter Wi-Fi Manager is a paid app for Android, however, it is open source under the GPLv2 license.

While your support of open source is greatly appreciated, for those who do not wish to purchase the
app may compile their own. SWM was built in Android Studio - while it should be possible to compile using
Eclipse, it will require some modifications.