HowTo: Encryption of files or folders in Tasker with Termux gpg

248 views
Skip to first unread message

francwalter

unread,
Apr 23, 2024, 9:07:41 AM4/23/24
to Tasker
Hallo
Since a while and in vain I tried to find a plugin to encrypt/decrypt files and folders in Tasker's Google Play version, see: Encryption in Tasker - Plugin available? (Google Groups).

The direct purchase version has this feature included, but with kind of proprietary encryption and also other disadvantages (sometimes license issues etc). 
Encryption could be done with the Java Function Action, see: Encrypting and Decrypting a File with Tasker (Google Groups), but this is mostly undocumented, maybe too difficult.

But there is Termux (an Android terminal emulator and Linux environment), its OpenSource, from Github, with the Termux Tasker plugin, which can do a lot of things, also symetrical encrytption with e.g. gnupg (pkg install gnupg). This post helped me here:

Termux Tasker works great, I use it already since a while for other things, so lastly I created two tasks to encrypt and decrypt files or folders in the file system with the help of Termux Tasker and gpg (package: gnupg).

First install Termux, better get the apk from Github (this is the arm64-v8a.apk, maybe you need another version for your architecture of phone) than from F-Droid.
Then install the Termux Tasker Plugin (also from Github).
In Termux, install gnupg:

pkg install gnupg

Now import the two attached Tasks. And use them with Action "Perform Task".
The par1 is the path of the file or folder and the par2 is the password.
If par1 is a folder, in EnCryption Task all plain files will be encrypted and in DeCryption all encrytped files in it will be decrypted with the given password (if it matches).

There are some tests for errors, but I am sure there could be much more, so please give me feed-back if someone sees some bugs or glitches (thanks!).
E.g. if there is a password mismatch on decryption, this error is not especially handled, there is only a default error message (containing "...decryption failed: Bad session key").

If any questions, please ask.

In the next two posts, I will put the "Export XML to Clipboard"  for the two tasks (EnCryption, DeCryption).

Thanks.frank

EnCryption.tsk.xml
DeCryption.tsk.xml

francwalter

