Secure Settings Plugin - BETA TESTERS REQUESTED!

1,955 views
Skip to first unread message

Corey Z

unread,
Jul 14, 2011, 10:40:42 PM7/14/11
to tas...@googlegroups.com
Hi Everyone,

I have been developing a plugin recently and am planning on releasing it on the market in the near future.

If there are any Tasker users that would like to test it and give me feedback, I would highly appreciate it.
PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!

Here is a description of the application functionality:


Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.

Options:
  • Enable or Disable the Keyguard
  • Lock the device
  • Set or Reset the device Password or Pin
    • Store a password or pin (encrypted using 128 bit AES encryption) so that you can enable and disable your password.
  • Run Command
    • Execute any linux command or shell script with the ability to generate a notification with output information on completion.
    • If you are rooted, you can use root to execute privileged commands.
    • ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and exit value in user defined Tasker variables for each command!
  • Wake Device
    • Turn your device's screen on and keep it on for a certain amount of time.

Advanced functionality
If you are rooted, the app has an option to install the Secure Settings Helper app.
The Helper is basically a tiny (~18kb) listener application that sits in the /system partition that will execute commands given by this application.
Android grants applications in the /system partition access to more "Secure Settings". It is because of this that the application needs root access to be installed.

With this installed, you gain access to the following functions:
  • Enable or Disable ADB
  • Enable or Disable Pattern Lock
  • Change Input Methods
    • Switch between currently enabled input methods without the prompt!

Explanation of Permissions:
  • Device Administrator Access - Required if you wish to lock the device or set/reset the password
  • Storage Access - Required for the Run Command function to write to the SD Card
  • Full Network Access - Required to download and check for updates for the Helper application
  • System Tools - Required for the Keyguard and Wake Lock functionality
  • Root Access - Required if you wish to install the Helper or run privileged commands from the Run Command function

I hope you guys enjoy it!

DOWNLOAD HERE

fubaya

unread,
Jul 15, 2011, 12:57:08 AM7/15/11
to Tasker
I like it. Can you add the ability to turn off the notification
completely?

I had some trouble when testing it with the date command. Here is a
task I set up:

1 run the date command with this plugin
2 flash %STD_OUT
3 run the date command with my method
4 clear %STD_OUT

The time that comes from the date command is what I'm watching. I
don't really care about the time, I just often chose the date command
for testing because the output changes every time it's ran, and that's
what showed some problems.

At first, I just used the plugin but noticed the output wasn't
changing so I added my method. My method is to set a variable %COMMAND
to "date". A seperate task watches for that variable to be set then
writes it to a file, the Locale Execute Plugin executes the contents
of the file, sends output to another file then reads and flashes it.

At say, 5 minutes and 15 seconds after 12, running the task should
give two flashes. It takes 2-3 seconds from first touching "test"
until the second flash pops up, so there should be a little
difference, but here are examples of what happens:

12:05:15
12:05:23

8 seconds difference, but it only took 2-3 seconds to run both
commands.

Try again in 30 seconds and the output from the plugin hasn't changed:
12:05:15
12:06:00

wait a minute:
12:05:15
12:07:00

wait 10 minutes:
12:05:15
12:17:00

30 seconds later it changed, but it changed to what it should have
been the last time it ran 30 seconds ago, minus 8 seconds:
12:16:52
12:17:30

These aren't verbatim, but I've ran this many times and are examples
of what keeps happening.

So, first, the time is always off by 8 seconds. That's not really
important, but odd. What is it using to execute the commands in the
background? My time is the same as what's reported in the terminal.

Second, the output isn't changing every time the command is ran. I
can't see any rhyme or reason to it. Sometimes it works, sometimes the
output doesn't change, and sometimes it flashes the output from the
last time it was ran.

Corey Z

unread,
Jul 15, 2011, 7:16:27 AM7/15/11
to tas...@googlegroups.com
Thank you for this in depth report. I will be looking into this as soon as I can.

In the meantime, feel free to try out all other features :)

brandall

unread,
Jul 15, 2011, 7:49:10 AM7/15/11
to Tasker
This plugin gets a big recommendation from me. I've been testing it
for a while and it's very stable. Having the option to directly
populate Tasker variables from shell commands is absolutely
fantastic... Hopefully will end all of the woes of Tasker and the
Terminal having to write love letters to each other to pass data...

@ fubaya - Do you think the delay is related to my painfully slow
execute thread?? I'm pretty sure the problem lies with SuperUser
giving the nod, which seems to vary from command to command, device to
device....

Corey Z

unread,
Jul 15, 2011, 9:41:38 AM7/15/11
to tas...@googlegroups.com
@fubaya
I think what you are seeing is actually correct.

Executing a command within my plugin and retrieving the output actually have a few steps that aren't visible to the user.

Here is the flow:
  • Tasker calls the Secure Settings Plugin with command to process
  • Plugin Receiver figures out what to do
  • It sends the command information to a service to run it
  • Service processes the command
  • Once the command finishes, output information is written to a file for temporary storage
    • If a notification is requested, one is created with the reference to the file with the output data
    • If Tasker variables are set to receive data, then an intent is sent to Tasker with the output information request. It is at this point that the variables are actually set.

So, what is happening is that the call to my plugin is occurring and then the call to retrieve the output is called before the command has finished processing. Tasker isn't going to wait around for my plugin to finish and will continue onto the next step. So what you're seeing is the value from the previous call because the plugin hasn't gotten around to setting it yet. 

One way to get around this is to create an output handler. You can create an event based on the variable changing and do your post-processing inside that profile. That is actually the reason I gave the option to store the name of the command. This way you could have an event handler that can do different things based on what command is being executed.

I hope this helps.

strictlyrude27

unread,
Jul 15, 2011, 12:56:15 PM7/15/11
to Tasker
Wow. This will replace pretty much every plugin I use. Will download
and test ASAP. Thanks!!

On Jul 14, 7:40 pm, Corey Z <czua...@gmail.com> wrote:
> Hi Everyone,
>
> I have been developing a plugin recently and am planning on releasing it on
> the market in the near future.
>
> If there are any Tasker users that would like to test it and give me
> feedback, I would highly appreciate it.
> *PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!*
>
> Here is a description of the application functionality:
>
> Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.
>
> *Options:*
>
>    - Enable or Disable the Keyguard
>    - Lock the device
>    - Set or Reset the device Password or Pin
>       - Store a password or pin (encrypted using 128 bit AES encryption) so
>       that you can enable and disable your password.
>    - Run Command
>       - Execute any linux command or shell script with the ability to
>       generate a notification with output information on completion.
>       - If you are rooted, you can use root to execute privileged commands.
>       - ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and
>       exit value in user defined Tasker variables for each command!
>    - Wake Device
>       - Turn your device's screen on and keep it on for a certain amount of
>       time.
>
> *Advanced functionality*
> If you are rooted, the app has an option to install the Secure Settings
> Helper app.
> The Helper is basically a tiny (~18kb) listener application that sits in the
> /system partition that will execute commands given by this application.
> Android grants applications in the /system partition access to more "Secure
> Settings". It is because of this that the application needs root access to
> be installed.
>
> With this installed, you gain access to the following functions:
>
>    - Enable or Disable ADB
>    - Enable or Disable Pattern Lock
>    - Change Input Methods
>       - Switch between currently enabled input methods without the prompt!
>
> *Explanation of Permissions:*
>
>    - Device Administrator Access - Required if you wish to lock the device
>    or set/reset the password
>    - Storage Access - Required for the Run Command function to write to the
>    SD Card
>    - Full Network Access - Required to download and check for updates for
>    the Helper application
>    - System Tools - Required for the Keyguard and Wake Lock functionality
>    - Root Access - Required if you wish to install the Helper or run
>    privileged commands from the Run Command function
>
> I hope you guys enjoy it!
>
> DOWNLOAD HERE <http://bit.ly/p9CEMp>

Hagure

unread,
Jul 15, 2011, 2:20:42 PM7/15/11
to Tasker
I've also been using this one for a while, and give it a hearty
( ^_^)b

Unfortunately my phone's screen is broken so I can't do additional
testing right now, but I'll get to it when I'm back online.

Corey Z

unread,
Jul 15, 2011, 2:40:45 PM7/15/11
to tas...@googlegroups.com
For anyone using the older version that is hosted on the Google Code page:

This is an entirely different application and is incompatible with that version. If you want to use this one, you will need to remove the old one and recreate all of your profiles with this version. 

The package name has changed since then and this will show up as a different plugin inside Tasker.

I'll repeat for emphasis: THIS IS NOT COMPATIBLE WITH PREVIOUS VERSIONS OF THIS PLUGIN. IT MUST BE REMOVED AND RE-INSTALLED.

