I may have chosen a bad example, but as programmers you surely understand that sometimes parentheses are inavoidable. I think the user-friendly way would be something like:
>>>>-------- OR ----------
>>-------- AND -----------
---------- OR ------------
---------- AND ------------
That is, each group is indented proportionally to the nesting level.
Nesting may be limited to, say, 3 levels.
You could highlight the indentation space when the group is true.
And that can be implemented using the same LinearLayout class.
Speaking of drag&drop, I must say it's rather inconvenient that on the contrary to the commonly used drag&drop behavior of tabs in a browser or tasks in a taskbar where the dragged item is placed between the other two, and the rest is just moved to make space, in SP the dragged item is instead _swapped_ with the item it is dragged over. That is not what, I think, most people expect. The classic behaviour would be much more convenient.
I vote for this! There is absolutely no use to me to see the count of active profiles on that big red dot over a useless white hammer. It would be much better to have the hammer change color according to the currently active profile.
Also, this condition SHOULD NOT trigger when the device goes to sleep and turns off WiFi losing the connection to the access point (which is what happens now with the "not connected" rule).
I currently have two rules:
1.) If @home AND bt is not connected to handsfree, turn bt and mobile internet off (cyanogen), turn wifi on.
2) If (NOT @home OR wifi is not connected) AND usb is connected (my car charger is detected as usb, not as AC), then turn wifi off, turn bt and mobile internet on.
This produces a false switching to "car mode" when I at home connect my phone to a PC and then turn it off (or it turns off by timeout).
This app doesn't look like any commander at all. If you've been around computers for the past 20 years, you know what a commander is. Look at a Ghost Commander for Android to get a clue.
So I vote STRONGLY AGAINST this name for it is heavily misleading.
As Sean noticed, currently the application seems to totally disregard the radius set for the location. You can open the location settings and see two non-intersecting circles of your current location and the edited location, but still SP will consider you to be near that location (or far - that depends in which direction you're moving).
I would also propose to have combined cell/wi-fi/location driven locations with some fall-back mechanism like this:
1. If location service is available and provides current coordinates, use it.
2. If WiFi is on, use it
3. If cell info is available, use it
4. If nothing is available, use the last-detected place as current (optional)
We are planning to add universal approach to control this option for all rooted phones.
APNdroid is another paid application. I don't have it installed and I don't see any point in paying half the price of the multi-feature and very versatile SP for the single-feature APNdroid. I'd rather like to see this feature natively in SP. :)
I heard that usual Android (not CM) doesn't allow apps to directly control mobile networks settings. The "Elixir" application however uses a nice workaround - to disable mobile networking they simply add "-elixir" to the name of APN and so the phone can't connect to that invalid name. When enabling, they remove the added suffix. I vote for adding a workaround like that into Setting Profiles because not all of us use CyanogenMod firmwares.