unread,
Apr 23, 2024, 9:11:22 AM4/23/24
to Tasker
<TaskerData sr="" dvi="1" tv="6.3.6-beta"> <Task sr="task1163"> <cdate>1689751147090</cdate> <edate>1713877036581</edate> <id>1163</id> <nme>EnCryption</nme> <pri>100</pri> <Action sr="act0" ve="7"> <code>300</code> <label>Info: par1: path of folder or file, e.g.: /storage/emulated/0/DCIM or (file): /storage/emulated/0/DCIM/Tasker/2022-08-21_14.39.52.jpg par2: password, a string, e.g.: 12345</label> <on>false</on> </Action> <Action sr="act1" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par1</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act10" ve="7"> <code>548</code> <Str sr="arg0" ve="3">Termux and/or the Tasker Plugin are not installed! The task cannot run without them. termux-app and termux-tasker can be downloaded from: https://github.com/termux (or Search for: termux github). This link will be copied to the clipboard. The Task will stop now, tap to close...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Termux or Termux Tasker Plugin missing!</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act11" ve="7"> <code>105</code> <Str sr="arg0" ve="3">https://github.com/termux</Str> <Int sr="arg1" val="0" /> <Str sr="arg2" ve="3" /> <Int sr="arg3" val="0" /> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%Termux_Missing</lhs> <op>1</op> <rhs>1</rhs> </Condition> </ConditionList> </Action> <Action sr="act12" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act13" ve="7"> <code>38</code> </Action> <Action sr="act14" ve="7"> <code>547</code> <label>gpg path</label> <Str sr="arg0" ve="3">%gpg</Str> <Str sr="arg1" ve="3">/data/data/com.termux/files/usr/bin/gpg</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act15" ve="7"> <code>547</code> <label>bash path</label> <Str sr="arg0" ve="3">%bash</Str> <Str sr="arg1" ve="3">/data/data/com.termux/files/usr/bin/bash</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act16" ve="7"> <code>1256900802</code> <label>check if gpg exists...</label> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments>-f %file</com.termux.execute.arguments> <com.termux.execute.arguments-type> java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> 3</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE> /data/data/com.termux/files/usr/bin/test</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type> java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION> &lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type> java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN></com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type> java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL> false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type> java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE> 6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type> java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT> true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type> java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR> /data/data/com.termux/files/usr/bin/</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type> java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB> /data/data/com.termux/files/usr/bin/test -f %file Working Directory ✓ Stdin ✕ Custom Log Level 3 Terminal Session ✕ Wai</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> [Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type> java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3"> <var>1</var> </Int> <Int sr="arg4" val="1" /> </Action> <Action sr="act17" ve="7"> <code>37</code> <label>gnupg not installed</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%result</lhs> <op>1</op> <rhs>0</rhs> </Condition> </ConditionList> </Action> <Action sr="act18" ve="7"> <code>548</code> <Str sr="arg0" ve="3">gpg not installed (gnupg) or missing in: %gpg Please check path or install gpg in Termux with: apt install gnupg or: pkg install gnupg Task stopped, tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3">Top</Str> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">gpg missing</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">30000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act19" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act2" ve="7"> <code>548</code> <Str sr="arg0" ve="3">par1 (path of folder or file to encrypt) unset! The Task will stop now, tap to close...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3">Top</Str> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act20" ve="7"> <code>38</code> </Action> <Action sr="act21" ve="7"> <code>547</code> <label>init</label> <Str sr="arg0" ve="3">%plain_files_count</Str> <Str sr="arg1" ve="3">0</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="1" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="0" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act22" ve="7"> <code>547</code> <label>init</label> <Str sr="arg0" ve="3">%already_encrypted_files_count</Str> <Str sr="arg1" ve="3">0</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="1" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="0" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act23" ve="7"> <code>547</code> <label>init</label> <Str sr="arg0" ve="3">%gpg_files_count</Str> <Str sr="arg1" ve="3">0</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="1" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="0" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act24" ve="7"> <code>342</code> <label>check if file or folder exists</label> <se>false</se> <Int sr="arg0" val="5" /> <Str sr="arg1" ve="3">%par1</Str> <Str sr="arg2" ve="3">%exists</Str> <Int sr="arg3" val="0" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act25" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%exists</lhs> <op>0</op> <rhs>false</rhs> </Condition> </ConditionList> </Action> <Action sr="act26" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">EnCrypt#%tasker_current_action_number File or folder (par1) to encrypt not found, abort. par1: %par1 Task cancelled. Tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act27" ve="7"> <code>126</code> <Str sr="arg0" ve="3">1</Str> <Int sr="arg1" val="1" /> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Str sr="arg4" ve="3" /> </Action> <Action sr="act28" ve="7"> <code>38</code> </Action> <Action sr="act29" ve="7"> <code>342</code> <label>var file_or_dir -&gt; file or dir</label> <Int sr="arg0" val="4" /> <Str sr="arg1" ve="3">%par1</Str> <Str sr="arg2" ve="3">%file_or_dir</Str> <Int sr="arg3" val="0" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act3" ve="7"> <code>38</code> </Action> <Action sr="act30" ve="7"> <code>37</code> <label>par1 = file</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>file</rhs> </Condition> </ConditionList> </Action> <Action sr="act31" ve="7"> <code>547</code> <label>file</label> <Str sr="arg0" ve="3">%file</Str> <Str sr="arg1" ve="3">%par1</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act32" ve="7"> <code>342</code> <label>path of dir</label> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3">%file</Str> <Str sr="arg2" ve="3">%path</Str> <Int sr="arg3" val="0" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act33" ve="7"> <code>43</code> <label>par1 = dir</label> </Action> <Action sr="act34" ve="7"> <code>547</code> <label>dir</label> <Str sr="arg0" ve="3">%path</Str> <Str sr="arg1" ve="3">%par1</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act35" ve="7"> <code>547</code> <label>count already encrypted files (*.gpg) in the path</label> <Str sr="arg0" ve="3">%command</Str> <Str sr="arg1" ve="3">find %path -name "*.gpg" | wc -l</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act36" ve="7"> <code>123</code> <se>false</se> <Str sr="arg0" ve="3">%command</Str> <Int sr="arg1" val="0" /> <Int sr="arg2" val="0" /> <Str sr="arg3" ve="3">%already_encrypted_files_count</Str> <Str sr="arg4" ve="3">%errors</Str> <Str sr="arg5" ve="3" /> <Int sr="arg6" val="1" /> <Int sr="arg7" val="0" /> </Action> <Action sr="act37" ve="7"> <code>547</code> <label>count plain files (not *.gpg) in the path</label> <Str sr="arg0" ve="3">%command</Str> <Str sr="arg1" ve="3">find %path -type f -not -name "*.gpg" | wc -l</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act38" ve="7"> <code>123</code> <se>false</se> <Str sr="arg0" ve="3">%command</Str> <Int sr="arg1" val="0" /> <Int sr="arg2" val="0" /> <Str sr="arg3" ve="3">%plain_files_count</Str> <Str sr="arg4" ve="3">%errors</Str> <Str sr="arg5" ve="3" /> <Int sr="arg6" val="1" /> <Int sr="arg7" val="0" /> </Action> <Action sr="act39" ve="7"> <code>38</code> </Action> <Action sr="act4" ve="7"> <code>547</code> <label>Check if Termux and plugin installed...</label> <Str sr="arg0" ve="3">%termux_package</Str> <Str sr="arg1" ve="3">com.termux</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act40" ve="7"> <code>37</code> <label>no encrypted files in folder</label> <ConditionList sr="if"> <bool0>And</bool0> <Condition sr="c0" ve="3"> <lhs>%plain_files_count</lhs> <op>0</op> <rhs>0</rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>dir</rhs> </Condition> </ConditionList> </Action> <Action sr="act41" ve="7"> <code>548</code> <Str sr="arg0" ve="3">EnCrypt#%tasker_current_action_number No plain file to encrypt in: %path Encryption cancelled. Tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">10000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act42" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act43" ve="7"> <code>43</code> <label>already encrypted files in folder</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%already_encrypted_files_count</lhs> <op>7</op> <rhs>0</rhs> </Condition> </ConditionList> </Action> <Action sr="act44" ve="7"> <code>390</code> <Bundle sr="arg0"> <Vals sr="val"> <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%input Input The text that was retrieved from the dialog&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> [Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> </Vals> </Bundle> <Str sr="arg1" ve="3">YesOrNo</Str> <Str sr="arg2" ve="3">Warning</Str> <Str sr="arg3" ve="3">There are %already_encrypted_files_count already encrypted files in: %path Continue to encrypt only plain files?</Str> <Str sr="arg4" ve="3" /> <Int sr="arg5" val="30" /> </Action> <Action sr="act45" ve="7"> <code>37</code> <label>continue</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%input</lhs> <op>0</op> <rhs>yes</rhs> </Condition> </ConditionList> </Action> <Action sr="act46" ve="7"> <code>548</code> <Str sr="arg0" ve="3">Encryption continued...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FF00FF00</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Info</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">2000</Str> <Int sr="arg9" val="1" /> </Action> <Action sr="act47" ve="7"> <code>43</code> </Action> <Action sr="act48" ve="7"> <code>548</code> <Str sr="arg0" ve="3">Encryption cancelled...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Info</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">2000</Str> <Int sr="arg9" val="1" /> </Action> <Action sr="act49" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act5" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%termux_tasker_plugin_package</Str> <Str sr="arg1" ve="3">com.termux.tasker</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act50" ve="7"> <code>38</code> </Action> <Action sr="act51" ve="7"> <code>38</code> </Action> <Action sr="act52" ve="7"> <code>547</code> <label>password = 12345 if unset in par2</label> <Str sr="arg0" ve="3">%pwd</Str> <Str sr="arg1" ve="3">12345</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par2</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act53" ve="7"> <code>547</code> <label>par2 = password</label> <Str sr="arg0" ve="3">%pwd</Str> <Str sr="arg1" ve="3">%par2</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par2</lhs> <op>12</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act54" ve="7"> <code>37</code> <label>dir</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>dir</rhs> </Condition> </ConditionList> </Action> <Action sr="act55" ve="7"> <code>547</code> <label>without *.gpg files</label> <se>false</se> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">shopt -s extglob; for file in !(*.gpg); do %gpg --batch --passphrase %pwd -c "${file}"; done;</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act56" ve="7"> <code>43</code> <label>file</label> </Action> <Action sr="act57" ve="7"> <code>37</code> <label>gpg file</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par1</lhs> <op>2</op> <rhs>*.gpg</rhs> </Condition> </ConditionList> </Action> <Action sr="act58" ve="7"> <code>548</code> <Str sr="arg0" ve="3">The file: %par1 is already encrypted! Cancel. Tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">15000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act59" ve="7"> <code>137</code> <Int sr="arg0" val="1" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act6" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">pm</Str> <Str sr="arg1" ve="3">CONTEXT</Str> <Str sr="arg2" ve="3">getPackageManager {PackageManager} ()</Str> <Str sr="arg3" ve="3" /> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3" /> <Str sr="arg9" ve="3" /> </Action> <Action sr="act60" ve="7"> <code>43</code> </Action> <Action sr="act61" ve="7"> <code>547</code> <label>var stdin: encrypt single file</label> <se>false</se> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">%gpg --batch --passphrase %pwd -c %file</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act62" ve="7"> <code>38</code> </Action> <Action sr="act63" ve="7"> <code>38</code> </Action> <Action sr="act64" ve="7"> <code>1256900802</code> <label>encrypt with gpg in Termux</label> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments> &lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type> java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> &lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE> %bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type> java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION> &lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type> java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type> java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL> false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type> java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE> 6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type> java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT> true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type> java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR> %path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type> java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> [Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type> java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="30" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act65" ve="7"> <code>37</code> <label>error</label> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%err</lhs> <op>12</op> <rhs></rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%result</lhs> <op>1</op> <rhs>0</rhs> </Condition> </ConditionList> </Action> <Action sr="act66" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">err: %err errmsg: %errmsg stderr: %stderr %result: result stderr_original_length: %stderr_original_length</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="1" /> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%err</lhs> <op>12</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act67" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act68" ve="7"> <code>43</code> </Action> <Action sr="act69" ve="7"> <code>37</code> <label>dir</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>dir</rhs> </Condition> </ConditionList> </Action> <Action sr="act7" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">%termux_installed</Str> <Str sr="arg1" ve="3">pm</Str> <Str sr="arg2" ve="3">getPackageInfo {PackageInfo} (String, int)</Str> <Str sr="arg3" ve="3">%termux_package</Str> <Str sr="arg4" ve="3">1</Str> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3" /> <Str sr="arg9" ve="3" /> </Action> <Action sr="act70" ve="7"> <code>547</code> <label>count encrypted files (*.gpg) in the path</label> <Str sr="arg0" ve="3">%command</Str> <Str sr="arg1" ve="3">find %path -name "*.gpg" | wc -l</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act71" ve="7"> <code>123</code> <se>false</se> <Str sr="arg0" ve="3">%command</Str> <Int sr="arg1" val="0" /> <Int sr="arg2" val="0" /> <Str sr="arg3" ve="3">%gpg_files_count</Str> <Str sr="arg4" ve="3">%errors</Str> <Str sr="arg5" ve="3" /> <Int sr="arg6" val="1" /> <Int sr="arg7" val="0" /> </Action> <Action sr="act72" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%gpg_minus_already_encrypted</Str> <Str sr="arg1" ve="3">%gpg_files_count - %already_encrypted_files_count</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="1" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="0" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act73" ve="7"> <code>37</code> <label>only if gpg_files_count - already_encrypted_files_count == plain files</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%gpg_minus_already_encrypted</lhs> <op>0</op> <rhs>%plain_files_count</rhs> </Condition> </ConditionList> </Action> <Action sr="act74" ve="7"> <code>547</code> <label>remove all unencrypted files in the path</label> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">shopt -s extglob; rm !(*.gpg);</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act75" ve="7"> <code>1256900802</code> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments> &lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type> java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> &lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE> %bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type> java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION> &lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type> java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type> java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL> false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type> java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE> 6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type> java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT> true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type> java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR> %path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type> java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> [Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type> java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="10" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act76" ve="7"> <code>43</code> </Action> <Action sr="act77" ve="7"> <code>548</code> <Str sr="arg0" ve="3">Not all files encrypted or not all plain files deleted! plain_files_count: %plain_files_count already_encrypted_files_count: %already_encrypted_files_count gpg_files_count: %gpg_files_count Please check! Tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3" /> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">30000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act78" ve="7"> <code>38</code> </Action> <Action sr="act79" ve="7"> <code>43</code> <label>file</label> </Action> <Action sr="act8" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">%termux_tasker_plugin_installed</Str> <Str sr="arg1" ve="3">pm</Str> <Str sr="arg2" ve="3">getPackageInfo {PackageInfo} (String, int)</Str> <Str sr="arg3" ve="3">%termux_tasker_plugin_package</Str> <Str sr="arg4" ve="3">1</Str> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3" /> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3" /> <Str sr="arg9" ve="3" /> </Action> <Action sr="act80" ve="7"> <code>342</code> <label>gpg file</label> <se>false</se> <Int sr="arg0" val="5" /> <Str sr="arg1" ve="3">%file.gpg</Str> <Str sr="arg2" ve="3">%gpg_exists</Str> <Int sr="arg3" val="0" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act81" ve="7"> <code>37</code> <label>success</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%gpg_exists</lhs> <op>0</op> <rhs>true</rhs> </Condition> </ConditionList> </Action> <Action sr="act82" ve="7"> <code>547</code> <label>rm input file</label> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">rm %file</Str> <Int sr="arg2" val="0" /> <Int sr="arg3" val="0" /> <Int sr="arg4" val="0" /> <Int sr="arg5" val="3" /> <Int sr="arg6" val="1" /> </Action> <Action sr="act83" ve="7"> <code>1256900802</code> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments> &lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type> java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> &lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE> %bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type> java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION> &lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type> java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type> java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL> false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type> java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE> 6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type> java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT> true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type> java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR> %path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type> java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> [Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type> java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="10" /> <Int sr="arg4" val="1" /> </Action> <Action sr="act84" ve="7"> <code>43</code> </Action> <Action sr="act85" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">EnCrypt#%tasker_current_action_number Encrypted file not found, abort. Task cancelled. Tap to dismiss...</Str> <Int sr="arg1" val="0" /> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1" /> <Int sr="arg12" val="0" /> <Str sr="arg13" ve="3" /> <Int sr="arg14" val="0" /> <Str sr="arg15" ve="3" /> <Int sr="arg2" val="1" /> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3" /> <Str sr="arg5" ve="3" /> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3" /> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0" /> </Action> <Action sr="act86" ve="7"> <code>137</code> <Int sr="arg0" val="0" /> <Str sr="arg1" ve="3" /> </Action> <Action sr="act87" ve="7"> <code>38</code> </Action> <Action sr="act88" ve="7"> <code>38</code> </Action> <Action sr="act89" ve="7"> <code>38</code> </Action> <Action sr="act9" ve="7"> <code>37</code> <label>Termux or Plugin not installed</label> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%termux_tasker_plugin_installed</lhs> <op>13</op> <rhs></rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%termux_installed</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Img sr="icn" ve="2"> <nme>mw_notification_enhanced_encryption</nme> <tint>-1</tint> </Img> </Task> </TaskerData>