mwburden

unread,
Jul 15, 2011, 4:21:54 PM7/15/11
to Tasker
OK, call me an idiot.... This is the first time I've wanted to use
a plugin with Tasker, and I'm completely clueless about how to do
it. I've downloaded this and installed it, but now how do I tell
Tasker that I want Secure Settings to disable the lock pattern?

Is it possible to disable the lock pattern without losing what the
pattern was, so that I can disable the pattern (enabling slide to
unlock) and then re-enable the pattern later without having to re-
enter the pattern?

I'm digging through the Tasker userguide and the FAQ, but coming up
empty on anything about using plugins....

Jeff Nguyen

unread,
Jul 15, 2011, 4:03:35 PM7/15/11
to Tasker
I just tried making a Tasker profile to change input settings on
Orientation Left.
When I'm on my homescreen and rotate my phone, I get the Helper Toast
notifications saying the input method was changed. If I open the
Messaging app though, nothing happens when I rotate. Is this a Tasker
related issue?

On Jul 14, 10:40 pm, Corey Z <czua...@gmail.com> wrote:
> Hi Everyone,
>
> I have been developing a plugin recently and am planning on releasing it on
> the market in the near future.
>
> If there are any Tasker users that would like to test it and give me
> feedback, I would highly appreciate it.
> *PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!*
>
> Here is a description of the application functionality:
>
> Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.
>
> *Options:*
>
>    - Enable or Disable the Keyguard
>    - Lock the device
>    - Set or Reset the device Password or Pin
>       - Store a password or pin (encrypted using 128 bit AES encryption) so
>       that you can enable and disable your password.
>    - Run Command
>       - Execute any linux command or shell script with the ability to
>       generate a notification with output information on completion.
>       - If you are rooted, you can use root to execute privileged commands.
>       - ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and
>       exit value in user defined Tasker variables for each command!
>    - Wake Device
>       - Turn your device's screen on and keep it on for a certain amount of
>       time.
>
> *Advanced functionality*
> If you are rooted, the app has an option to install the Secure Settings
> Helper app.
> The Helper is basically a tiny (~18kb) listener application that sits in the
> /system partition that will execute commands given by this application.
> Android grants applications in the /system partition access to more "Secure
> Settings". It is because of this that the application needs root access to
> be installed.
>
> With this installed, you gain access to the following functions:
>
>    - Enable or Disable ADB
>    - Enable or Disable Pattern Lock
>    - Change Input Methods
>       - Switch between currently enabled input methods without the prompt!
>
> *Explanation of Permissions:*
>
>    - Device Administrator Access - Required if you wish to lock the device
>    or set/reset the password
>    - Storage Access - Required for the Run Command function to write to the
>    SD Card
>    - Full Network Access - Required to download and check for updates for
>    the Helper application
>    - System Tools - Required for the Keyguard and Wake Lock functionality
>    - Root Access - Required if you wish to install the Helper or run
>    privileged commands from the Run Command function
>
> I hope you guys enjoy it!
>
> DOWNLOAD HERE <http://bit.ly/p9CEMp>

Corey Z

unread,
Jul 15, 2011, 4:33:25 PM7/15/11
to tas...@googlegroups.com
Hi Jeff,

Please try associating it with an application instead of an orientation. I think that the orientations are a bit buggy.

For example, I created an event when I open the app ConnectBot that changes my keyboard to "Hacker's Keyboard". When I exit out of the app, it goes back to Swiftkey.
Try something like that and let me know if you're still having issues.

Thanks for the feedback!

mwburden

unread,
Jul 15, 2011, 4:33:24 PM7/15/11
to Tasker
Nevermind. I found it.

I must need new glasses. :)

Corey Z

unread,
Jul 15, 2011, 4:33:59 PM7/15/11
to tas...@googlegroups.com
Glad you were able to figure it out.

I'm looking forward to hearing your feedback :D

mwburden

unread,
Jul 15, 2011, 4:38:10 PM7/15/11
to Tasker
I'd like to have Tasker disable my pattern lock when I'm at home (so
my phone will come up with the "slide to unlock"), and re-enable my
pattern lock when I leave home.

Is this possible?

If not, then is it possible to do this if I use a PIN instead of a
pattern (so that Secure Settings can set the PIN again when it re-
enables the PIN lock?)

mwburden

unread,
Jul 15, 2011, 4:43:54 PM7/15/11
to Tasker
The help screen mentions a "Pattern Lock" option, but I don't see it
on the "Select an Option" screen?

mwburden

unread,
Jul 15, 2011, 4:45:03 PM7/15/11
to Tasker
OK, think I've figured that one out, too... installing Helper

mwburden

unread,
Jul 15, 2011, 4:55:52 PM7/15/11
to Tasker
OK, this is totally awesome!!!!!

Corey Z

unread,
Jul 15, 2011, 5:38:51 PM7/15/11
to tas...@googlegroups.com
What was confusing? I'm very open to suggestions about instructions, ease of use and dialog text.

Nigel Roy

unread,
Jul 16, 2011, 2:25:42 AM7/16/11
to Tasker

Hi Corey Z,

Have just tried installing your plug in as I would like to try some of
the features, especially enabling and disabling thee lock codes.

However when I try installing the helper it crashes my phone.

My phone is rooted but it is an HTC Desire so it is not possible to
get write access to the system partition while the phone is running.

I tried twice just to make sure - but am pretty sure it is impossible
to install the helper without going into boot loader mode and using
adb or possibly using an update.zip file from Clockwork mod?

Any suggestions?

Thanks

Regards Nigel

On Jul 15, 3:40 am, Corey Z <czua...@gmail.com> wrote:
> Hi Everyone,
>
> I have been developing a plugin recently and am planning on releasing it on
> the market in the near future.
>
> If there are any Tasker users that would like to test it and give me
> feedback, I would highly appreciate it.
> *PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!*
>
> Here is a description of the application functionality:
>
> Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.
>
> *Options:*
>
>    - Enable or Disable the Keyguard
>    - Lock the device
>    - Set or Reset the device Password or Pin
>       - Store a password or pin (encrypted using 128 bit AES encryption) so
>       that you can enable and disable your password.
>    - Run Command
>       - Execute any linux command or shell script with the ability to
>       generate a notification with output information on completion.
>       - If you are rooted, you can use root to execute privileged commands.
>       - ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and
>       exit value in user defined Tasker variables for each command!
>    - Wake Device
>       - Turn your device's screen on and keep it on for a certain amount of
>       time.
>
> *Advanced functionality*
> If you are rooted, the app has an option to install the Secure Settings
> Helper app.
> The Helper is basically a tiny (~18kb) listener application that sits in the
> /system partition that will execute commands given by this application.
> Android grants applications in the /system partition access to more "Secure
> Settings". It is because of this that the application needs root access to
> be installed.
>
> With this installed, you gain access to the following functions:
>
>    - Enable or Disable ADB
>    - Enable or Disable Pattern Lock
>    - Change Input Methods
>       - Switch between currently enabled input methods without the prompt!
>
> *Explanation of Permissions:*
>
>    - Device Administrator Access - Required if you wish to lock the device
>    or set/reset the password
>    - Storage Access - Required for the Run Command function to write to the
>    SD Card
>    - Full Network Access - Required to download and check for updates for
>    the Helper application
>    - System Tools - Required for the Keyguard and Wake Lock functionality
>    - Root Access - Required if you wish to install the Helper or run
>    privileged commands from the Run Command function
>
> I hope you guys enjoy it!
>
> DOWNLOAD HERE <http://bit.ly/p9CEMp>

TW

unread,
Jul 16, 2011, 3:21:06 AM7/16/11
to Tasker
Hi Corey,

What an interesting plugin!!
I'm testing it on a rooted Samsung Galaxy S II with custom rom
A few remarks:
- when I installed the helper I got a message telling me it couldn't
be installed and that an update.zip was created (very nice to offer an
update.zip btw.!!) and that I also could try uninstalling/installing
the helper
which I did (through the menu of your plugin) and this time it
worked, weird but good :)
- the Keyguard enabling/disabling work great! I'm using it to enable/
disable my pattern lock, it was already possible with Tasker but was a
bit of a hassle with turning screen on and stuff, and with my SGSII it
wasn't possible anymore to turn on the screen..
with the plugin it just works
- if I try Pattern Lock with Wait To Unlock it doesn't seem to do
anything
I created a profile with time, the same profile I used to test
Keyguard..
- I would re-arrange the order of the items in Help and put Lock
Device below Pattern Lock as to me Keyguard, Password/Pin & Pattern
Lock belong together as locking/unlocking options and the Device Lock
is a command to instant lock..
but this is just my 2 cents :)
- I would like to know if this goes out of beta and we need to get the
Market version if all the settings remain..
also, if backing up/restoring Tasker and your plugin with Titanium
will also backup/restore all setting (I think it will but just want to
make sure as I flash roms frequently :) )
- I now use SL4E to run bash scripts with loops in them.. is this
possible from the Command option or is it too much?

