Hi guys,
I can get and put (set) any of the available Android settings of my device using following Java Functions:
• Get. . .
Code:
A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:%temp Class Or Object:Secure Function:getString
{String} (ContentResolver, String) Param:temp Param:"android_id" Param: Param: Param: Param: Param: ]
or
A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:getString
{String} (ContentResolver, String) Param:temp Param:android_id Param: Param: Param: Param: Param: ]
• Set. . .
Code:
A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:%temp Class Or Object:Secure Function:putString
{boolean} (ContentResolver, String, String) Param:temp Param:"android_id" Param:x1x2x3x4x5 Param: Param: Param: Param: ]
or
A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:putString
{boolean} (ContentResolver, String, String) Param:temp Param:android_id Param:x1x2x3x4x5 Param: Param: Param: Param: ]
Previous actions are the same as using well-known root shell commands:
- Get: settings get setting_name value
- Set: settings put setting_name value
Now, the question: how to make previous Java Functions work for LineageOS specific settings?
As an example, settings for LOS can be get and set using following commands:
- Get: settings --cm get setting_name value
- Set: settings --cm put setting_name value
Thanks
Related
I have this setup and its working but not how I want.*
Code:
Save (66)
A1: List Files [ Dir:/data/data/com.android.providers.telephony/app_parts/ Match: Include Hidden Files:eek:n Use Root:eek:n Variable:%Pics ]
A2: Variable Set [ Name:%ContactName To:%SMSRN Do Maths:eek:ff Append:eek:ff ]
A3: For [ Variable:%Pics Items:%Pics() ]
A4: Copy File [ From:%Pics To:DCIM/Contact Pics/%SMSRN_%SMSRT.mp4 Use Root:eek:n ] If [ %Pics ~ *.mp4* & %SMSRT ~ %SMSRT ]
A5: Copy File [ From:%Pics To:DCIM/Contact Pics/%SMSRN_%SMSRT.jpg Use Root:eek:n ] If [ %Pics ~ *.jpg* & %SMSRT ~ %SMSRT ]
A6: Delete File [ File:%Pics Shred Level:0 Use Root:eek:n ]
A7: End For
What I have is not in this but when this runs it then deletes the file. Which in turns makes it so it's removed from message thread. How can I make this only copy new files and retain the old ones?
Sent from my Nexus 6P using Tapatalk
Save (66)
A1: List Files [ Dir:/data/data/com.android.providers.telephony/app_parts/ Match: Include Hidden Filesn Use Rootn Variable:%Pics ]
A2: Variable Set [ Name:%ContactName To:%SMSRN Do Mathsff Appendff ]
A3: Variable Set [ Name:%LastDate To:%FileDate Do Mathsff Appendff ]
A4: For [ Variable:%Pics Items:%Pics() ]
A5: Test File [ Type:Modified Data:%Pics Store Result In:%FileDate Use Rootn ]
A6: Copy File [ From:%Pics ToCIM/Contact Pics/%SMSRN_%SMSRT.mp4 Use Rootn ] If [ %Pics ~ *.mp4* & %FileDate > %LastDate ]
A7: Copy File [ From:%Pics ToCIM/Contact Pics/%SMSRN_%SMSRT.jpg Use Rootn ] If [ %Pics ~ *.jpg* & %FileDate > %LastDate ]
A8: End For
This seems to work I'd anyone else wants to use it
Sent from my Nexus 6P using Tapatalk
Hey so this code is good but not great. Anyone know how to write it better? Its really resource heavy.
Save (66)
A1: List Files [ Dir:/data/data/com.android.providers.telephony/app_parts/ Match: Include Hidden Filesn Use Rootn Variable:%Pics ]
A2: Variable Set [ Name:%ContactName To:%SMSRN Do Mathsff Appendff ]
A3: Variable Set [ Name:%LastDate To:%FileDate Do Mathsff Appendff ]
A4: For [ Variable:%Pics Items:%Pics() ]
A5: Test File [ Type:Modified Data:%Pics Store Result In:%FileDate Use Rootn ]
A6: Copy File [ From:%Pics ToCIM/Contact Pics/%SMSRN_%SMSRT.mp4 Use Rootn ] If [ %Pics ~ *.mp4* & %FileDate > %LastDate ]
A7: Copy File [ From:%Pics ToCIM/Contact Pics/%SMSRN_%SMSRT.jpg Use Rootn ] If [ %Pics ~ *.jpg* & %FileDate > %LastDate ]
A8: [X] Delete File [ File:%Pics Shred Level:0 Use Rootn ]
A9: End For
Sent from my Nexus 6P using Tapatalk
How can i get a wallpaper daily from walloid automatically using tasker???
Code:
Wallppr (154)
A1: List Files [ Dir:backgrnds Match: Include Hidden Files:eek:ff Use Root:eek:ff Variable:%files ]
A2: Variable Set [ Name:%max To:%files(#) Do Maths:eek:ff Append:eek:ff ]
A3: Variable Randomize [ Name:%index Min:1 Max:%max ]
A4: Variable Set [ Name:%Wallppr To:%files(%index) Do Maths:eek:ff Append:eek:ff ]
A5: Variable Split [ Name:%Wallppr Splitter:/ Delete Base:eek:ff ]
A6: Flash [ Text:%Wallppr5/%Wallppr6 Long:eek:n ]
A7: Set Wallpaper [ Image:%Wallppr5/%Wallppr6 Scale:eek:n Crop:eek:ff ]
Just for fun, here are a few others:
NoiseChng3 (373)
A1: If [ %GuestNet ~ True ]
A2: Variable Set [ Name:%RingDir To:rINGS_nOTIFS/work Do Maths:eek:ff Append:eek:ff ]
A3: Else
A4: Variable Set [ Name:%RingDir To:rINGS_nOTIFS/off Do Maths:eek:ff Append:eek:ff ]
A5: End If
A6: List Files [ Dir:%RingDir Match: Include Hidden Files:eek:n Use Root:eek:n Variable:%files ]
A7: Variable Set [ Name:%max To:%files(#) Do Maths:eek:ff Append:eek:ff ]
A8: Variable Randomize [ Name:%index Min:1 Max:%max ]
A9: Variable Set [ Name:%Index To:%index Do Maths:eek:n Append:eek:ff ]
A10: Variable Set [ Name:%Notif To:%files(%index) Do Maths:eek:ff Append:eek:ff ]
A11: Variable Split [ Name:%Notif Splitter:/ Delete Base:eek:ff ]
A12: Variable Split [ Name:%Notif7 Splitter:. Delete Base:eek:ff ]
A13: Flash [ Text:%Notif71 Long:eek:ff ]
A14: If [ %Noise ~ Phone ]
A15: Default Ringtone [ Type:Ringer Sound:%Notif71 ]
A16: Variable Set [ Name:%Ringername To:%Notif71 Do Maths:eek:ff Append:eek:ff ]
A17: Zooper Widget Pro Variable [ Configuration:#TRing# = %Ringername Timeout (Seconds):0 ]
A18: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A19: Perform Task [ Name:RingerQuery1 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:n ]
A20: Else
A21: Default Ringtone [ Type:Notification Sound:%Notif71 ]
A22: Variable Set [ Name:%Notifname To:%Notif71 Do Maths:eek:ff Append:eek:ff ]
A23: Zooper Widget Pro Variable [ Configuration:#TNotif# = %Notifname Timeout (Seconds):0 ]
A24: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A25: Perform Task [ Name:NotifQuery1 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:n ]
A26: End If
NotifQuery1 (375)
A1: If [ %Index eq %Index1 | %Index eq %Index2 | %Index eq %Index3 | %Index eq %Index4 | %Index eq %Index5 | %Notif71 ~ *unknown ringtone* ]
A2: Write File [ File:Notif.txt Text:Notif: %DATE %TIME
Dedupe: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
A3: Flash [ Text:Damn it! I'll try again... Long:eek:n ]
A4: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A5: Else
A6: Write File [ File:Notif.txt Text:Notif: %DATE %TIME: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
RingerQuery1 (376)
A1: If [ %Index eq %Index1 | %Index eq %Index2 | %Index eq %Index3 | %Index eq %Index4 | %Index ~ %Index5 | %Notif71 ~ *unknown ringtone" ]
A2: Write File [ File:Notif.txt Text:Phone: %DATE %TIME
Dedupe: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
A3: Flash [ Text:Damn it! I'll try again... Long:eek:n ]
A4: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A5: Else
A6: Write File [ File:Notif.txt Text:Phone: %DATE %TIME: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
---------- Post added at 01:10 PM ---------- Previous post was at 01:05 PM ----------
Code:
Cal (320)
A1: Perform Task [ Name:NotifLauncher Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A2: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Phone (318)
A1: Variable Set [ Name:%Noise To:Phone Do Maths:eek:ff Append:eek:ff ]
A2: Destroy Scene [ Name:%PopUp Continue Task After Error:eek:n ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Txt (319)
A1: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A2: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A3: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A7: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A8: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profiles:
Code:
Profile: Calengoo1 (199)
Event: AutoNotification Intercept [ Configuration:Event Behaviour: true
Notification Type: Only Created Notifications
Notification App: CalenGoo
Package Name: com.calengoo.android ]
Enter: Cal (320)
A1: Perform Task [ Name:NotifLauncher Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A2: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profile: FunNotifTxt (24)
Event: Received Text [ Type:Any Sender:* Content:* ]
Enter: Txt (319)
A1: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A2: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A3: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A7: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A8: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profile: PhoneCall (153)
State: Call [ Type:Incoming Number:* ]
Enter: Phone (318)
A1: Variable Set [ Name:%Noise To:Phone Do Maths:eek:ff Append:eek:ff ]
A2: Destroy Scene [ Name:%PopUp Continue Task After Error:eek:n ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
nijohnson said:
Code:
Wallppr (154)
A1: List Files [ Dir:backgrnds Match: Include Hidden Files:eek:ff Use Root:eek:ff Variable:%files ]
A2: Variable Set [ Name:%max To:%files(#) Do Maths:eek:ff Append:eek:ff ]
A3: Variable Randomize [ Name:%index Min:1 Max:%max ]
A4: Variable Set [ Name:%Wallppr To:%files(%index) Do Maths:eek:ff Append:eek:ff ]
A5: Variable Split [ Name:%Wallppr Splitter:/ Delete Base:eek:ff ]
A6: Flash [ Text:%Wallppr5/%Wallppr6 Long:eek:n ]
A7: Set Wallpaper [ Image:%Wallppr5/%Wallppr6 Scale:eek:n Crop:eek:ff ]
Just for fun, here are a few others:
NoiseChng3 (373)
A1: If [ %GuestNet ~ True ]
A2: Variable Set [ Name:%RingDir To:rINGS_nOTIFS/work Do Maths:eek:ff Append:eek:ff ]
A3: Else
A4: Variable Set [ Name:%RingDir To:rINGS_nOTIFS/off Do Maths:eek:ff Append:eek:ff ]
A5: End If
A6: List Files [ Dir:%RingDir Match: Include Hidden Files:eek:n Use Root:eek:n Variable:%files ]
A7: Variable Set [ Name:%max To:%files(#) Do Maths:eek:ff Append:eek:ff ]
A8: Variable Randomize [ Name:%index Min:1 Max:%max ]
A9: Variable Set [ Name:%Index To:%index Do Maths:eek:n Append:eek:ff ]
A10: Variable Set [ Name:%Notif To:%files(%index) Do Maths:eek:ff Append:eek:ff ]
A11: Variable Split [ Name:%Notif Splitter:/ Delete Base:eek:ff ]
A12: Variable Split [ Name:%Notif7 Splitter:. Delete Base:eek:ff ]
A13: Flash [ Text:%Notif71 Long:eek:ff ]
A14: If [ %Noise ~ Phone ]
A15: Default Ringtone [ Type:Ringer Sound:%Notif71 ]
A16: Variable Set [ Name:%Ringername To:%Notif71 Do Maths:eek:ff Append:eek:ff ]
A17: Zooper Widget Pro Variable [ Configuration:#TRing# = %Ringername Timeout (Seconds):0 ]
A18: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A19: Perform Task [ Name:RingerQuery1 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:n ]
A20: Else
A21: Default Ringtone [ Type:Notification Sound:%Notif71 ]
A22: Variable Set [ Name:%Notifname To:%Notif71 Do Maths:eek:ff Append:eek:ff ]
A23: Zooper Widget Pro Variable [ Configuration:#TNotif# = %Notifname Timeout (Seconds):0 ]
A24: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A25: Perform Task [ Name:NotifQuery1 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:n ]
A26: End If
NotifQuery1 (375)
A1: If [ %Index eq %Index1 | %Index eq %Index2 | %Index eq %Index3 | %Index eq %Index4 | %Index eq %Index5 | %Notif71 ~ *unknown ringtone* ]
A2: Write File [ File:Notif.txt Text:Notif: %DATE %TIME
Dedupe: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
A3: Flash [ Text:Damn it! I'll try again... Long:eek:n ]
A4: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A5: Else
A6: Write File [ File:Notif.txt Text:Notif: %DATE %TIME: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
RingerQuery1 (376)
A1: If [ %Index eq %Index1 | %Index eq %Index2 | %Index eq %Index3 | %Index eq %Index4 | %Index ~ %Index5 | %Notif71 ~ *unknown ringtone" ]
A2: Write File [ File:Notif.txt Text:Phone: %DATE %TIME
Dedupe: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
A3: Flash [ Text:Damn it! I'll try again... Long:eek:n ]
A4: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A5: Else
A6: Write File [ File:Notif.txt Text:Phone: %DATE %TIME: %Index
%Index1
%Index2
%Index3
%Index4
%Index5 Append:eek:n Add Newline:eek:n ]
---------- Post added at 01:10 PM ---------- Previous post was at 01:05 PM ----------
Code:
Cal (320)
A1: Perform Task [ Name:NotifLauncher Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A2: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Phone (318)
A1: Variable Set [ Name:%Noise To:Phone Do Maths:eek:ff Append:eek:ff ]
A2: Destroy Scene [ Name:%PopUp Continue Task After Error:eek:n ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Txt (319)
A1: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A2: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A3: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A7: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A8: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profiles:
Code:
Profile: Calengoo1 (199)
Event: AutoNotification Intercept [ Configuration:Event Behaviour: true
Notification Type: Only Created Notifications
Notification App: CalenGoo
Package Name: com.calengoo.android ]
Enter: Cal (320)
A1: Perform Task [ Name:NotifLauncher Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
A2: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profile: FunNotifTxt (24)
Event: Received Text [ Type:Any Sender:* Content:* ]
Enter: Txt (319)
A1: Variable Clear [ Name:%Noise Pattern Matching:eek:ff ]
A2: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A3: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A7: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A8: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Profile: PhoneCall (153)
State: Call [ Type:Incoming Number:* ]
Enter: Phone (318)
A1: Variable Set [ Name:%Noise To:Phone Do Maths:eek:ff Append:eek:ff ]
A2: Destroy Scene [ Name:%PopUp Continue Task After Error:eek:n ]
A3: Variable Set [ Name:%Index5 To:%Index4 Do Maths:eek:n Append:eek:ff ]
A4: Variable Set [ Name:%Index4 To:%Index3 Do Maths:eek:n Append:eek:ff ]
A5: Variable Set [ Name:%Index3 To:%Index2 Do Maths:eek:n Append:eek:ff ]
A6: Variable Set [ Name:%Index2 To:%Index1 Do Maths:eek:n Append:eek:ff ]
A7: Variable Set [ Name:%Index1 To:%Index Do Maths:eek:ff Append:eek:ff ]
A8: Flash [ Text:Right! Let's see what we come up with... Long:eek:ff ]
A9: Perform Task [ Name:NoiseChng3 Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
Click to expand...
Click to collapse
Thanks.... But can you explain it. I dont know anything about coding.
What should I do to get it working?
LOL! Sorry. So if you use Tasker, this is what it looks like when you export a task or profile to your clipboard as a description. You do this by long-tapping the task, and selecting "export" from the drop down menu.
I'll walk you through the Wallpaper switcher.
First, create a new task. Name it whatever you like
In that task, add an action with the + button. The action you're looking for is in the "List Files" in the "File" catagory
A1: List Files [ Dir:backgrnds Match: Include Hidden Files: Use Root: Variable:%files ]
Action: List files
Directory: (whereever your wall papers are stored. Mine are in a folder called" backgrnds")
Match: (skip)
Include Hidden Files: (skip)
Use Root: (Yes if you have root)
Variable: This is where you're going to save all the file names you list. enter :%files"
Next action: Variable Set - in the Vaiables catagory
A2: Variable Set [ Name:%max To:%files(#) Do Maths: Append: ]
Variable Name:"%max"
To: (This is what you want "%max" to be) %files(#) - which means the number of files
Do Maths: Yes, check this
Append: no. You want a new list each time
Next Action Variable Randomize
A3: Variable Randomize [ Name:%index Min:1 Max:%max ]
Name: (this is where you want to put the random number you're generating)
Min: 1
Max: %max
Next Action Variable Set
A4: Variable Set [ Name:%Wallppr To:%files(%index) Do Maths: Append: off ]
Name: %Wallppr
To: %files(%index) (This is the file name associated with your random number)
Do Maths: no
Append: no.
Next Action Variable Split (This chopps up a variable into manageable bits so the phone can read it)
A5: Variable Split [ Name:%Wallppr Splitter:/ Delete Base: off ]
Name: %Wallppr
Splitter: / (This is the character that tasker looks for. When it finds it, it chopps the variable into two parts - %Wallppr1 is to the left of the splitter and %Wallppr2 is to the right)
Next Action (optional)
A6: Flash [ Text:%Wallppr5/%Wallppr6 ]
Flash is found in the alerts catagory. Its just a way to check to see if everytthing is working. Flash just flashes whatever on the screen. In this case %Wallppr1 and %Wallppr2
Next Action:
A7: Set Wallpaper [ Image:%Wallppr5/%Wallppr6 Scale: Crop: ]
Pretty self expanitory. Found in Display catagory.
nijohnson said:
LOL! Sorry. So if you use Tasker, this is what it looks like when you export a task or profile to your clipboard as a description. You do this by long-tapping the task, and selecting "export" from the drop down menu.
I'll walk you through the Wallpaper switcher.
First, create a new task. Name it whatever you like
In that task, add an action with the + button. The action you're looking for is in the "List Files" in the "File" catagory
A1: List Files [ Dir:backgrnds Match: Include Hidden Files: Use Root: Variable:%files ]
Action: List files
Directory: (whereever your wall papers are stored. Mine are in a folder called" backgrnds")
Match: (skip)
Include Hidden Files: (skip)
Use Root: (Yes if you have root)
Variable: This is where you're going to save all the file names you list. enter :%files"
Next action: Variable Set - in the Vaiables catagory
A2: Variable Set [ Name:%max To:%files(#) Do Maths: Append: ]
Variable Name:"%max"
To: (This is what you want "%max" to be) %files(#) - which means the number of files
Do Maths: Yes, check this
Append: no. You want a new list each time
Next Action Variable Randomize
A3: Variable Randomize [ Name:%index Min:1 Max:%max ]
Name: (this is where you want to put the random number you're generating)
Min: 1
Max: %max
Next Action Variable Set
A4: Variable Set [ Name:%Wallppr To:%files(%index) Do Maths: Append: off ]
Name: %Wallppr
To: %files(%index) (This is the file name associated with your random number)
Do Maths: no
Append: no.
Next Action Variable Split (This chopps up a variable into manageable bits so the phone can read it)
A5: Variable Split [ Name:%Wallppr Splitter:/ Delete Base: off ]
Name: %Wallppr
Splitter: / (This is the character that tasker looks for. When it finds it, it chopps the variable into two parts - %Wallppr1 is to the left of the splitter and %Wallppr2 is to the right)
Next Action (optional)
A6: Flash [ Text:%Wallppr5/%Wallppr6 ]
Flash is found in the alerts catagory. Its just a way to check to see if everytthing is working. Flash just flashes whatever on the screen. In this case %Wallppr1 and %Wallppr2
Next Action:
A7: Set Wallpaper [ Image:%Wallppr5/%Wallppr6 Scale: Crop: ]
Pretty self expanitory. Found in Display catagory.
Click to expand...
Click to collapse
Thanks! I got it.
You're the best
Cool! Have fun!
How are you XDA members?!
I decided to share you my anti-theft little project I was working on. Maybe now is a bit smaller but hope that with time it'll become more complex and larger with possible contributions from you. And of course I'll look for make it better, and if it's possible to add new features.
How it works?
By now I just included 3 main profiles that can be used almost on all related tasks. I decided to do it just because you may have different requirements or likes than me, so. . . USE YOUR BRAIN AND IMAGINATION TO BUILD YOUR OWN ANTI-THEFT SYSTEM.
But don't worry, as time passes I will be adding customized profiles for every possible situation. --> You have now available custom presets!, scroll down to see them.
Main features
- Lock/Unlock device (disable touches, show a permanent message. . .)
- Lock/Unlock device by PIN (stablishes a second lockscreen = phone built-in, with customized password)
- Prevent unwanted apps installation
- Alert sounds and spoken TTS
- SIM verification + Auto-Send SMS
- Freeze/Unfreeze apps
- Lock specific tasks to be executed
- Lock apps with fully customized lockscreen and password
- Record ambient audio (hidden)
- Take Photo, Video, and Screenshot of display (hidden)
- Encrypt/Decrypt files
- Zip/Unzip files
- And more. . .
PROFILES (x4)
Code:
[COLOR="Blue"]Received SMS (lock)[/COLOR]
[U]Event[/U]: Received Text [ Type:SMS Sender:* Content:-phone-lock- ]
[COLOR="Blue"]Received SMS (unlock)[/COLOR]
[U]Event[/U]: Received Text [ Type:SMS Sender:* Content:-phone-unlock- ]
[COLOR="Blue"]StartUp Device[/COLOR]
[U]Event[/U]: Device Boot
[COLOR="Blue"]Launched Apps[/COLOR]
[U]Application[/U]: Adobe Acrobat or Firefox. . .
TASKS (x21)
Anti-Theft
Code:
[COLOR="Blue"]Capture (camera)[/COLOR]
[U]A1[/U]: Take Photo [ Camera:Rear Filename:TaskerCam_%DATE_%TIME Naming Sequence:None Insert In Gallery : Off Discreet : On Resolution:4160x3120 Scene Mode:Auto White Balance:Auto Flash Mode : Off Focus Mode:Infinity ]
[COLOR="Blue"]Capture (screen)[/COLOR]
[U]A1[/U]: AutoInput Screen Capture [ Configuration:Screenshot Path: /storage/emulated/0/AutoInput/screencapture.png Palette: false Get Average Color : false Timeout (Seconds):200 ]
[U]A2[/U]: Run Shell [ Command:/system/bin/screencap -p /sdcard/Download/screenshotname.png Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Lock Apps[/COLOR]
[U]A1[/U]: Variable Set [ Name:%AllowAppHide To:SECURITY CODE Do Maths : Off Append : Off ]
[U]A2[/U]: Show Scene [ Name:Apps Lock Display As : Overlay, Blocking, Full Window Horizontal Position:100 Vertical Position:100 Animation:Fade Show Exit Button : Off Continue Task Immediately : On ]
[U]A3[/U]: Wait Until [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] If [ %AllowApp = xxx ]
[U]A4[/U]: Destroy Scene [ Name:Apps Lock ]
[U]A5[/U]: Variable Clear [ Name:%AllowApp Pattern Matching : Off ]
[U]A6[/U]: Variable Clear [ Name:%AllowAppHide Pattern Matching : Off ]
[COLOR="Blue"]Lock Device[/COLOR]
[U]A1[/U]: AutoInput Modes [ Configuration:Gestures: Enable Timeout (Seconds):0 ]
[U]A2[/U]: Secure Settings [ Configuration:Screen & Keyboard Lights On 1 Second Timeout (Seconds):0 ]
[U]A3[/U]: Run Shell [ Command:settings put global policy_control immersive.status=* Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[U]A4[/U]: Show Scene [ Name:Lost Phone Display As : Overlay, Blocking, Full Window Horizontal Position:100 Vertical Position:100 Animation:None Show Exit Button : Off Continue Task Immediately : On ]
[COLOR="Blue"]Unlock Device[/COLOR]
[U]A1[/U]: Destroy Scene [ Name:Lost Phone ]
[U]A2[/U]: AutoInput Modes [ Configuration:Gestures: Disable Timeout (Seconds):0 ]
[U]A3[/U]: Run Shell [ Command:settings put global policy_control immersive.status=null Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Lock Device (PIN) [2° lockscreen][/COLOR]
[U]A1[/U]: Secure Settings [ Configuration:Clear Password Timeout (Seconds):0 ]
[COLOR="Blue"]Unlock Device (PIN) [2° lockscreen][/COLOR]
[U]A1[/U]: Secure Settings [ Configuration:Clear Password Timeout (Seconds):0 ]
[COLOR="Blue"]Lost Phone (warning)[/COLOR]
[U]A1[/U]: Notification Volume [ Level:0 Display : Off Sound : Off ]
[U]A2[/U]: Perform Task [ Name:Lock Device Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop : Off ]
[U]A3[/U]: Variable Set [ Name:%smsnum To:%SMSRF Do Maths : Off Append : Off ]
[U]A4[/U]: Variable Set [ Name:%volmultimedia To:%VOLM Do Maths : Off Append : Off ]
[U]A5[/U]: Media Volume [ Level:15 Display : Off Sound : Off ]
[U]A6[/U]: Music Play [ File:Tasker/Archivos/Movil Perdido/Sound1_6_beeps.mp3 Start:0 Loop : Off Stream:3 ]
[U]A7[/U]: Wait [ MS:500 Seconds:7 Minutes:0 Hours:0 Days:0 ]
[U]A8[/U]: Say [ Text:This device has been lost. If you are listening to this, please stand by with the phone in front of you. Once you have heard this message twice, the phone will automatically call its owner. Engine:Voice:com.ivona.tts:spa-ESP Stream:3 Pitch:5 Speed:5 Respect Audio Focus : On Network : Off Continue Task Immediately : Off ]
[U]A9[/U]: Music Play [ File:Tasker/Archivos/Movil Perdido/Sound1_3_beeps.mp3 Start:0 Loop : Off Stream:3 ]
[U]A10[/U]: Wait [ MS:500 Seconds:3 Minutes:0 Hours:0 Days:0 ]
[U]A11[/U]: Say [ Text:This device has been lost. If you are listening to this, please stand by with the phone in front of you. Once you have heard this message once, the phone will automatically call its owner. Engine:Voice:com.ivona.tts:spa-ESP Stream:3 Pitch:5 Speed:5 Respect Audio Focus : On Network : Off Continue Task Immediately : Off ]
[U]A12[/U]: Music Play [ File:Tasker/Archivos/Movil Perdido/Sound1_3_beeps.mp3 Start:0 Loop : Off Stream:3 ]
[U]A13[/U]: Wait [ MS:500 Seconds:3 Minutes:0 Hours:0 Days:0 ]
[U]A14[/U]: Say [ Text:This device has been lost. If you are listening to this, please stand by with the phone in front of you. Now pay attention to the following message. Engine:Voice:com.ivona.tts:spa-ESP Stream:3 Pitch:5 Speed:5 Respect Audio Focus : On Network : Off Continue Task Immediately : Off ]
[U]A15[/U]: Music Play [ File:Tasker/Archivos/Movil Perdido/Sound1_3_beeps.mp3 Start:0 Loop : Off Stream:3 ]
[U]A16[/U]: Wait [ MS:500 Seconds:3 Minutes:0 Hours:0 Days:0 ]
[U]A17[/U]: Say [ Text:Please, answer the call that will soon be made. No interaction is required from you with the device. Just hold the phone to your ear as soon as finishes this message. Engine:Voice:com.ivona.tts:spa-ESP Stream:3 Pitch:5 Speed:5 Respect Audio Focus : On Network : Off Continue Task Immediately : Off ]
[U]A18[/U]: Media Volume [ Level:%volmultimedia Display : Off Sound : Off ]
[U]A19[/U]: Call [ Number:%smsnum Auto Dial : On ]
[COLOR="Blue"]Record Audio[/COLOR
[U]A1[/U]: Easy Voice Recorder Pro [ Configuration:Record Timeout (Seconds):0 ]
[U]A2[/U]: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
[U]A3[/U]: Easy Voice Recorder Pro [ Configuration:Stop Timeout (Seconds):0 ]
[U]A4[/U]: Record Audio [ File:/xxx/TaskerAudio_%DATE_%TIME Source:Microphone Max Size:0 Codec:AAC Format:3GPP ]
[U]A5[/U]: Wait [ MS:0 Segunds:1 Minutes:0 Hours:0 Days:0 ]
[U]A6[/U]: Stop Record Audio
[COLOR="Blue"]SIM (check)[/COLOR]
[U]A1[/U]: Set Clipboard [ Text:%SIMNUM Add : Off ]
[U]A2[/U]: Flash [ Text:SIM S/N: '%SIMNUM' Long:eek:n ]
[COLOR="Blue"]SIM (validation)[/COLOR]
[U]A1[/U]: Variable Set [ Name:%sim To:xxx Do Maths : Off Append : Off ]
[U]A2[/U]: Variable Set [ Name:%recoverphone To:+xxx Do Maths : Off Append : Off ]
[U]A3[/U]: Secure Settings [ Configuration:Airplane Mode Disabled Timeout (Seconds):0 ] If [ %AIR ~ on ]
[U]A4[/U]: Wait [ MS:0 Seconds:30 Minutes:0 Hours:0 Days:0 ] If [ %AIR ~ on ]
[U]A5[/U]: Send SMS [ Number:%recoverphone Message:Changed SIM detected on 'xxx'
Phone: %PNUM
SIM: %SIMNUM
Operator: %TNET
Location: %LOC / %LOCN
Precission: %LOCACC / %LOCNACC
Battery: %BATT% Store In Messaging App : Off Continue Task After Error : On ] If [ %SIMNUM !~ sim ]
Extras
Code:
[COLOR="Blue"]Apps Installation (allow)[/COLOR]
[U]A1[/U]: Run Shell [ Command:mount -o rw,remount /system ; chmod 644 /system/app/PackageInstaller/PackageInstaller.apk; chmod 644 /system/priv-app/PackageInstaller/PackageInstaller.apk ; mount -o ro,remount /system Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Apps Installation (deny)[/COLOR]
[U]A1[/U]: Run Shell [ Command:mount -o rw,remount /system ; chmod 000 /system/app/PackageInstaller/PackageInstaller.apk; chmod 000 /system/priv-app/PackageInstaller/PackageInstaller.apk ; mount -o ro,remount /system Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Compress Files[/COLOR]
[U]A1[/U]: Run Shell [ Command:cd /xxx && tar -cf xxx.xxx "$$$" && gzip -x xxx.xxx && cd "###" && rm -r * .* ; cd /xxx && mv -f xxx.xxx.gz "€€€" Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: Continue Task After Error : On ]
[COLOR="Blue"]Connectivity (modes)[/COLOR]
[U]A1[/U]: Run Shell [ Command:svc wifi xxx Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A2[/U]: Run Shell [ Command:svc data xxx Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[U]A3[/U]: Run Shell [ Command:settings put secure location_providers_allowed xgps Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[U]A4[/U]: Run Shell [ Command:service call bluetooth_manager x Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[U]A5[/U]: Run Shell [ Command:service call nfc x Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A6[/U]: Run Shell [ Command:settings put global airplane_mode_on x; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state xxx Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Encrypt Files[/COLOR]
[U]A1[/U]: Variable Set [ Name:%filetoencrypt To:xxx Do Maths : Off Append : Off ]
[U]A2[/U]: Variable Set [ Name:%encryptedfile To:xxx Do Maths : Off Append : Off ]
[U]A3[/U]: Variable Set [ Name:%password To:xxx Do Maths : Off Append : Off ]
[U]A4[/U]: Java Function [ Return:fis Class Or Object:FileInputStream Function:new {FileInputStream} (String) Param:%filetoencrypt Param: Param: Param: Param: Param: Param: ]
[U]A5[/U]: Java Function [ Return:fos Class Or Object:FileOutputStream Function:new {FileOutputStream} (String) Param:%encryptedfile Param: Param: Param: Param: Param: Param: ]
[U]A6[/U]: Java Function [ Return:passbytes Class Or Object:(String) %password Function:getBytes {byte[]} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A7[/U]: Java Function [ Return:sks Class Or Object:SecretKeySpec Function:new {SecretKeySpec} (byte[], String) Param:passbytes Param:AES Param: Param: Param: Param: Param: ]
[U]A8[/U]: Java Function [ Return:cipher Class Or Object:Cipher Function:getInstance {Cipher} (String) Param:AES Param: Param: Param: Param: Param: Param: ]
[U]A9[/U]: Java Function [ Return: Class Or Object:cipher Function:init {} (int, Key) Param:1 Param:sks Param: Param: Param: Param: Param: ]
[U]A10[/U]: Java Function [ Return:cos Class Or Object:CipherOutputStream Function:new {CipherOutputStream} (OutputStream, Cipher) Param:fos Param:cipher Param: Param: Param: Param: Param: ]
[U]A11[/U]: Java Function [ Return:rb Class Or Object:byte[] Function:new {byte[]} (int) Param:4500 Param: Param: Param: Param: Param: Param: ]
[U]A12[/U]: Java Function [ Return:b Class Or Object:fis Function:read {int} (byte[]) Param:rb Param: Param: Param: Param: Param: Param: ]
[U]A13[/U]: Java Function [ Return: Class Or Object:cos Function:write {} (byte[], int, int) Param:rb Param:0 Param:b Param: Param: Param: Param: ] If [ b != -1 ]
[U]A14[/U]: Goto [ Type:Action Number Number:12 Label:ReadFile ] If [ b != -1 ]
[U]A15[/U]: Java Function [ Return: Class Or Object:cos Function:flush {} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A16[/U]: Java Function [ Return: Class Or Object:cos Function:close {} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A17[/U]: Java Function [ Return: Class Or Object:fis Function:close {} () Param: Param: Param: Param: Param: Param: Param: ]
[COLOR="Blue"]Decrypt Files[/COLOR]
[U]A1[/U]: Variable Set [ Name:%filetodecrypt To:xxx Do Maths : Off Append: Off ]
[U]A2[/U]: Variable Set [ Name:%decryptedfile To:xxx Do Maths : Off Append : Off ]
[U]A3[/U]: Variable Set [ Name:%password To:xxx Do Maths : Off Append : Off ]
[U]A4[/U]: Java Function [ Return:fis Class Or Object:FileInputStream Function:new {FileInputStream} (String) Param:%filetodecrypt Param: Param: Param: Param: Param: Param: ]
[U]A5[/U]: Java Function [ Return:fos Class Or Object:FileOutputStream Function:new {FileOutputStream} (String) Param:%decryptedfile Param: Param: Param: Param: Param: Param: ]
[U]A6[/U]: Java Function [ Return:passbytes Class Or Object:(String) %password Function:getBytes {byte[]} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A7[/U]: Java Function [ Return:sks Class Or Object:SecretKeySpec Function:new {SecretKeySpec} (byte[], String) Param:passbytes Param:AES Param: Param: Param: Param: Param: ]
[U]A8[/U]: Java Function [ Return:cipher Class Or Object:Cipher Function:getInstance {Cipher} (String) Param:AES Param: Param: Param: Param: Param: Param: ]
[U]A9[/U]: Java Function [ Return: Class Or Object:cipher Function:init {} (int, Key) Param:2 Param:sks Param: Param: Param: Param: Param: ]
[U]A10[/U]: Java Function [ Return:cis Class Or Object:CipherInputStream Function:new {CipherInputStream} (InputStream, Cipher) Param:fis Param:cipher Param: Param: Param: Param: Param: ]
[U]A11[/U]: Java Function [ Return:rb Class Or Object:byte[] Function:new {byte[]} (int) Param:4500 Param: Param: Param: Param: Param: Param: ]
[U]A12[/U]: Java Function [ Return:b Class Or Object:cis Function:read {int} (byte[]) Param:rb Param: Param: Param: Param: Param: Param: ]
[U]A13[/U]: Java Function [ Return: Class Or Object:fos Function:write {} (byte[], int, int) Param:rb Param:0 Param:b Param: Param: Param: Param: ] If [ b != -1 ]
[U]A14[/U]: Goto [ Type:Action Number Number:12 Label:ReadFile ] If [ b != -1 ]
[U]A15[/U]: Java Function [ Return: Class Or Object:fos Function:flush {} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A16[/U]: Java Function [ Return: Class Or Object:fos Function:close {} () Param: Param: Param: Param: Param: Param: Param: ]
[U]A17[/U]: Java Function [ Return: Class Or Object:cis Function:close {} () Param: Param: Param: Param: Param: Param: Param: ]
[COLOR="Blue"]Freeze Apps[/COLOR]
[U]A1[/U]: Run Shell [ Command:pm disable xxx Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Unfreeze Apps[/COLOR]
[U]A1[/U]: Run Shell [ Command:pm enable xxx Timeout (Seconds):0 Use Root : On Store Output In: Store Errors In: Store Result In: ]
[COLOR="Blue"]Lock Tasks[/COLOR]
[U]A1[/U]: Variable Clear [ Name:%AllowTask Pattern Matching : Off ]
[COLOR="Blue"]Power Menu (modes)[/COLOR]
[U]A1[/U]: Run Shell [ Command:svc power reboot Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A2[/U]: Run Shell [ Command:svc power reboot recovery Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A3[/U]: Run Shell [ Command:svc power reboot fastboot Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A4[/U]: Run Shell [ Command:svc power shutdown Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
[U]A5[/U]: Run Shell [ Command:svc power stayon Timeout (Seconds):0 Use Root : Off Store Output In: Store Errors In: Store Result In: ]
SCENES (x3)
Code:
[B]Apps Lock[/B]
-----------------------------------------------
[COLOR="Blue"]Number 0 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:0 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 1 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:1 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 2 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:2 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 3 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:3 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 4 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:4 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 5 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:5 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 6 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:6 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 7 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:7 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 8 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:8 Do Maths : Off Append : On ]
[COLOR="Blue"]Number 9 Button[/COLOR]
[U]A1[/U]: Variable Search Replace [ Variable:%AllowAppHide Search:SECURITY CODE Ignore Case : Off Multi-Line : Off One Match Only : Off Store Matches In: Replace Matches : On Replace With: ]
[U]A2[/U]: Variable Set [ Name:%AllowAppHide To:X Do Maths : Off Append : On ]
[U]A3[/U]: Variable Set [ Name:%AllowApp To:9 Do Maths : Off Append : On ]
[COLOR="Blue"]Back Button[/COLOR]
[U]A1[/U]: Variable Set [ Name:%AllowAppHide To:SECURITY CODE Do Maths : Off Append : Off ]
[U]A2[/U]: Variable Clear [ Name:%AllowApp Pattern Matching : Off ]
[COLOR="Blue"]Close Button[/COLOR]
[U]A1[/U]: Destroy Scene [ Name:Apps Lock ]
[U]A2[/U]: Go Home [ Page:0 ]
[U]A3[/U]: Variable Clear [ Name:%AllowAppHide Pattern Matching : Off ]
[U]A4[/U]: Variable Clear [ Name:%AllowApp Pattern Matching : Off ]
[B]Lost Phone[/B]
-----------------------------------------------
No Actions are performed, just displayed info.
[B]Power Menu[/B]
-----------------------------------------------
[COLOR="Blue"]Shutdown Button[/COLOR]
[U]A1[/U]: Secure Settings [ Configuration:Shutdown Timeout (Seconds):0 ]
[U]A2[/U]: Destroy Scene [ Name:Power Menu ]
[COLOR="Blue"]Reboot Button[/COLOR]
[U]A1[/U]: Secure Settings [ Configuration:Reboot Timeout (Seconds):0 ]
A2: Destroy Scene [ Name:Power Menu ]
[COLOR="Blue"]Airplane Button[/COLOR]
[U]A1[/U]: Secure Settings [ Configuration:Airplane Mode Enabled Timeout (Seconds):0 ]
[U]A2[/U]: Destroy Scene [ Name:Power Menu ]
[COLOR="Blue"]Cancel Button[/COLOR]
[U]A1[/U]: Destroy Scene [ Name:Power Menu ]
SCREENSHOTS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
*CUSTOM PRESETS* (x1)
Preset 1
· Auto-enable of GPS (remotly)
· Auto-enable of DATA (remotly)
· Auto-playing warning sounds (remotly) [normal and protected method]
· Auto-enable of do not disturb mode (remotly)
* Thanks to 'ziko900'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ABOUT THE PROJECT
· There are available two ways by you can import the project (profiles, tasks, scenes). One is by just importing it using the file on "projects" folder, it will import the whole project at once; the other, by importing it "part-by-part". The 'Files' folder (if included) have to be ALWAYS copied to Tasker directory.
· All scenes are adjusted to work on 1280x720 device (LG K10). You'll have to resize them to fit it on yours. Tested on Android 5.1.1 (Rooted Stock ROM). Other tasks and functionalities have been tested on Android 7.1 too.
· For extra features will be necessary to install these apps/plug-ins too: AutoInput, Easy Voice Recorder (Pro), Secure Settings, Smart LockScreen Protector, Volume Lock Control.
· The Power Menu scene I provide on project resources is just an example to build your own custom power menu dialog to replace the original build-in one. For this you will need some graphic editor (Photoshop, GIMP. . .) to personalize the screen as you want like adding or deleting desired text, icons, features does not oficially exists, etc.
· To be able to prevent (or lock) the appearance of power menu dialog will be required to install 'Smart LockScreen Protector' on the device. That will deny the theft to restart or shutdown the device, but it only works if we have the build-in (original) lockscreen enabled. You can enable it by using 'Lock Device (PIN) [2° lockscreen]" task provided on my project.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
My Tasker PROJECTS & TASKS
--> [PROJECT] Automate all your backup tasks
--> [PROJECT] Android TTS Asistentant (interactive & multilingal)
--> [PROJECT] Call Recorder
--> [PROJECT] High temperature warning device
--> [TASK] Auto-Switch Keyboard(s)
--> [TASK] Talking Clock
Tasker Chat Groups
--> Tasker on WhatsApp
--> Tasker on Telegram
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
If you liked the project. . .
. . . and you decide to invite me to a coffee, I would be very greatful to you ;P
Account: [email protected]
i am rooted. How do I make the flash mode unusable??
What do mean with 'flash mode'? Maybe with Camera photos action?
If yes, just select 'Flash Mode' to "Off", and it won't shut with the light.
NEW VERSION --> Anti-Theft System v1.1
Changelog
- Added two new tasks to allow or deny unwanted apps installation (via adb still vulnerable)
Nice work
CrashOverride93 said:
What do mean with 'flash mode'? Maybe with Camera photos action?
If yes, just select 'Flash Mode' to "Off", and it won't shut with the light.
Click to expand...
Click to collapse
I meant the reset mode. (if phone is off hold down POWER+minus/plus)
This way I can flash a file to the system, but even delete/format it.
dwa4321 said:
I meant the reset mode. (if phone is off hold down POWER+minus/plus)
This way I can flash a file to the system, but even delete/format it.
Click to expand...
Click to collapse
Oh sorry, I understood another thing.
Well, on the one hand its possible to disable + and - volume buttons by remapping them, but I decided not to add it because once you shutdown phone the remapped actions won't take effect. So it'll useless by now, sorry.
Note: But I'm looking for another way (more risky but probable effective).
NEW VERSION --> Anti-Theft System v1.2
Changelog
- Added compatibility to more devices for 'Apps Installation (allow)' and 'Apps Installation (deny)' tasks
- Voice recorder plugin disabled by default, and added Tasker build-in method to 'Record Audio' task
------------------------------------------
NEW VERSION --> Anti-Theft Presets v1.0
Main Features
- Auto-enable of GPS (remotly)
- Auto-enable of DATA (remotly)
- Auto-playing warning sounds (remotly) [normal and protected method]
- Auto-enable of do not disturb mode (remotly)
Now you have available custom profiles & tasks on this thread. Choose the configuration most suitable to you.
All new custom presets will be published in 'Anti-Theft Presets' attached file.
Now you can import projects/tasks with just one step: read the section 'ABOUT THE PROJECT'.
Is there any preset for the anti theft lockscreen?
This is increadible much respect for your work!
In the preset1 there is only a sound etc but not the anti theft lock
wait wait what are we up to... make flashing the new room impossible and at least i will be dead sure my mobile is not being used by unauthorized person.
Sorry for all but I decided to stop working on it for security reasons
Hi guys, I'm looking for download a file from a specific folder I have created inside app one. (Dropbox > App_Name > Private > file.x)
I tested the following task to upload files using my own token, and it works perfectly.
https://www.reddit.com/r/tasker/comments/3abjvv/how_to_upload_a_file_to_dropbox_in_the_background/
But, how have it to be modified to allow getting back that uploaded file?
Thanks
The information necessary to do a "get file" rather than the "put file" is contained in the link - different Dropbox Tasks - near the start of that Reddit post. A8 would get adjusted using that information. A2-A7 would be adjusted to define the file you want to retrieve.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
The case is that following actions (A9, A14...) fails, because the task is adapted to upload files from phone. So I think just editing A2-A8 is not enough.
CrashOverride93 said:
The case is that following actions (A9, A14...) fails, because the task is adapted to upload files from phone. So I think just editing A2-A8 is not enough.
Click to expand...
Click to collapse
Editing the task is enough. I'm just not going to do it for you.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
Thank you @ktmom.
I have to say that I already tried doing that, but failed. (just to tell you that I didn't ask about that without trying nothing)
Then post the description of the modified task.
Long press the task name then from the 3-dot menu, choose: export > description to clipboard.
If you put a space between semicolons ( : ) and the words "off" or "on", it will prevent the forum from conveying those to emoticons.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers
Ok...
Code:
FMCS - Dropbox (download) (315)
A1: Variable Set [ Name:%accesstoken To:ACCESS_TOKEN Recurse Variables : Off Do Maths : Off Append : Off ]
A2: [X] Test File [ Type:Parent Dir Data:Download/fmc_database.db Store Result In:%dir Use Root : Off ]
A3: [X] Test File [ Type:Name Data:Download/fmc_database.db Store Result In:%name Use Root : Off ]
A4: Variable Set [ Name:%path To:Private/fmc_database.db Recurse Variables : Off Do Maths : Off Append : Off ]
A5: Java Function [ Return:file Class Or Object:File Function:new
{File} (String) Param:%path Param: Param: Param: Param: Param: Param: ]
A6: Java Function [ Return:%exists Class Or Object:file Function:exists
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
A7: [X] Stop [ With Error : Off Task: ] If [ %exists ~ false ]
A8: Variable Set [ Name:%url To:https://content.dropboxapi.com/2/files/download Recurse Variables : Off Do Maths : Off Append : Off ]
A9: Java Function [ Return:fis Class Or Object:FileInputStream Function:new
{FileInputStream} (File) Param:file Param: Param: Param: Param: Param: Param: ]
A10: Java Function [ Return:httppost Class Or Object:HttpPost Function:new
{HttpPost} (String) Param:%url Param: Param: Param: Param: Param: Param: ]
A11: Java Function [ Return: Class Or Object:httppost Function:setHeader
{} (String, String) Param:Authorization Param:Bearer %accesstoken Param: Param: Param: Param: Param: ]
A12: Variable Set [ Name:%dropboxpath To:Private Recurse Variables : Off Do Maths : Off Append : Off ]
A13: Java Function [ Return: Class Or Object:httppost Function:setHeader
{} (String, String) Param:Dropbox-API-Arg Param:{"path": "/%dropboxpath/%name","mode":"overwrite"} Param: Param: Param: Param: Param: ]
A14: Java Function [ Return:reqentity Class Or Object:InputStreamEntity Function:new
{InputStreamEntity} (InputStream, long) Param:fis Param:-1 Param: Param: Param: Param: Param: ]
A15: Java Function [ Return: Class Or Object:reqentity Function:setContentType
{} (String) Param:application/octet-stream Param: Param: Param: Param: Param: Param: ]
A16: Java Function [ Return: Class Or Object:httppost Function:setEntity
{} (HttpEntity) Param:reqentity Param: Param: Param: Param: Param: Param: ]
A17: Java Function [ Return:httpclient Class Or Object:DefaultHttpClient Function:new
{DefaultHttpClient} () Param: Param: Param: Param: Param: Param: Param: ]
A18: Java Function [ Return:response Class Or Object:httpclient Function:execute
{HttpResponse} (HttpUriRequest) Param:httppost Param: Param: Param: Param: Param: Param: ]
A19: Java Function [ Return:respentity Class Or Object:response Function:getEntity
{HttpEntity} () Param: Param: Param: Param: Param: Param: Param: ]
A20: Java Function [ Return:%response Class Or Object:EntityUtils Function:toString
{String} (HttpEntity) Param:respentity Param: Param: Param: Param: Param: Param: ]
A21: Flash [ Text:%response Long : On ]
No ideas @ktmom, right?
Hi everyone I'm trying to make a task which will delete a folder in /system/app/ folder but Tasker always gives me error 1 when I try to perform action. I already tried to mount /system rw with Tasker remount action but didn't helped. Also Tasker's file explorer seems like can't see root folders so I have to write path manually so I think it's may be Tasker related problem and I give every permission Tasker asks for solve this but not worked. It's already have root, modify system, usage access permissions.
Running Android 8.1 LOS 15.1
Here is the error log;
Code:
08.30.27/FileUtil nrda: need request: /system/app/BasicDreams: false
08.30.27/E checkSDPath: /system/app/BasicDreams useRoot: true there: true file: false dir: true
08.30.27/E Delete Directory: checkSDPath: /system/app/BasicDreams useDocFile: false
08.30.27/Shell runSync test -e '/system/app/BasicDreams' root: true timeout: 3000
08.30.27/Shell have process
08.30.27/Shell write cmd: test -e '/system/app/BasicDreams'
08.30.27/Shell start process timeout timer 3000ms for: test -e '/system/app/BasicDreams'
08.30.27/Shell start process-thread ID 559
08.30.27/Shell joined with 559
08.30.27/Shell exit result: 0
08.30.27/Shell non-null timeout
08.30.27/Shell runSync test -f '/system/app/BasicDreams' root: true timeout: 3000
08.30.27/Shell have process
08.30.27/Shell write cmd: test -f '/system/app/BasicDreams'
08.30.27/Shell start process timeout timer 3000ms for: test -f '/system/app/BasicDreams'
08.30.27/Shell start process-thread ID 561
08.30.27/Shell joined with 561
08.30.27/Shell exit result: 1
08.30.27/Shell non-null timeout
08.30.27/Shell runSync test -d '/system/app/BasicDreams' root: true timeout: 3000
08.30.27/Shell have process
08.30.27/Shell write cmd: test -d '/system/app/BasicDreams'
08.30.27/Shell start process timeout timer 3000ms for: test -d '/system/app/BasicDreams'
08.30.27/Shell start process-thread ID 563
08.30.27/Shell joined with 563
08.30.27/Shell exit result: 0
08.30.27/Shell non-null timeout
08.30.27/E Delete Directory: checkSDPath: /system/app/BasicDreams ok true
08.30.27/Shell runSync rm -r -f '/system/app/BasicDreams' root: true timeout: 7000
08.30.27/Shell have process
08.30.27/Shell write cmd: rm -r -f '/system/app/BasicDreams'
08.30.27/Shell start process timeout timer 7000ms for: rm -r -f '/system/app/BasicDreams'
08.30.27/Shell start process-thread ID 565
08.30.27/Shell joined with 565
08.30.27/Shell exit result: 1
08.30.27/Shell non-null timeout
08.30.27/E One or more failures deleting /system/app/BasicDreams.
08.30.27/E result: stop task (error)
08.30.27/E Error: 1
08.30.27/MacroEdit action finished exeID 1 action no 5 code 408 status: Err next 5
Could you export and post the description (not XML) of the task foot this please.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
ktmom said:
Could you export and post the description (not XML) of the task foot this please.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
Click to expand...
Click to collapse
Code:
Do Stuff (52)
A1: Flash [ Text:Mounting /system rewritable... Long:eek:ff ]
A2: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A3: Remount [ Path:/system Writeable:eek:n ]
A4: Flash [ Text:Deleting files and directories... Long:eek:n ]
A5: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A6: Delete Directory [ Dir:/system/app/BasicDreams Recurse:eek:n Use Root:eek:n ] [I]ERROR HAPPENS AT THIS ACTION[/I]
A7: Delete Directory [ Dir:/system/app/Calendar Recurse:eek:n Use Root:eek:n ]
A8: Delete Directory [ Dir:/system/app/Email Recurse:eek:n Use Root:eek:n ]
A9: Delete Directory [ Dir:/system/app/Jelly Recurse:eek:n Use Root:eek:n ]
A10: Delete Directory [ Dir:/system/app/LatinIME Recurse:eek:n Use Root:eek:n ]
A11: Delete Directory [ Dir:/system/app/messaging Recurse:eek:n Use Root:eek:n ]
A12: Delete Directory [ Dir:/system/app/PhotoTable Recurse:eek:n Use Root:eek:n ]
A13: Delete Directory [ Dir:/system/app/webview Recurse:eek:n Use Root:eek:n ]
A14: Delete Directory [ Dir:/system/priv-app/AudioFX Recurse:eek:n Use Root:eek:n ]
A15: Delete Directory [ Dir:/system/priv-app/Contacts Recurse:eek:n Use Root:eek:n ]
A16: Delete File [ File:/system/priv-app/Dialer/Dialer.apk Shred Level:0 Use Root:eek:n ]
A17: Delete Directory [ Dir:/system/priv-app/Eleven Recurse:eek:n Use Root:eek:n ]
A18: Delete Directory [ Dir:/system/priv-app/Gallery2 Recurse:eek:n Use Root:eek:n ]
A19: Delete Directory [ Dir:/system/priv-app/Snap Recurse:eek:n Use Root:eek:n ]
A20: Delete Directory [ Dir:/system/priv-app/Trebuchet Recurse:eek:n Use Root:eek:n ]
A21: Flash [ Text:Copying files... Long:eek:n ]
A22: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A23: Copy File [ From:Chandler Muriel Bing/Portbag/Google Phone v23.0.apk To:/system/priv-app/Dialer/Dialer.apk Use Root:eek:n ]
A24: Copy File [ From:Chandler Muriel Bing/Portbag/MIUI 9.5 Ringtones/Mi.ogg To:/system/media/audio/ringtones/ Use Root:eek:n ]
A25: Copy File [ From:Chandler Muriel Bing/Portbag/MIUI 9.5 Ringtones/Mi.ogg To:/system/media/audio/alarms/ Use Root:eek:n ]
A26: Copy File [ From:Chandler Muriel Bing/Portbag/MIUI 9.5 Ringtones/Fresh.ogg To:/system/media/audio/notifications/ Use Root:eek:n ]
A27: Copy File [ From:Chandler Muriel Bing/myDevice/LOS/bootanimation.zip To:/system/media/ Use Root:eek:n ]
A28: Flash [ Text:Setting permissions... Long:eek:n ]
A29: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A30: Run Shell [ Command:chmod 644 /system/priv-app/Dialer/Dialer.apk Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
A31: Run Shell [ Command:chmod 644 /system/media/alarms/Mi.ogg Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
A32: Run Shell [ Command:chmod 644 /system/media/ringtones/Mi.ogg Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
A33: Run Shell [ Command:chmod 644 /system/media/notifications/Fresh.ogg Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
A34: Run Shell [ Command:chmod 644 /system/media/bootanimation.zip Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
A35: Flash [ Text:Mounting /system read-only... Long:eek:n ]
A36: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A37: Remount [ Path:/system Writeable:eek:ff ]
A38: Flash [ Text:Rebooting... Long:eek:n ]
A39: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A40: Run Shell [ Command:reboot Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
OK, I can run that exactly as written without trouble on my device (not running on LOS).
What root are you using? LOS superuser or Magisk?
I don't think it's an SELinux enforcing issue because I am enforcing and it works. But, you could try setting SELinux to permissive just to test. Run a shell action as root "setenforce 0" for permissive and "setenforce 1" for enforcing. If you want to flash which mode you are in, use a shell action: "getenforce" as root and make sure to assign a variable to the "store output in" field. Then flash that variable. It will return enforcing or permissive.
My last thought is to try the command in a terminal and see if there is any enlightenment as a result.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
ktmom said:
OK, I can run that exactly as written without trouble on my device (not running on LOS).
What root are you using? LOS superuser or Magisk?
I don't think it's an SELinux enforcing issue because I am enforcing and it works. But, you could try setting SELinux to permissive just to test. Run a shell action as root "setenforce 0" for permissive and "setenforce 1" for enforcing. If you want to flash which mode you are in, use a shell action: "getenforce" as root and make sure to assign a variable to the "store output in" field. Then flash that variable. It will return enforcing or permissive.
My last thought is to try the command in a terminal and see if there is any enlightenment as a result.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
Click to expand...
Click to collapse
I'm using Magisk v17.1 and I don't think this issue is root related, but I'm gonna try SELinux mode and post result here thanks!
SELinux didn't worked... But I assume I found issue issue is Tasker can't mount system rw, for test it I used terminal and type command; "mount -o rw,remount /system" command worked without error then write that command; "rm /system/app/BasicDreams/BasicDreams.apk" terminal asks yes or no typed y and gived error read-only system...
I'm not familiar with LOS, but it's possible the boot.img (kernel) doesn't permit remount. Maybe someone in your rom thread could help.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
ktmom said:
I'm not familiar with LOS, but it's possible the boot.img (kernel) doesn't permit remount. Maybe someone in your rom thread could help.
"find somebody that you think is undeserving of your compassion and give it to them" - Christian Picciolini
Click to expand...
Click to collapse
Actually I think I solved this, there is a system mirror folder in /sbin/.core/mirror/ which contains exact same files on /system/ so I tried to create a file there and it's created on /system/ too and deleted it guess what? IT'S DELETED ON /system/ TOO so I changed every action on Tasker to /sbin/. core/mirror/system/... and worked! So like you said before it's related with Magisk's systemless specification. Thanks again ?
Now Tasker can't change /sbin folder too ?