Dissecting Lollipop's Smart Lock

<TaskerData sr="" dvi="1" tv="4.6u1m"> <Profile sr="prof2" ve="2"> <cdate>1382753269564</cdate> <edate>1419806527815</edate> <id>2</id> <mid0>3</mid0> <mid1>4</mid1> <nme>Home</nme> <Loc sr="con0"> <cname>Home</cname> <lat>39.36648941040039</lat> <long>-77.23657989501953</long> <prv>2</prv> <rad>200.0</rad> </Loc> <State sr="con1" ve="2"> <code>165</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%BLUETOOTH</lhs> <op>1</op> <rhs>Car</rhs> </Condition> </ConditionList> </State> </Profile> <Task sr="task3"> <cdate>1382753281102</cdate> <edate>1419798602559</edate> <id>3</id> <nme>Home</nme> <pri>10</pri> <Action sr="act0" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%MYLOC</Str> <Str sr="arg1" ve="3">Home</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act1" ve="7"> <code>425</code> <Int sr="arg0" val="1"/> </Action> <Action sr="act2" ve="7"> <code>11820</code> <Bundle sr="arg0"> <Vals sr="val"> <com.intangibleobject.securesettings.plugin.extra.BLURB>Pattern Lock Disabled</com.intangibleobject.securesettings.plugin.extra.BLURB> <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type> <com.intangibleobject.securesettings.plugin.extra.ENABLED>false</com.intangibleobject.securesettings.plugin.extra.ENABLED> <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type> <com.intangibleobject.securesettings.plugin.extra.SETTING>lock_pattern_autolock</com.intangibleobject.securesettings.plugin.extra.SETTING> <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type> <com.twofortyfouram.locale.intent.extra.BLURB>Pattern Lock Disabled</com.twofortyfouram.locale.intent.extra.BLURB> <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type> <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled> <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type> </Vals> </Bundle> <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str> <Str sr="arg2" ve="3">Secure Settings</Str> <Int sr="arg3" val="0"/> </Action> <Action sr="act3" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%MYTIME</lhs> <op>2</op> <rhs>Day</rhs> </Condition> </ConditionList> </Action> <Action sr="act4" ve="7"> <code>305</code> <Int sr="arg0" val="0"/> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> </Action> <Action sr="act5" ve="7"> <code>304</code> <Int sr="arg0" val="15"/> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> </Action> </Task> <Task sr="task4"> <cdate>1382753352567</cdate> <edate>1419806527815</edate> <id>4</id> <nme>Leave Home</nme> <pri>10</pri> <Action sr="act0" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%MYLOC</Str> <Str sr="arg1" ve="3">Out</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act1" ve="7"> <code>305</code> <Int sr="arg0" val="7"/> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> </Action> <Action sr="act2" ve="7"> <code>304</code> <Int sr="arg0" val="7"/> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> </Action> <Action sr="act3" ve="7"> <code>425</code> <Int sr="arg0" val="0"/> </Action> <Action sr="act4" ve="7"> <code>130</code> <on>false</on> <Str sr="arg0" ve="3">Location Scanning</Str> <Int sr="arg1"> <var>%priority</var> </Int> <Str sr="arg2" ve="3"/> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="0"/> </Action> <Action sr="act5" ve="7"> <code>11820</code> <Bundle sr="arg0"> <Vals sr="val"> <com.intangibleobject.securesettings.plugin.extra.BLURB>Pattern Lock Enabled</com.intangibleobject.securesettings.plugin.extra.BLURB> <com.intangibleobject.securesettings.plugin.extra.BLURB-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.BLURB-type> <com.intangibleobject.securesettings.plugin.extra.ENABLED>true</com.intangibleobject.securesettings.plugin.extra.ENABLED> <com.intangibleobject.securesettings.plugin.extra.ENABLED-type>java.lang.Boolean</com.intangibleobject.securesettings.plugin.extra.ENABLED-type> <com.intangibleobject.securesettings.plugin.extra.SETTING>lock_pattern_autolock</com.intangibleobject.securesettings.plugin.extra.SETTING> <com.intangibleobject.securesettings.plugin.extra.SETTING-type>java.lang.String</com.intangibleobject.securesettings.plugin.extra.SETTING-type> <com.twofortyfouram.locale.intent.extra.BLURB>Pattern Lock Enabled</com.twofortyfouram.locale.intent.extra.BLURB> <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type> <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled> <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type> </Vals> </Bundle> <Str sr="arg1" ve="3">com.intangibleobject.securesettings.plugin</Str> <Str sr="arg2" ve="3">Secure Settings</Str> <Int sr="arg3" val="0"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%BLUETOOTH</lhs> <op>2</op> <rhs>None</rhs> </Condition> </ConditionList> </Action> </Task> </TaskerData>

/r/Android Thread Link - nelenkov.blogspot.no