I will be testing more this weekend :)
thanks for letting us know about the plugin

Jeff Nguyen

unread,
Jul 15, 2011, 5:33:41 PM7/15/11
to Tasker
Is Tasker's orientation context just buggy? Or is the problem on your
plugin's end? Great job btw :D

Associating with an application works fine :)
Ideally I'd be using Swiftkey in landscape mode and Swype in portrait
mode.

TW

unread,
Jul 16, 2011, 4:27:33 AM7/16/11
to Tasker
it takes a small amount of time to switch from input..
I'm also using Hacker's Keyboard in ConnectBot (thanks Corey for the
tip!) and Swiftkey when not in ConnectBot
when I open ConnectBot and immediately select a host, it's connected
before the input switch was made (even on my SGSII)..

other than that it works fine..

now that Hacker's Keyboard is really nice with a Tab key, what a
lifesaver :)

On Jul 15, 11:33 pm, Jeff Nguyen <jeff.nguyen.andr...@gmail.com>
wrote:

mwburden

unread,
Jul 16, 2011, 6:24:05 AM7/16/11
to Tasker
Nothing was really confusing once I read the help.

Before that, I didn't know that "Helper" was the part that handled all
of the tasks that require root.
Maybe in the setup screen where the "Install Helper" option is, just a
short description of what Helper is?
Message has been deleted

Corey Z

unread,
Jul 16, 2011, 11:54:46 AM7/16/11
to tas...@googlegroups.com
Hi Nigel,

Can you turn on logging in the settings and send me a log of the crash? 
It shouldn't crash and should offer up an update in zip format if it fails. If you didn't get this, I'd like your help to figure out why.

Thanks

golightlygl

unread,
Jul 16, 2011, 12:10:05 PM7/16/11
to Tasker
Corey,

If we uninstall the old one and switch to this, develop and help with
Beta testing: will be forced to pay for the market app after August
14th.

Gary

On Jul 15, 7:40 pm, Corey Z <czua...@gmail.com> wrote:
> For anyone using the older version that is hosted on the Google Code page:
>
> This is an entirely different application and is incompatible with that
> version. If you want to use this one, you will need to remove the old one
> and recreate all of your profiles with this version.
>
> The package name has changed since then and this will show up as a different
> plugin inside Tasker.
>
> I'll repeat for emphasis: *THIS IS NOT COMPATIBLE WITH PREVIOUS VERSIONS OF
> THIS PLUGIN. IT MUST BE REMOVED AND RE-INSTALLED.*

Corey Z

unread,
Jul 16, 2011, 12:14:42 PM7/16/11
to tas...@googlegroups.com
That's odd that it offered the update.zip but it ultimately worked. Good to know it ended up working for you though.

The keyguard is actually wrapped in a service so it should stick around for a while if android doesn't kill it to free up memory.

If you could please enable logging (in the options tab of my plugin) and send me a log capturing the following:
  • Saving the profile in Tasker
  • Performing the event to enable the pattern
  • Turning on/off the screen to ensure it's locked
  • Performing the event to unlock the device with wait for unlock checked
  • Turning off the screen
  • Turning it back on and unlocking the device again

Thanks for the input on the menu reordering. As of now they are just in alphabetical order after the helpful hints, but I could definitely reorder them to be near similar functions.

As far as saving and restoring settings. When this comes to market (which will be soon, I hope), it will be with the same package name, signature and all of the settings inside will be named the same so it should be a seamless transition.
If you make a backup with Titanium, you should be fine.
The only thing to take into consideration when wiping your device is if you are storing a password or pin.
The password/pin are encrypted with a random key. If you restore Tasker without restoring the data for my plugin, you will get a decryption error because the key is generated when the plugin is first used and won't match after installing again. 
However, if you do accidentally do this and the encryption keys don't match, the plugin will alert you and will clear the password out the next time you try to open that saved setting. Please Note: It will not set a password to something random if it's unable to decrypt it.

I have been able to successfully run bash scripts for testing. I haven't tried multiline commands that tie in with the line before it, but I don't see why it wouldn't work. If you can give that a try, I'd appreciate it.

Thanks for all the useful feedback, it's greatly appreciated!

Corey Z

unread,
Jul 16, 2011, 12:24:27 PM7/16/11
to tas...@googlegroups.com
Hi Gary,

This is a fair question and I will do my best to answer it.

As of right now, I have been going back and forth on how to offer this plugin. I want people to use it more than I want to make money off of it, but I would like people who appreciate it to be able to donate. So, I will potentially be offering an upgrade option at some point after this goes on the market which may or may not offer more functionality down the road.

If I do charge for it, it will be priced low. Somewhere around $1 USD.

To reiterate, this isn't set in stone and I am still considering options. If you have any feedback, I would appreciate it.

Thanks

Nigel Roy

unread,
Jul 16, 2011, 12:57:52 PM7/16/11
to Tasker
Hi Corey Z,

I can certainly try that but before I do can I just clarify something.

By crash I meant my phone reboots, so unless the log is sent to a
file, enabling logging is not going to help much!

Will be happy too try again one I know it is going too be worthwhile!

Regards Nigel

Corey Z

unread,
Jul 16, 2011, 1:30:47 PM7/16/11
to tas...@googlegroups.com
Oh wow, I didn't realize that was what was happening... That's really not what I was going for!

Are you familiar with ADB? If so, could you please hook your phone up to the computer and type 
"adb logcat > /path/to/your/desktop/log.txt" and try to get the output that way.

Additionally, are you aware of any other root applications that work/don't work on your device?

golightlygl

unread,
Jul 16, 2011, 1:33:37 PM7/16/11
to Tasker
I can't speak for others but personally I like the XDA model whereby
anyone can download and try things and a "donate" button exists for
those who appreciate the work. I find this way I try out many more
things and once I find something that I get engaged with (and see the
developer's commitment too), I happily donate.

If you do charge, I feel you need to be sufficiently committed to give
support, as Pent does so well for Tasker. But then again $1 is not a
lot to ask for the obvious development work you've put into this.
Your idea of initally making it free but then charging for addons (the
freemium model) will be good. Titanium Backup works well as an
example of that system.

My biggest fear was investing time in a Beta that I would find myself
committed to (i.e. have tasks that I set up) only to find that I
couldn't use them unless I bought an app.

There was another app on the market recently (not an automation app)
where I spent a lot of time and effort helping the developer only to
find that once the app was polished, the next "update" was to a lime
limited trial that I had to pay to keep! Needless to say, I found
another solution!

Just one idea amongst many, but I hope it helps.

TW

unread,
Jul 16, 2011, 4:22:58 PM7/16/11
to Tasker
I enabled the logging and performed the actions but can't find where
the log is stored *blush*..
once I know where I can find the log I'll mail it tho the e-mail you
have on your site..

In Titanium I will give Tasker and your plugin the same label so they
will always be backed up/restored together
Tasker is in the first batch to be restored after flashing a new rom,
my phone is useless without it :)
good to know settings and such will be kept!

I tried a bash script earlier today but experienced some issues,
sometimes the notification indicated that the script had stalled while
all action were actually performed
after editing the script a bit the notification indicated an error
it is a bit of a weird script as it launches ssh to created- another
script over ssh and pipe some stuff to cron
I will try a more regular script later

thanks for your extensive replies!

On Jul 16, 6:14 pm, Corey Z <czua...@gmail.com> wrote:
> That's odd that it offered the update.zip but it ultimately worked. Good to
> know it ended up working for you though.
>
> The keyguard is actually wrapped in a service so it should stick around for
> a while if android doesn't kill it to free up memory.
>
> If you could please enable logging (in the options tab of my plugin) and
> send me a log capturing the following:
>
>    - Saving the profile in Tasker
>    - Performing the event to enable the pattern
>    - Turning on/off the screen to ensure it's locked
>    - Performing the event to unlock the device with wait for unlock checked
>    - Turning off the screen
>    - Turning it back on and unlocking the device again

Nigel Roy

unread,
Jul 17, 2011, 7:22:16 AM7/17/11
to Tasker
Hi Corey Z,

OK ran the adb logcat this morning and have copied below the lines
from the end of the file.