francwalter

unread,
Apr 23, 2024, 9:11:57 AM4/23/24
to Tasker
<TaskerData sr="" dvi="1" tv="6.3.6-beta"> <Task sr="task1164"> <cdate>1689751147090</cdate> <edate>1713877100383</edate> <id>1164</id> <nme>DeCryption</nme> <pri>100</pri> <Action sr="act0" ve="7"> <code>300</code> <label>Info: par1: path of folder or file, e.g.: /storage/emulated/0/DCIM or (file): /storage/emulated/0/DCIM/Tasker/2022-08-21_14.39.52.jpg par2: password, a string, e.g.: 12345</label> <on>false</on> </Action> <Action sr="act1" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par1</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act10" ve="7"> <code>548</code> <Str sr="arg0" ve="3">Termux and/or the Tasker Plugin are not installed! The task cannot run without them. termux-app and termux-tasker can be downloaded from: https://github.com/termux (or Search for: termux github). This link will be copied to the clipboard. The Task will stop now, tap to close...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3"/> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Termux or Termux Tasker Plugin missing!</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act11" ve="7"> <code>105</code> <Str sr="arg0" ve="3">https://github.com/termux</Str> <Int sr="arg1" val="0"/> <Str sr="arg2" ve="3"/> <Int sr="arg3" val="0"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%Termux_Missing</lhs> <op>1</op> <rhs>1</rhs> </Condition> </ConditionList> </Action> <Action sr="act12" ve="7"> <code>137</code> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3"/> </Action> <Action sr="act13" ve="7"> <code>43</code> </Action> <Action sr="act14" ve="7"> <code>38</code> </Action> <Action sr="act15" ve="7"> <code>547</code> <label>gpg path</label> <Str sr="arg0" ve="3">%gpg</Str> <Str sr="arg1" ve="3">/data/data/com.termux/files/usr/bin/gpg</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act16" ve="7"> <code>547</code> <label>bash path</label> <Str sr="arg0" ve="3">%bash</Str> <Str sr="arg1" ve="3">/data/data/com.termux/files/usr/bin/bash</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act17" ve="7"> <code>1256900802</code> <label>check if gpg exists...</label> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments>-f %file</com.termux.execute.arguments> <com.termux.execute.arguments-type>java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL>3</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type>java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE>/data/data/com.termux/files/usr/bin/test</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type>java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION>&lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type>java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN></com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type>java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL>false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type>java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE>6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type>java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT>true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type>java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR>/data/data/com.termux/files/usr/bin/</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type>java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>/data/data/com.termux/files/usr/bin/test -f %file Working Directory ✓ Stdin ✕ Custom Log Level 3 Terminal Session ✕ Wai</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3"> <var>1</var> </Int> <Int sr="arg4" val="1"/> </Action> <Action sr="act18" ve="7"> <code>37</code> <label>gnupg not installed</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%result</lhs> <op>1</op> <rhs>0</rhs> </Condition> </ConditionList> </Action> <Action sr="act19" ve="7"> <code>548</code> <Str sr="arg0" ve="3">gpg not installed (gnupg) or missing in: %gpg Please check path or install gpg in Termux with: apt install gnupg or: pkg install gnupg Task stopped, tap to dismiss...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3">Top</Str> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">gpg missing </Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">30000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act2" ve="7"> <code>548</code> <Str sr="arg0" ve="3">par1 (path of folder or file to decrypt) unset! The Task will stop now, tap to close...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3">Top</Str> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act20" ve="7"> <code>137</code> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3"/> </Action> <Action sr="act21" ve="7"> <code>38</code> </Action> <Action sr="act22" ve="7"> <code>342</code> <label>check if file or folder exists</label> <se>false</se> <Int sr="arg0" val="5"/> <Str sr="arg1" ve="3">%par1</Str> <Str sr="arg2" ve="3">%exists</Str> <Int sr="arg3" val="0"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act23" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%exists</lhs> <op>0</op> <rhs>false</rhs> </Condition> </ConditionList> </Action> <Action sr="act24" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">DeCryption#%tasker_current_action_number File or folder (par1) to decrypt not found, abort. par1: %par1 Task cancelled. Tap to dismiss...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3"/> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act25" ve="7"> <code>126</code> <Str sr="arg0" ve="3">1</Str> <Int sr="arg1" val="1"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Str sr="arg4" ve="3"/> </Action> <Action sr="act26" ve="7"> <code>38</code> </Action> <Action sr="act27" ve="7"> <code>342</code> <label>var file_or_dir -&gt; file or dir</label> <Int sr="arg0" val="4"/> <Str sr="arg1" ve="3">%par1</Str> <Str sr="arg2" ve="3">%file_or_dir</Str> <Int sr="arg3" val="0"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act28" ve="7"> <code>37</code> <label>par1 = file</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>file</rhs> </Condition> </ConditionList> </Action> <Action sr="act29" ve="7"> <code>547</code> <label>file</label> <Str sr="arg0" ve="3">%file</Str> <Str sr="arg1" ve="3">%par1</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act3" ve="7"> <code>38</code> </Action> <Action sr="act30" ve="7"> <code>342</code> <label>path of dir</label> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3">%file</Str> <Str sr="arg2" ve="3">%path</Str> <Int sr="arg3" val="0"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act31" ve="7"> <code>43</code> <label>par1 = dir</label> </Action> <Action sr="act32" ve="7"> <code>547</code> <label>dir</label> <Str sr="arg0" ve="3">%path</Str> <Str sr="arg1" ve="3">%par1</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act33" ve="7"> <code>123</code> <label>count *.gpg files in the path</label> <se>false</se> <Str sr="arg0" ve="3">find . -name "*.gpg" | wc -l</Str> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> <Str sr="arg3" ve="3">%gpg_files_count</Str> <Str sr="arg4" ve="3">%errors</Str> <Str sr="arg5" ve="3"/> <Int sr="arg6" val="1"/> <Int sr="arg7" val="0"/> </Action> <Action sr="act34" ve="7"> <code>123</code> <label>count decrypted files in the path</label> <se>false</se> <Str sr="arg0" ve="3">find %path -type f -not -name "*.gpg"</Str> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> <Str sr="arg3" ve="3">%decrypted_files_count</Str> <Str sr="arg4" ve="3">%errors</Str> <Str sr="arg5" ve="3"/> <Int sr="arg6" val="1"/> <Int sr="arg7" val="0"/> </Action> <Action sr="act35" ve="7"> <code>38</code> </Action> <Action sr="act36" ve="7"> <code>547</code> <label>password = 12345 if unset in par2</label> <Str sr="arg0" ve="3">%pwd</Str> <Str sr="arg1" ve="3">12345</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par2</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act37" ve="7"> <code>547</code> <label>par2 = password</label> <Str sr="arg0" ve="3">%pwd</Str> <Str sr="arg1" ve="3">%par2</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par2</lhs> <op>12</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act38" ve="7"> <code>37</code> <label>dir</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>dir</rhs> </Condition> </ConditionList> </Action> <Action sr="act39" ve="7"> <code>547</code> <label>only gpg-files</label> <se>false</se> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">for file in *.gpg; do %gpg --batch --passphrase %pwd "${file}"; done;</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act4" ve="7"> <code>547</code> <label>Check if Termux and plugin installed...</label> <Str sr="arg0" ve="3">%termux_package</Str> <Str sr="arg1" ve="3">com.termux</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act40" ve="7"> <code>43</code> <label>file</label> </Action> <Action sr="act41" ve="7"> <code>37</code> <label>gpg file</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%par1</lhs> <op>3</op> <rhs>*.gpg</rhs> </Condition> </ConditionList> </Action> <Action sr="act42" ve="7"> <code>548</code> <Str sr="arg0" ve="3">The file: %par1 is not an encrypted file! Cancel. Tap to dismiss...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3"/> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">15000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act43" ve="7"> <code>137</code> <Int sr="arg0" val="1"/> <Str sr="arg1" ve="3"/> </Action> <Action sr="act44" ve="7"> <code>43</code> </Action> <Action sr="act45" ve="7"> <code>547</code> <label>var stdin: decrypt single file</label> <se>false</se> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">%gpg --batch --passphrase %pwd %file</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act46" ve="7"> <code>38</code> </Action> <Action sr="act47" ve="7"> <code>38</code> </Action> <Action sr="act48" ve="7"> <code>1256900802</code> <label>decrypt with gpg in Termux</label> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments>&lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type>java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL>&lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type>java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE>%bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type>java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION>&lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type>java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type>java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL>false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type>java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE>6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type>java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT>true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type>java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR>%path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type>java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="30"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act49" ve="7"> <code>37</code> <label>error</label> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%err</lhs> <op>12</op> <rhs></rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%result</lhs> <op>1</op> <rhs>0</rhs> </Condition> </ConditionList> </Action> <Action sr="act5" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%termux_tasker_plugin_package</Str> <Str sr="arg1" ve="3">com.termux.tasker</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act50" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">#%tasker_current_action_number stderr: %stderr result: %result err: %err errmsg: %errmsg </Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3"/> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="1"/> </Action> <Action sr="act51" ve="7"> <code>126</code> <Str sr="arg0" ve="3">1</Str> <Int sr="arg1" val="1"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Str sr="arg4" ve="3"/> </Action> <Action sr="act52" ve="7"> <code>43</code> <label>clean...</label> </Action> <Action sr="act53" ve="7"> <code>37</code> <label>dir</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file_or_dir</lhs> <op>0</op> <rhs>dir</rhs> </Condition> </ConditionList> </Action> <Action sr="act54" ve="7"> <code>547</code> <label>remove all encrypted files in the path</label> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">rm *.gpg;</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act55" ve="7"> <code>1256900802</code> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments>&lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type>java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL>&lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type>java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE>%bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type>java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION>&lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type>java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type>java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL>false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type>java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE>6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type>java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT>true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type>java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR>%path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type>java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="10"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act56" ve="7"> <code>43</code> <label>file</label> </Action> <Action sr="act57" ve="7"> <code>590</code> <Str sr="arg0" ve="3">%file</Str> <Str sr="arg1" ve="3">\.gpg$</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="1"/> </Action> <Action sr="act58" ve="7"> <code>37</code> <label>unencryption success</label> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%file1</lhs> <op>0</op> <rhs>%file</rhs> </Condition> </ConditionList> </Action> <Action sr="act59" ve="7"> <code>547</code> <label>rm input file</label> <Str sr="arg0" ve="3">%stdin</Str> <Str sr="arg1" ve="3">rm %file</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="1"/> </Action> <Action sr="act6" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">pm</Str> <Str sr="arg1" ve="3">CONTEXT</Str> <Str sr="arg2" ve="3">getPackageManager {PackageManager} ()</Str> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3"/> <Str sr="arg9" ve="3"/> </Action> <Action sr="act60" ve="7"> <code>1256900802</code> <se>false</se> <Bundle sr="arg0"> <Vals sr="val"> <com.termux.execute.arguments>&lt;null&gt;</com.termux.execute.arguments> <com.termux.execute.arguments-type>java.lang.String</com.termux.execute.arguments-type> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL>&lt;null&gt;</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL> <com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type>java.lang.String</com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL-type> <com.termux.tasker.extra.EXECUTABLE>%bash</com.termux.tasker.extra.EXECUTABLE> <com.termux.tasker.extra.EXECUTABLE-type>java.lang.String</com.termux.tasker.extra.EXECUTABLE-type> <com.termux.tasker.extra.SESSION_ACTION>&lt;null&gt;</com.termux.tasker.extra.SESSION_ACTION> <com.termux.tasker.extra.SESSION_ACTION-type>java.lang.String</com.termux.tasker.extra.SESSION_ACTION-type> <com.termux.tasker.extra.STDIN>%stdin</com.termux.tasker.extra.STDIN> <com.termux.tasker.extra.STDIN-type>java.lang.String</com.termux.tasker.extra.STDIN-type> <com.termux.tasker.extra.TERMINAL>false</com.termux.tasker.extra.TERMINAL> <com.termux.tasker.extra.TERMINAL-type>java.lang.Boolean</com.termux.tasker.extra.TERMINAL-type> <com.termux.tasker.extra.VERSION_CODE>6</com.termux.tasker.extra.VERSION_CODE> <com.termux.tasker.extra.VERSION_CODE-type>java.lang.Integer</com.termux.tasker.extra.VERSION_CODE-type> <com.termux.tasker.extra.WAIT_FOR_RESULT>true</com.termux.tasker.extra.WAIT_FOR_RESULT> <com.termux.tasker.extra.WAIT_FOR_RESULT-type>java.lang.Boolean</com.termux.tasker.extra.WAIT_FOR_RESULT-type> <com.termux.tasker.extra.WORKDIR>%path</com.termux.tasker.extra.WORKDIR> <com.termux.tasker.extra.WORKDIR-type>java.lang.String</com.termux.tasker.extra.WORKDIR-type> <com.twofortyfouram.locale.intent.extra.BLURB>%bash Working Directory ✓ Stdin ✓ Custom Log Level null Terminal Session ✕ Wait For Result ✓</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.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%stdout Standard Output The &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%stdout_original_length Standard Output Original Length The original length of &amp;lt;B&amp;gt;stdout&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%stderr Standard Error The &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt; of the command.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%stderr_original_length Standard Error Original Length The original length of &amp;lt;B&amp;gt;stderr&amp;lt;/B&amp;gt;.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%result Exit Code The &amp;lt;B&amp;gt;exit code&amp;lt;/B&amp;gt; of the command.0 often means success and anything else is usually a failure of some sort.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES> <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>com.termux.tasker.extra.EXECUTABLE com.termux.execute.arguments com.termux.tasker.extra.WORKDIR com.termux.tasker.extra.STDIN com.termux.tasker.extra.SESSION_ACTION com.termux.tasker.extra.BACKGROUND_CUSTOM_LOG_LEVEL</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-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.termux.tasker</Str> <Str sr="arg2" ve="3">com.termux.tasker.EditConfigurationActivity</Str> <Int sr="arg3" val="10"/> <Int sr="arg4" val="1"/> </Action> <Action sr="act61" ve="7"> <code>43</code> </Action> <Action sr="act62" ve="7"> <code>548</code> <se>false</se> <Str sr="arg0" ve="3">#%tasker_current_action_number Decrypted file not found, abort. Task cancelled. Tap to dismiss...</Str> <Int sr="arg1" val="0"/> <Str sr="arg10" ve="3">#FFFF0000</Str> <Int sr="arg11" val="1"/> <Int sr="arg12" val="0"/> <Str sr="arg13" ve="3"/> <Int sr="arg14" val="0"/> <Str sr="arg15" ve="3"/> <Int sr="arg2" val="1"/> <Str sr="arg3" ve="3">Error</Str> <Str sr="arg4" ve="3"/> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3">#FFFFFFFF</Str> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3">60000</Str> <Int sr="arg9" val="0"/> </Action> <Action sr="act63" ve="7"> <code>137</code> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3"/> </Action> <Action sr="act64" ve="7"> <code>38</code> </Action> <Action sr="act65" ve="7"> <code>38</code> </Action> <Action sr="act66" ve="7"> <code>38</code> </Action> <Action sr="act7" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">%termux_installed</Str> <Str sr="arg1" ve="3">pm</Str> <Str sr="arg2" ve="3">getPackageInfo {PackageInfo} (String, int)</Str> <Str sr="arg3" ve="3">%termux_package</Str> <Str sr="arg4" ve="3">1</Str> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3"/> <Str sr="arg9" ve="3"/> </Action> <Action sr="act8" ve="7"> <code>664</code> <se>false</se> <Str sr="arg0" ve="3">%termux_tasker_plugin_installed</Str> <Str sr="arg1" ve="3">pm</Str> <Str sr="arg2" ve="3">getPackageInfo {PackageInfo} (String, int)</Str> <Str sr="arg3" ve="3">%termux_tasker_plugin_package</Str> <Str sr="arg4" ve="3">1</Str> <Str sr="arg5" ve="3"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Str sr="arg8" ve="3"/> <Str sr="arg9" ve="3"/> </Action> <Action sr="act9" ve="7"> <code>37</code> <label>Termux or Plugin not installed</label> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%termux_tasker_plugin_installed</lhs> <op>13</op> <rhs></rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%termux_installed</lhs> <op>13</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Img sr="icn" ve="2"> <nme>mw_notification_no_encryption</nme> <tint>-1</tint> </Img> </Task> </TaskerData>

francwalter

unread,
Apr 24, 2024, 10:47:14 AM4/24/24
to Tasker
Sorry for that weird formatting. I copied the code from Clipboard from my Editor (JGSoft EditPad Pro on Windows) and the line breaks seem to be omitted in googlegroups (they were perfectly set in my editor). But it wont affect import, I think. And the attached (identical) XML-files are normally formatted anyway. And with Pretty Print from Notepad++ (Plugins > XML Tools > Pretty Print) the formatting of that linebreaksless XML is in a second (copy and paste and Pretty Print). 
Other editors might have similar formatting tools.

OK then, I switched now from Direct Purchased Tasker (DP) to Google Play Tasker (GP) and before that, I switched my encryptions from Tasker-Crypt to my Termux-Crypt. Deleted all Tasker-Crypt Actions (because of the "Missing Action of type 423" Error).
Never again any license issues now or DP and GP Tasker mismatch :-) :-)
This was a long overdue plan, now finally carried out :-) :-) :-)
Thank.frank
Reply all
Reply to author
Forward
0 new messages