With regards to other root applications, I have "MyBackupPro",
AdAware, and locale execute plugin which I have run quite happily and
I also occasionally run connectbot with a local shell and go into root
mode but have never really seen any issues. I do have one other
instance where I can guarantee to reboot my phone and that is by
getting "MyBackupPro" to clear the cache on all system applications -
but this doesn't surprise me all that much.........

Regards Nigel

logcat details::

D/SecureSettings.Helpers(17188): Secure Settings Helper is not
installed
I/RootTools v0.9(17188): Checking for Root binary
I/global (17188): Default buffer size used in BufferedInputStream
constructor. It would be better to be explicit if an 8k buffer is
required.
D/SecureSettings.Installer(17188): Retrieving release version
D/SecureSettings.Installer(17188): An update is available, attempting
to copy new version
I/global (17188): Default buffer size used in BufferedInputStream
constructor. It would be better to be explicit if an 8k buffer is
required.
D/SecureSettings.Installer(17188): Fetched file name:
SecureSettingsHelper_signed_v1.apk
I/RootTools v0.9(17188): Checking for Root access
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
D/su (17399): 10116 com.intangibleobject.securesettings.plugin
executing 0 /system/bin/sh using shell /system/bin/sh : sh
I/ActivityManager( 249): Start proc com.noshufou.android.su for
broadcast com.noshufou.android.su/.SuNotificationReceiver: pid=17401
uid=10047 gids={1015}
I/RootTools v0.9(17188): Access Given
D/SecureSettings.Installer(17188): Helper FileName:
SecureSettingsHelper.apk
D/SecureSettings.Installer(17188): Performing update
D/SecureSettings.Installer(17188): Asking for root
D/SecureSettings.Installer(17188): Mounting system read/write
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
D/dalvikvm(17188): GC_FOR_MALLOC freed 5390 objects / 411848 bytes in
63ms
D/su (17409): 10116 com.intangibleobject.securesettings.plugin
executing 0 /system/bin/sh using shell /system/bin/sh : sh
I/RootTools v0.9(17188): Remounting /system as rw
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
D/su (17411): 10116 com.intangibleobject.securesettings.plugin
executing 0 /system/bin/sh using shell /system/bin/sh : sh
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
I/RootTools v0.9(17188): [relatime, rw] AND rw
D/SecureSettings.Installer(17188): Data path for app: /data/data/
com.intangibleobject.securesettings.plugin/files
D/SecureSettings.Installer(17188): Output path: /data/data/
com.intangibleobject.securesettings.plugin/files/
SecureSettingsHelper.apk
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
D/dalvikvm(17188): GC_FOR_MALLOC freed 8681 objects / 488368 bytes in
46ms
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
I/RootTools v0.9(17188): Remounting /system as ro
I/global (17188): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is
required.
D/su (17415): 10116 com.intangibleobject.securesettings.plugin
executing 0 /system/bin/sh using shell /system/bin/sh : sh

Corey Z

unread,
Jul 17, 2011, 11:45:43 AM7/17/11
to tas...@googlegroups.com
If you have ADB setup you can get the log from the command line with "adb logcat" or through apps on the market. My favorite is called aLogcat.

As far as the scripts are concerned, I will try a few on my end as well.

Thanks

Corey Z

unread,
Jul 17, 2011, 11:48:05 AM7/17/11
to tas...@googlegroups.com
I think you raise some excellent points and I couldn't agree more.

My main goal is for people to actually use my plugin. I wrote it because I thought this functionality deserved to be available and because I personally needed it. I feel that it should be available to everyone and those who appreciate it are free to donate.

Thanks for the insight.

Corey Z

unread,
Jul 17, 2011, 11:52:06 AM7/17/11
to tas...@googlegroups.com
I have had issues with the input method changing while the keyboard is actually still visible. Please try to associate it with events that don't usually have the keyboard visible when starting.

Corey Z

unread,
Jul 17, 2011, 12:16:55 PM7/17/11
to tas...@googlegroups.com
Thanks for the log. Unfortunately it doesn't look like any crash was noted. I do have an idea of where the error may have occurred though.

I'll investigate and let you know if I find a solution.

Thanks

Nigel Roy

unread,
Jul 17, 2011, 12:33:13 PM7/17/11
to Tasker
Hi Corey Z,

Is it possible to get the update.zip so that I can install the helper
manually and try out the extended features?

Thanks

Regards Nigel

Corey Z

unread,
Jul 17, 2011, 12:37:28 PM7/17/11
to tas...@googlegroups.com
Sure

Here's the link

mwburden

unread,
Jul 18, 2011, 11:51:05 AM7/18/11
to Tasker
To quote that show that was always on TV in the Robocop movie....
"I'd buy that for a dollar!"

aurelien...@gmail.com

unread,
Jul 20, 2011, 10:19:38 AM7/20/11
to tas...@googlegroups.com
hi,

Great project,
I have a question on this feature : Enable or Disable Pattern Lock
Every time I use an application who do that (tasker, other apps) it disable the pattern lock but not re-enable the normal lock ! which is a pain :/ can you do that ?

Regards


Tony Sumrall the Younger

unread,
Jul 20, 2011, 3:09:47 PM7/20/11
to tas...@googlegroups.com
This is brilliant and replaces at least 2 apps that I currently use with Tasker (Locale Execute and Locale Password Lock) plus it gives me some additional capabilities beyond what's provided by those apps. Execute is free but Password Lock is currently selling for $1.39. For the additional capability, I'd pay at least another dollar and probably quite a bit more .. $5 seems reasonable to me but I know that'd raise the hackles of some and lock out some others who have less disposable income than me.

Your motives are admirable and I'll be buying or donating, even if you never add another feature.
--
Tony


On Thursday, July 14, 2011 7:40:42 PM UTC-7, Corey Z wrote:
Hi Everyone,

I have been developing a plugin recently and am planning on releasing it on the market in the near future.

If there are any Tasker users that would like to test it and give me feedback, I would highly appreciate it.
PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!

Here is a description of the application functionality:


Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.

Options:
    • Enable or Disable the Keyguard
    • Lock the device
    • Set or Reset the device Password or Pin
      • Store a password or pin (encrypted using 128 bit AES encryption) so that you can enable and disable your password.
    • Run Command
        • Execute any linux command or shell script with the ability to generate a notification with output information on completion.
        • If you are rooted, you can use root to execute privileged commands.
        • ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and exit value in user defined Tasker variables for each command!
        • Wake Device
          • Turn your device's screen on and keep it on for a certain amount of time.

          Advanced functionality
          If you are rooted, the app has an option to install the Secure Settings Helper app.
          The Helper is basically a tiny (~18kb) listener application that sits in the /system partition that will execute commands given by this application.
          Android grants applications in the /system partition access to more "Secure Settings". It is because of this that the application needs root access to be installed.

          With this installed, you gain access to the following functions:
          • Enable or Disable ADB
          • Enable or Disable Pattern Lock
          • Change Input Methods
            • Switch between currently enabled input methods without the prompt!

            Explanation of Permissions:
              • Device Administrator Access - Required if you wish to lock the device or set/reset the password
              • Storage Access - Required for the Run Command function to write to the SD Card
              • Full Network Access - Required to download and check for updates for the Helper application
              • System Tools - Required for the Keyguard and Wake Lock functionality
              • Root Access - Required if you wish to install the Helper or run privileged commands from the Run Command function

              Tony Sumrall the Younger

              unread,
              Jul 20, 2011, 3:54:11 PM7/20/11
              to tas...@googlegroups.com
              Just tried an experiment running a compound command to append some data to a file and it looks like it's not working. Here's the command. I've checked Use Root and left all the other items unchecked. I've named the command PowerLog.

              test -e /sys/kernel/debug/battery_log && tail -n 1 /sys/kernel/debug/battery_log >> /mnt/sdcard/TaskerLogs/PowerLog.txt

              Logcat shows

              07-20 12:48:41.877  1085  1601 V NotificationService: Pkg: com.intangibleobject.securesettings.plugin group: Other
              07-20 12:48:41.947 16404 16404 D su      : 10219 com.intangibleobject.securesettings.plugin executing 0 /system/bin/sh using shell /system/bin/sh : sh
              07-20 12:48:47.037  7671  7671 D dalvikvm: GC_EXPLICIT freed 197K, 50% free 2771K/5511K, external 214K/726K, paused 58ms
              07-20 12:48:47.997 13426 16401 D dalvikvm: GC_EXPLICIT freed 104K, 51% free 3437K/6983K, external 1431K/1943K, paused 65ms
              07-20 12:48:47.997 13426 14201 W MessageQueue: Handler{4052f048} sending message to a Handler on a dead thread
              07-20 12:48:47.997 13426 14201 W MessageQueue: java.lang.RuntimeException: Handler{4052f048} sending message to a Handler on a dead thread
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.MessageQueue.enqueueMessage(MessageQueue.java:196)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.Handler.sendMessageAtTime(Handler.java:457)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.Handler.sendMessageDelayed(Handler.java:430)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.Handler.sendMessage(Handler.java:367)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.Message.sendToTarget(Message.java:350)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at android.os.AsyncTask$3.done(AsyncTask.java:214)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.FutureTask$Sync.innerSet(FutureTask.java:253)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.FutureTask.set(FutureTask.java:113)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:311)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
              07-20 12:48:47.997 13426 14201 W MessageQueue:  at java.lang.Thread.run(Thread.java:1019)

              Any recommendations? Do I need to use output variables?
              --
              Tony

              Corey Z

              unread,
              Jul 20, 2011, 4:03:28 PM7/20/11
              to tas...@googlegroups.com
              Hi Tony,

              Thank you for the kind words in your previous post. I actually do have a few more unique plugin ideas, so stay tuned :)

              As far as the error, it doesn't look like you have debug enabled. Please go into the settings tab and scroll to the bottom and click the "Toggle Debug" option.
              Once you've done that, please re-run your command.

              Additionally, I will try this and see if I can recreate the results.

              Thanks,
              Corey

              Corey Z

              unread,
              Jul 20, 2011, 4:05:49 PM7/20/11
              to tas...@googlegroups.com
              To use the Pattern Lock feature, you need to be rooted and have the Helper app installed.
              Once you have met these requirements, you are able to turn the Pattern lock on and off at will. This DOES NOT turn off the keyguard so you will still have to swipe/slide/whatever to unlock your device.

              Hope this answers your question.

              Corey

              Tony Sumrall the Younger

              unread,
              Jul 20, 2011, 4:26:37 PM7/20/11
              to tas...@googlegroups.com
              Here's the output. And, BTW, when I go to Options, it says  "Helper v%s Installed". I don't want to mix bug reports so I'll add another comment about versions and updating.

              Now, the log with debug enabled:

              07-20 13:21:31.357 13426 13426 D SecureSettings.FireReceiver: Run Command request received

              07-20 13:21:31.367 13426 13426 D SecureSettings.FireReceiver: Starting Shell Service
              07-20 13:21:31.377 13426 18951 D SecureSettings.ShellService: Intent received
              07-20 13:21:31.377 13426 18951 D SecureSettings.ShellService: Registering cancel script receiver.
              07-20 13:21:31.377 13426 18951 D SecureSettings.ShellService: Cmd: test -e /sys/kernel/debug/battery_log && tail -n 1 /sys/kernel/debug
              /battery_log >> /mnt/sdcard/TaskerLogs/PowerLog.txt
              07-20 13:21:31.377 13426 18951 D SecureSettings.ShellInterface: Running command with root.
              07-20 13:21:31.417 13426 18951 D SecureSettings.ShellInterface: Showing notification
              07-20 13:21:31.427 13426 18951 D SecureSettings.ShellInterface: Executing RunCommandTask
              07-20 13:21:31.427 13426 13435 D SecureSettings.ShellInterface: Executing with su shell
              07-20 13:21:31.467 13426 13435 D SecureSettings.ShellInterface: Writing bytes: test -e /sys/kernel/debug/battery_log && tail -n 1 /sys/kernel/debug/battery_log >> /mnt/sdcard/TaskerLogs/PowerLog.txt
              07-20 13:21:31.467 13426 13435 D SecureSettings.ShellInterface: Waiting for Process to finish
              07-20 13:21:31.467 13426 13435 D SecureSettings.ShellInterface: Sleeping 3 seconds
              07-20 13:21:31.527 18954 18954 D su      : 10219 com.intangibleobject.securesettings.plugin executing 0 /system/bin/sh using shell /system/bin/sh : sh
              07-20 13:21:34.469 13426 13435 D SecureSettings.ShellInterface: Sleeping 3 seconds
              07-20 13:21:37.470 13426 13435 D SecureSettings.ShellInterface: Process finished
              07-20 13:21:37.470 13426 13435 D SecureSettings.ShellInterface: Exit value: 1
              07-20 13:21:37.470 13426 13435 D SecureSettings.ShellInterface: Output: |
              07-20 13:21:37.470 13426 13435 D SecureSettings.ShellInterface:
              07-20 13:21:37.497 13426 18951 D SecureSettings.ShellService: CmdName: PowerLog, ExitVal: 1, StdOut: , StdErr:
              07-20 13:21:37.497 13426 18951 D SecureSettings.ShellService:
              07-20 13:21:37.577 13426 18951 D dalvikvm: GC_EXPLICIT freed 402K, 53% free 3711K/7751K, external 1518K/2030K, paused 65ms
              07-20 13:21:37.577 13426 18951 D SecureSettings.ShellService: Stopping Service
              07-20 13:21:37.577 13426 13435 W MessageQueue: Handler{4052f048} sending message to a Handler on a dead thread
              07-20 13:21:37.577 13426 13435 W MessageQueue: java.lang.RuntimeException: Handler{4052f048} sending message to a Handler on a dead thread
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.MessageQueue.enqueueMessage(MessageQueue.java:196)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.Handler.sendMessageAtTime(Handler.java:457)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.Handler.sendMessageDelayed(Handler.java:430)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.Handler.sendMessage(Handler.java:367)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.Message.sendToTarget(Message.java:350)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at android.os.AsyncTask$3.done(AsyncTask.java:214)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.FutureTask$Sync.innerSet(FutureTask.java:253)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.FutureTask.set(FutureTask.java:113)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:311)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
              07-20 13:21:37.577 13426 13435 W MessageQueue:  at java.lang.Thread.run(Thread.java:1019)

              Tony Sumrall the Younger

              unread,
              Jul 20, 2011, 4:50:27 PM7/20/11
              to tas...@googlegroups.com
              I think at least part of my problem may be that SecureSettingsHelper.apk isn't properly installed. I'm running a CM7 nightly on my LG G2x. When I first tried to install the Helper, I touched the first item in Options and it told me it failed to install. So, I booted into recovery and tried to install the ZIP that was left on the root of my SD card. That failed also. So, I rebooted, mounted /system read-write and then manually installed the helper APK by unzipping the files, copying SecureSettingsHelper.apk to /system/app, changing the owner to root, root and issuing a chmod 06755 on /system/app/SecureSettingsHelper.apk (these are, I believe, what the updater-script does in the ZIP).

              If these aren't the steps then please let me know what I should be using (we can troubleshoot the problems I'm seeing with install later, if you like).
              --
              Tony

              Corey Z

              unread,
              Jul 20, 2011, 5:36:18 PM7/20/11
              to tas...@googlegroups.com
              The steps you described should have been enough to get it working.

              Have you rebooted since you manually set the permissions? I know that it usually takes a reboot for the system to see a new package if it's in that partition.

              Corey Z

              unread,
              Jul 20, 2011, 5:38:47 PM7/20/11
              to tas...@googlegroups.com
              What is the expected output of running this command?

              I've tried this from a command line and through my plugin and each time it has no output.

              Tony Sumrall the Younger

              unread,
              Jul 20, 2011, 6:16:45 PM7/20/11
              to tas...@googlegroups.com
              Rebooting seems to have fixed it as I am now getting the expected behavior. I can't for the life of me imagine what happened or what went wrong -- I installed the helper app a few days ago and have rebooted at least once each day in between. Sorry for the red herring.

              What this piece of code does it check for the existence of a special file that contains battery stats in some ROMs and, if it's present, pulls the information from it and appends it to /mnt/sdcard/TaskerLogs/PowerLog.txt. On this particular ROM, that file doesn't exist. Stdout is redirected to PowerLog.txt.

              Question: why do you set the mode bits to 6755? I understand that it sets the setuid and setgid bits but I don't think they're necessary for apps in /system/app.

              Corey Z

              unread,
              Jul 20, 2011, 6:53:05 PM7/20/11
              to tas...@googlegroups.com
              I'm glad that worked for you. Sorry for all the hiccups you've been having. Hopefully it'll be smooth sailing from here on.

              To address your question, I actually used the superuser update.zip as a template and since it worked, I didn't change it. You're right though, it doesn't need it and I will update it soon.

              Thanks

              strictlyrude27

              unread,
              Jul 21, 2011, 3:27:15 AM7/21/11
              to Tasker
              Corey Z -

              What are the plans to support this after Aug 15? For what I need to
              do, this plugin replaces several plugins I'm already using - but I
              would prefer to have a version that, you know, didn't expire after
              8/15. I have a *TON* of profiles/tasks that depend on the
              functionality your plugin provides. Basically I just want to make sure
              that in one way or another I can continue to use your plugin - will
              definitely pay/donate for this!

              Corey Z

              unread,
              Jul 21, 2011, 9:18:08 AM7/21/11
              to tas...@googlegroups.com
              I hope to have a free version released to the market by August 15th with a pro upgrade offered some time after that.

              When this is finally released to the market, you should be able to install on top of the current version. Since all the settings are stored in Tasker, swapping out the plugin should have no impact on what you have saved.

              Additionally, I plan on supporting this for as long as there is interest.

              aurelien...@gmail.com

              unread,
              Jul 21, 2011, 10:57:35 AM7/21/11
              to tas...@googlegroups.com
              Okay this is MAGIC ! exactly what I search !  (I just try it)
              Thank you !!

              I will buy you version " Somewhere around $1 USD." !!

              I hope you will add some great functionality likes theses !

              strictlyrude27

              unread,
              Jul 22, 2011, 6:45:19 PM7/22/11
              to Tasker
              Corey Z -

              It looks like a newline is being appended to %STD_OUT when I use it to
              capture output from a shell script. Is this a bug or a feature?

              Corey Z

              unread,
              Jul 22, 2011, 7:30:35 PM7/22/11
              to tas...@googlegroups.com
              No, that wasn't intentional. It'll be fixed for the next release.

              Thanks for catching that.

              EFaden

              unread,
              Jul 24, 2011, 6:11:44 PM7/24/11
              to Tasker
              Corey,

              Is there a beta site or somewhere we can check for updates?...

              -Eric

              David Seo

              unread,
              Jul 24, 2011, 8:54:10 PM7/24/11
              to Tasker
              Amazing. Was looking for an IME switcher since first buying tasker.

              Sven since your app already uses root permissions would it be possible
              to fix the fact that tasker
              can no longer toggle GPS ? (Heard its a 2.3 limitation).


              On Jul 15, 11:40 am, Corey Z <czua...@gmail.com> wrote:
              > Hi Everyone,
              >
              > I have been developing a plugin recently and am planning on releasing it on
              > the market in the near future.
              >
              > If there are any Tasker users that would like to test it and give me
              > feedback, I would highly appreciate it.
              > *PLEASE NOTE THIS IS A BETA AND WILL EXPIRE ON AUGUST 15TH!*
              >
              > Here is a description of the application functionality:
              >
              > Secure Settings is a Tasker/Locale compatible Plugin for Android 2.2 and up.
              >
              > *Options:*
              >
              >    - Enable or Disable the Keyguard
              >    - Lock the device
              >    - Set or Reset the device Password or Pin
              >       - Store a password or pin (encrypted using 128 bit AES encryption) so
              >       that you can enable and disable your password.
              >    - Run Command
              >       - Execute any linux command or shell script with the ability to
              >       generate a notification with output information on completion.
              >       - If you are rooted, you can use root to execute privileged commands.
              >       - ADDED BONUS FOR TASKER USERS: You can store the stdout, stderr and
              >       exit value in user defined Tasker variables for each command!
              >    - Wake Device
              >       - Turn your device's screen on and keep it on for a certain amount of
              >       time.
              >
              > *Advanced functionality*
              > If you are rooted, the app has an option to install the Secure Settings
              > Helper app.
              > The Helper is basically a tiny (~18kb) listener application that sits in the
              > /system partition that will execute commands given by this application.
              > Android grants applications in the /system partition access to more "Secure
              > Settings". It is because of this that the application needs root access to
              > be installed.
              >
              > With this installed, you gain access to the following functions:
              >
              >    - Enable or Disable ADB
              >    - Enable or Disable Pattern Lock
              >    - Change Input Methods
              >       - Switch between currently enabled input methods without the prompt!
              >
              > *Explanation of Permissions:*
              >
              >    - Device Administrator Access - Required if you wish to lock the device
              >    or set/reset the password
              >    - Storage Access - Required for the Run Command function to write to the
              >    SD Card
              >    - Full Network Access - Required to download and check for updates for
              >    the Helper application
              >    - System Tools - Required for the Keyguard and Wake Lock functionality
              >    - Root Access - Required if you wish to install the Helper or run
              >    privileged commands from the Run Command function
              >
              > I hope you guys enjoy it!
              >
              > DOWNLOAD HERE <http://bit.ly/p9CEMp>

              Corey Z

              unread,
              Jul 25, 2011, 8:39:52 AM7/25/11
              to tas...@googlegroups.com
              Hi Eric,

              For now, this thread is the best source of updates. I will be posting more information to the google code page once this goes live.

              Corey Z

              unread,
              Jul 25, 2011, 8:41:36 AM7/25/11
              to tas...@googlegroups.com
              Hi David,

              I'm glad you were able to find good use for this plugin. As far as the GPS is concerned, I have been running CM for ages and haven't been without that feature :P but I will take a look and see what it would take to implement it.

              Thanks for the input!

              Corey Z

              unread,
              Jul 25, 2011, 9:36:26 AM7/25/11
              to tas...@googlegroups.com
              That wasn't that hard... GPS toggle will be in the next release :D

              It will require that you are rooted with the Helper app installed.

              strictlyrude27

              unread,
              Jul 25, 2011, 6:29:31 PM7/25/11
              to Tasker
              Corey Z -

              Would it be possible to add passing in input variables to shell
              commands?

              Corey Z

              unread,
              Jul 25, 2011, 7:38:29 PM7/25/11
              to tas...@googlegroups.com
              If you are referring to putting Tasker variables inside of shell commands, then that has been implemented for the next release. If any command contains a %, it will tell Tasker to replace the variable with the data from Tasker before sending it to my plugin.

              If that's not what you mean, please let me know.

              strictlyrude27

              unread,
              Jul 25, 2011, 11:54:51 PM7/25/11
              to Tasker
              That's even better than what I meant - I meant passing in variables
              through ARGV, like on the command line ("sh script.sh arg1 arg2
              arg3"). If your plugin just essentially does an 'eval' of the Tasker
              variables, that makes life a ton easier. Thanks!

              David Seo

              unread,
              Jul 27, 2011, 8:55:41 PM7/27/11
              to Tasker
              I can't wait for this app to hit the market.

              Corey Z

              unread,
              Jul 28, 2011, 8:54:37 AM7/28/11
              to tas...@googlegroups.com
              Shouldn't be long now. I'm just ironing out some kinks. 

              Stay tuned.

              ciech...@gmail.com

              unread,
              Jul 28, 2011, 4:33:04 PM7/28/11
              to tas...@googlegroups.com
              I can't wait this GPS toggle ... please make this new release asap :) ... plizzzz :) it makes me crazy to turn it on and off manually ...

              KouiK

              unread,
              Jul 28, 2011, 4:54:37 PM7/28/11
              to tas...@googlegroups.com
              Hi all there !

              I'd like to try this plugin, but i didn't really understand why this plugin exists.
              Tasker already handle keyguard features. So why do you want another plugin to let you lock your phone ? What do you mean by Enabling / disabling Lock pattern ?

              I made a completely reviewed lockscreen mode only with Tasker + Widget Locker.
              I created some profiles which simulate a real delayed Keyguard, without bugs, or without Android changing keyguard mode itself.

              This is how my lock screen works with Tasker :
              - Screen turned off -> Waiting 30 seconds ( can be set in a widget menu )
              - 30 seconds after screen turned off -> Activating Widlocker.
              - Waiting 30 seconds again. Time can be set again, in a widget menu.
              - Then, activating The pattern lock code, behind widget locker.

              So, i have a 4 states lock system. My phone can be :
              - Unlocked
              - Locked by Widget Locker Only
              - Locked by Widget Locker + Pattern Code behind it
              - Locked by Pattern code only ( This is when you unlock widget locker, the pattern code is shown. If screen get off during this state, widget locker will be reactivated )

              I was needed these 4 lock screen status to handle my automatic connections.

              If you're using Tasker correctly, you don't need another plugin to let you play with keyguard.

              I will let you show that in about 3 weeks. I will offer the community all the work i did on tasker. I have a lot of profile to share ( delayed keyguard, automatic connections, usage modes [ home, light, standard, car mode, busy, night mode, low battery mode ], and lot of added features, like a face down profile, Stolen mode, trigger SMS to retrieve stolen phone, taking picture of the guys which stole your phone and lot, lot, lot more ...

              Corey, can you tell me more about what your plugin does please ?

              ciech...@gmail.com

              unread,
              Jul 28, 2011, 5:14:54 PM7/28/11
              to tas...@googlegroups.com
              sounds really great :) ... maybe You have solution for GPS toggle on android 2.3.4 ?? :)
              and this stolen phone features sounds interesting .. please share it with us :)
               

              ciech...@gmail.com

              unread,
              Jul 28, 2011, 6:16:58 PM7/28/11
              to tas...@googlegroups.com
              one more scenario ... I want to have some secret folder on my sdcard which will be automaticaly encrypted on system shutdown and decrypted on startup after putting password
              Do You have any idea how to do this with tasker ?

              Corey Z

              unread,
              Jul 28, 2011, 6:45:45 PM7/28/11
              to tas...@googlegroups.com
              Hi,

              If you read the description in the first post, managing the keyguard is just one of the 8 functions that my plugin performs. I understand that this is a redundant feature for Tasker users, but I am providing that for Locale users who don't have that kind of control built in.

              As for the other lock screen functions: if you are rooted, you can enable and disable the pattern lock. This is something that you used to be able to do prior to Android 2.2. By toggling the pattern lock, you can still have the phone prompt you for the pattern when you want it to be secured and not when you don't. By not relying on the keyguard (which can be killed and won't last through a reboot), you have much more control and don't need a lockscreen replacement app like widget locker.

              I understand that this functionality won't necessarily appeal to everyone but I had the need, so I figured I would share. Additionally, you saying that you "don't see why this plugin exists" is a bit harsh. I believe that anyone should be able to contribute to the Android community, regardless of how large or small their contribution is.

              KouiK

              unread,
              Jul 28, 2011, 9:54:19 PM7/28/11
              to tas...@googlegroups.com
              Hi Corey,

              Before all :

              "Additionally, you saying that you "don't see why this plugin exists" is a bit harsh."

              I'm really sorry, it wasn't that i would liked to mean. I have some troubles explaining myself really efficiently in english, and that wasn't i'd like to say.
              As you said, "that this is a redundant feature for Tasker users". That is more appropriated ;)

              Then,
              Sorry again, i didn't really noticed that it is a plugin, not only for Tasker, but used for locale too ^^

              The first time i booted my phone, i saw the android lockscreen. First thing i did was to buy WidgetLocker ^^ Lol. And i have never been disappointed by it.
              I don't use it because i need it as a lockscreen replacement, but just because i prefer it than the android one. And, by luck on me, it is integrated for tasker ( i didn't know when i bought it ). So i decided to create a replacement profile for the keyguard.

              Anyway, i forgot to say something : Thanks for sharing your work. Even if i don't have any time to test it for now, i will get back on this thread in a few day to follow comments about it.

              Good luck to you.

              David Seo

              unread,
              Jul 28, 2011, 9:55:06 PM7/28/11
              to Tasker
              I think english is not his first language so there is some confusion,
              I dont think he meant to insult the app.
              He was likely merely asking a genuine question.

              KouiK: the app allows you to edit several advanced settings,
              epsecially with root and helper.

              I am using it to switch my Input Method automatically
              Korean keyboard for SMS
              Hackers for ConnectBot
              Swype Everywhere else.

              Also i hope to use it to fix my gingerbread GPS toggling when i open
              my navigation app.

              I'm really glad the dev made this app!

              KouiK

              unread,
              Jul 28, 2011, 9:58:38 PM7/28/11
              to tas...@googlegroups.com
              Sharing is planed. I'm working on it. I still have some little bugs there and there, but it should be over at the end of August.

              For the GPS, you should follow the sticky post on home group. I don't have any better solution than theses.

              KouiK

              unread,
              Jul 28, 2011, 10:08:55 PM7/28/11
              to tas...@googlegroups.com
              Yeah .. I'm confused :(
              I Can't explain myself as i'd like, and say some mistakes. Really sorry if insulted the app or the plugin developper, it wasn't the aim, and this a big error, seriously.

              @David Seo,
              Thank you for this example on what we can do with the plugin. This is really interesting.

              And same for the GPS fix, but i still wait for returns and comments before to test it. I don't have so much time to spend on it this days, so i'd prefer to just follow the thread for now, and try it later.

              KouiK

              unread,
              Jul 29, 2011, 8:29:00 AM7/29/11
              to tas...@googlegroups.com
              Hi Corey,

              I tried your plugin.

              It doesn't seems to work for me. ( I only tried the GPS Fix for now. I didn't try others features yet. )

              I made a widget that runs theses actions :
              - GPS : On
              - Secure setting ADB Enabled ( adb = gps features ? right ? )
              - Wait 30 seconds
              - Popup :
               GPS : %GPS
               GPS loc : %LOC
               Phone loc : %LOCN

              It returns me :
              GPS : on
              GPS loc : %LOC
              Phone loc : x.xxxxxxxx,x.xxxxxxx

              I'm running on Cyanogen Mod Nighlty. Version 07072011. I'l update CM7, and try back, but i don't think it will change anything.

              Is there something i'm doing wrong or it just doesn't work ?
              Thanks.

              Corey Z

              unread,
              Jul 29, 2011, 8:45:38 AM7/29/11
              to tas...@googlegroups.com
              Hi, 

              ADB is the Android Debugging Bridge. It allows you to communicate with your device when plugged in to the computer over USB.
              I am not planning on releasing a GPS Fix function. I am under the impression that can be handled through Tasker.

              What I do plan on releasing (probably today) is a new revision of my beta. This new version will allow root users who have my Helper app installed the ability to turn the GPS on and off (which is something only CM users can do now).

              KouiK

              unread,
              Jul 29, 2011, 8:55:08 AM7/29/11
              to tas...@googlegroups.com
              Corey Z :  I'm developing a Tasker plugin that has a "helper" application that can be installed by rooted users. The helper sits in the /system/app folder and can modify secured settings. I just implemented the ability to toggle the GPS and it seems to work pretty well so far.
              That's why i tried, i thunk that i could find a GPS feature in your plugin. Sorry so ^^

              I'm actually running on CM7 Nithgly, and the GPS function doesn't work in Tasker. ( Only the gps icon light on, in the scrolling panel, but the icon does'nt appears in the status bar. ) As pent said, it's due to some android changes. It seems that all users using 2.3.4 Gingerbread can't use the GPS, like me. I'd like to test your GPS toggle. It would be nice if it could work.


              Corey Z

              unread,
              Jul 29, 2011, 10:55:06 AM7/29/11
              to tas...@googlegroups.com
              Hi everyone!

              I have a new beta available with quite a few changes.

              Big changes include GPS Toggle and Wireless ADB. Check out the changelog in the settings for more info!

              PLEASE NOTE: If you have the Helper installed, be sure to check for an update since that was updated as well.

              Download HERE (this is a new link)

              Tony

              unread,
              Jul 29, 2011, 11:36:48 AM7/29/11
              to Tasker
              Excellent, thanks! Don't know if long-pressing the function for help
              is new or if it's always been there but I really like it.

              Just FYI, the installer for the helper still sets permissions to 6755.
              No big deal, it works either way. I also notice that it won't install
              via ClockWorkMod Recovery. I know there were two "standards" for
              updates and CWM uses the newer one but, beyond that, I don't recall
              any of the details. Again, no big deal since I can just copy it in to /
              system/app.
              --
              Tony

              On Jul 29, 7:55 am, Corey Z <czua...@gmail.com> wrote:
              > Hi everyone!
              >
              > I have a new beta available with quite a few changes.
              >
              > Big changes include GPS Toggle and Wireless ADB. Check out the changelog in
              > the settings for more info!
              >
              > *PLEASE NOTE: If you have the Helper installed, be sure to check for an
              > update since that was updated as well.*
              >
              > Download HERE <http://bit.ly/qEwkxp> (this is a new link)

              Corey Z

              unread,
              Jul 29, 2011, 11:38:41 AM7/29/11
              to tas...@googlegroups.com
              I forgot about that. Sorry. What should the permission be? I had issues using just the 3 digit permissions.

              Also, this is an edify script, so it only works with CWM 3.0+. Additionally, it requires busybox to be installed due to using the mount command.

              Tony

              unread,
              Jul 29, 2011, 11:51:50 AM7/29/11
              to Tasker
              0644 seems to work.

              Ah, thanks, Edify is the term I couldn't remember. I'm running 4.0.0.2
              CWM and when I try to manually install the help, I get

              -- Installing /sdcard/SecureSettingsHelp_update.zip
              Finding update package...
              Opening update package...
              E:Error in /sdcard/SecureSettingsHelp_update.zip
              (Status 0)
              Installation aborted.

              Noithing more was logged in /cache/recovery/log.
              --
              Tony

              Corey Z

              unread,
              Jul 29, 2011, 12:06:00 PM7/29/11
              to tas...@googlegroups.com
              Thanks, I thought I tried that before, but I'll give it another shot.

              As for the zip, did you rename the file? Because it should download as SecureSettingsHelper_update.zip.

              Other than that, I'm not sure. I can only assume it's something to do with the script.

              KouiK

              unread,
              Jul 29, 2011, 1:09:02 PM7/29/11
              to tas...@googlegroups.com
              Hi Corey.

              After installing the last Cyanogen Mod build (  # 71 ), some features of your plugins disappeared.
              This what i have now in the menu :
              Keyguard
              Lock Device
              Password/Pin
              Run Command
              Wake Device

              The adb tool is gone. Don't know if this can help you ^^

              Best regards.

              Corey Z

              unread,
              Jul 29, 2011, 1:15:09 PM7/29/11
              to tas...@googlegroups.com
              The upgrade script from CM will actually wipe the system partition and only restore certain applications afterwards.
              What you need to do is go back in to my app's settings and install the Helper app again. It will then restore the options that you previously had available.

              Hope this helps.

              KouiK

              unread,
              Jul 29, 2011, 5:14:27 PM7/29/11
              to tas...@googlegroups.com
              Ah yes lol ^^
              It was a bit stupid. I reinstalled the helper and it worked.

              Now there is my quick feedback on this plugin features. ( tested on CM7 Nithly #71 )
              - The new GPS feature : Apparently not working for me, except if missed something, but i don't think so. To test it, i created a Tasker Widget with the following task :
                  + Turn GPS on
                  + Turn Secure Settings GPS on
                  + Wait 30 seconds
                  + Open Popup saying :
                        GPS : %GPS
                        Localisation : %LOC
                        Cell Localisation : %LOCN
                       
                     Its returning me :
                        GPS : on
                        Localisation : %LOC
                        Cell Localisation : 1.1628637852648,4.87538758743

              - I tried the "input method" feature.
              This working correctly. I've made a profile on tasker, based on orientation. It works, but this not useable. I select Swype keyboard for horizontal mode ( phone on the left side, in tasker ), and GO Keyboard for others orientation. It could be usefull, but it doesnt really effictive, not your fault, but tasker fault. Orientation modes are too much rectrictives. I mean, when i write in horizontal mode, my phone is on the left side AND inclined at 45 degrees. The orientation mode in tasker don't provide us the ability to select an angle, ( a minumum and a maximum ). The result, when i write, keyboard bugs and constantly swicth between the two keyboard types ^^ lol.
              I tried an app, called Screebl Pro. It gives the feature to select some positions in which the phone can not get display off. I'll take a look at this to see if i can use this feature with the keyboards.

              If you know another interesting way to use the input method, let me know ;)


              I will see later if have time to test others features even if don't need them.

              Cya

              ciech...@gmail.com

              unread,
              Jul 29, 2011, 6:39:46 PM7/29/11
              to tas...@googlegroups.com
              hi
              for me GPS on and off works great :) thx man :)
              one more faeture will be really nice ... GPS toggle ... not only enable/disable

              ciech...@gmail.com

              unread,
              Jul 29, 2011, 6:44:37 PM7/29/11
              to tas...@googlegroups.com
              EDIT: ... i forgot that I can do toggle in tasker :) ... sry

              Corey Z

              unread,
              Aug 1, 2011, 1:19:15 PM8/1/11
              to tas...@googlegroups.com
              I realized there is some glitchy behavior when the device orientation changes. I'm working on a fix.

              konradwalsh

              unread,
              Aug 2, 2011, 7:35:23 AM8/2/11
              to Tasker
              You've really done a great job with this... I cant understand why Pent
              cant integrate root features into Tasker..

              Corey Z

              unread,
              Aug 2, 2011, 12:53:53 PM8/2/11
              to tas...@googlegroups.com
              Thank you for appreciating my work :D

              I think Pent has done a great job with Tasker, not to mention supporting it. I have seen the Tasker to-do list and it is monstrous. I figured that if I could offer something to help out in the meantime, it would potentially allow for Pent to focus on the more pressing matters for Tasker.

              konradwalsh

              unread,
              Aug 3, 2011, 7:23:32 AM8/3/11
              to Tasker
              sorry... I absolutely agree.. Pent is nothing short of a genius... and
              how he has time for all the support requests..
              anyway.. I am loving your app and look forward to its final release

              crachel

              unread,
              Aug 5, 2011, 6:33:21 PM8/5/11
              to Tasker
              Thanks, Corey Z.. plugin has worked beautifully, looking forward to
              Market release

              One minor request, if at all possible, remove the drawer icon or make
              it an option? this is a set it and forget type of plugin...

              Tony

              unread,
              Aug 6, 2011, 10:39:37 AM8/6/11
              to Tasker
              Please don't remove the app drawer icon! Periodically I'll start it up
              just to check for updates.
              --
              Tony

              Corey Z

              unread,
              Aug 6, 2011, 11:12:56 AM8/6/11
              to tas...@googlegroups.com
              Thank you for your input. However, I have more plans for what will be included in the main launcher activity going forward, so I will not be removing it.

              If you would like to hide launcher icons, I'd look into other 3rd party launchers like ADW and Launcher Pro. I'm pretty sure both of them have features to hide icons from your app drawer.


              -Corey

              BossMan

              unread,
              Aug 8, 2011, 4:16:05 PM8/8/11
              to tas...@googlegroups.com
              Hi Corey,

              I have installed your plugin and it works great. However, every evening I get an FC caused by it - for no apparent reason, as there are no Tasker profiles/tasks triggered around that time. Syslog always says the same, and it looks like this:

              08-03 20:47:10.852 D/SecureSettings.n(21790): Creating new Logger instance
              08-03 20:47:11.070 D/SecureSettings.WakeLockService(21790): Intent received
              08-03 20:47:11.102 D/AndroidRuntime(21790): Shutting down VM
              08-03 20:47:11.102 W/dalvikvm(21790): threadid=1: thread exiting with uncaught exception (group=0x400208b0)
              08-03 20:47:15.078 I/Process (21790): Sending signal. PID: 21790 SIG: 9

              08-04 21:31:47.830 D/SecureSettings.n(12861): Creating new Logger instance
              08-04 21:31:47.846 D/SecureSettings.WakeLockService(12861): Intent received
              08-04 21:31:47.846 D/AndroidRuntime(12861): Shutting down VM
              08-04 21:31:47.846 W/dalvikvm(12861): threadid=1: thread exiting with uncaught exception (group=0x400208b0)
              08-04 21:31:59.346 I/Process (12861): Sending signal. PID: 12861 SIG: 9  

              Let me know if I can help you more with debugging that issue.

              BR,
              A.

              Corey Z

              unread,
              Aug 8, 2011, 6:42:58 PM8/8/11
              to tas...@googlegroups.com
              Hi,

              I think I can solve the FC issue but that's not really the problem.
              The logging is telling me that the wakelock service isn't getting started by my app. It seems that something else is trying to start it manually without the required data supplied. 
              I would recommend removing the plugin (and helper if installed) and try reinstalling it again.

              Is there anything of note before these lines in the log? Also, do you have any other apps that run on schedules that might be running at that time of day?

              Thanks,
              Corey

              BossMan

              unread,
              Aug 9, 2011, 6:12:28 PM8/9/11
              to tas...@googlegroups.com
              Hi Corey,

              I tried uninstalling the app and it is not as simple as it seems ;) First, helper uninstall said it did not finish successfully - but after installing again, it uninstalled without errors. Then, the app itself - default package installer says "uninstall unsuccessful". I tried removing it with Titanium Backup, but the app was still visible in the drawer (though obviously crippled, as it FCed upon trying to open it). Installed it again, and tried uninstalling - again, no luck. So I left it as it is and after a minute or two - taadaam, two familiar FCs, in quick succession (30s to a minute maybe).

              Any hints? :)

              BR,
              A.

              Corey Z

              unread,
              Aug 9, 2011, 6:47:02 PM8/9/11
              to tas...@googlegroups.com
              Hi,

              I'm sorry you're still having issues with my plugin :/

              Uninstallation issue:
              You most likely can't uninstall the app because you probably enabled the "Device Administrator" feature. To disable that go to Settings > Location & Security > Select Device Administrators and then uncheck "Secure Settings."

              Force Close issue:
              I'm implementing a security feature for my next release that will require my plugin be the initiator of any services inside my app. If you are available to do a private test for me, please contact me at apps [at] intangibleobject dot com and I'll send you a test build.

              Thanks,
              Corey

              tomm...@gmail.com

              unread,
              Aug 12, 2011, 2:11:31 PM8/12/11
              to tas...@googlegroups.com
              i'm trying this with the aims of being able to control gps in tasker - and this worked a treat!

              thank you
              It is loading more messages.
              0 new messages