Wallkin v1.86859532693版本的 MD5 值为:c3099a56aae2c3706b2239994117cc3a
以下内容为反编译后的 bf.java 源代码,内容仅作参考
package net.dinglisch.android.taskerm;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.os.ConditionVariable;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.core.app.NotificationCompat;
import com.joaomgcd.taskerm.structuredoutput.StructureType;
import com.joaomgcd.taskerm.util.App;
import com.joaomgcd.taskerm.util.AppBasic;
import com.joaomgcd.taskerservercommon.ConstantsCommonTaskerServer;
import cyanogenmod.app.ProfileManager;
import cyanogenmod.profiles.RingModeSettings;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.danlew.android.joda.R;
import net.dinglisch.android.taskerm.WebChromeClientCommon;
import net.dinglisch.android.taskerm.bw;
public class bf {
public static final int ACTION_EDIT_ID = 50000;
public static final String CALL_LABEL = "call";
public static final String EXPORT_FILENAME = "tasker.js";
public static final String EXTRA_ID = "id";
public static final int SCENE_JSI_ID_START = 100000;
public static final String TASKER_OBJECT_NAME = "tk";
public static final int TASK_JSI_ID_START = 0;
public static final String TASK_NAME_PREFIX = "JSI:";
public static final int VERSION = 1;
public static final String VIBRATE_LABEL = "vibrate";
public static final int WHAT_ERROR = 2;
public static final int WHAT_EXIT = 1;
public static final int WHAT_FIRST = 0;
public static final int WHAT_LAST = 4;
public static final int WHAT_START = 0;
public static final int WHAT_TIMEOUT = 3;
public static final int WHAT_WARNING = 4;
private String dH;
private com.joaomgcd.taskerm.util.b<c.k<String, String>> dI;
private com.joaomgcd.taskerm.util.b<Bundle> dJ;
private Context dK;
private Handler dL;
private WebView dM;
private Bundle dN;
private WebChromeClientCommon dO;
private int dS;
private int dT;
private String dU;
private volatile b dV;
private volatile String dW;
public static final a[] GET_LOCATION_AT = {a.Bool, a.String, a.Bool, a.Int};
public static final a[] PERFORM_TASK_AT = {a.Bool, a.String, a.Int, a.String, a.String, a.String, a.Bool, a.Bool, a.String, a.Bool};
public static final a[] PARSE_FORMAT_DATETIME_AT = {a.String, a.Int, a.String, a.String, a.String, a.String, a.String, a.Bool};
public static final a[] SHOW_SCENE_AT = {a.Bool, a.String, a.String, a.Int, a.Int, a.Bool, a.Bool};
private static final String[] f12159a = {"Chrome Frame", "Dojo", "Ext Core", "jQuery", "jQuery UI", "Moo Tools", "Prototype", "script.aculo.us", "SWFObject", "WebFont Loader"};
private static final String[] f12160b = {"https://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js", "https://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js", "https://ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js", "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js", "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js", "https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js", "https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js", "https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js", "https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js", "https://ajax.googleapis.com/ajax/libs/webfont/1.0.28/webfont.js"};
private static final String[] f12161c = {"ok", "vol", "disp", "snd"};
private static final a[] f12162d = {a.Bool, a.Int, a.Bool, a.Bool};
private static final String[] f12163e = {"ok", "text", "title", "button1", "button2", "button3", "timeout", "useHTML"};
private static final a[] f12164f = {a.Bool, a.String, a.String, a.String, a.String, a.String, a.Int, a.Bool};
private static final String[] g = {"ok", "path", "source", "codec", "format"};
private static final a[] h = {a.Bool, a.String, a.String, a.String, a.String};
private static final String[] i = {"ok"};
private static final a[] j = {a.Bool};
private static final String[] k = {"ok", "URL"};
private static final a[] l = {a.Bool, a.String};
private static final String[] m = {"ok", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] n = {a.Bool, a.String};
private static final String[] o = {"ok", "num", "auto"};
private static final a[] p = {a.Bool, a.String, a.Bool};
private static final String[] q = {"ok", "nummatch", "info"};
private static final a[] r = {a.Bool, a.String, a.Bool};
private static final String[] s = {"ok", "frommatch", "to", "info"};
private static final a[] t = {a.Bool, a.String, a.String, a.Bool};
private static final String[] u = {"ok", "numMatch"};
private static final a[] v = {a.Bool, a.String};
private static final String[] w = {"ok", "on"};
private static final a[] x = {a.Bool, a.Bool};
private static final String[] y = {"ok", "key"};
private static final a[] z = {a.Bool, a.String};
private static final String[] A = {"newval", "val", "mode"};
private static final a[] B = {a.String, a.String, a.String};
private static final String[] C = {"ok", "to", "subj", NotificationCompat.CATEGORY_MESSAGE};
private static final a[] D = {a.Bool, a.String, a.String, a.String};
private static final String[] E = {"ok", "to", "subj", NotificationCompat.CATEGORY_MESSAGE, "attach"};
private static final a[] F = {a.Bool, a.String, a.String, a.String, a.String};
private static final String[] G = {"ok", "to", NotificationCompat.CATEGORY_MESSAGE};
private static final a[] H = {a.Bool, a.String, a.String};
private static final String[] I = {"ok", "path", "all", "root"};
private static final a[] J = {a.Bool, a.String, a.Bool, a.Bool};
private static final String[] K = {"http_data", "method", "url", "headers", "queryParameters", "body", "fileToSend", "fileOutput", "timeout", "trustAnyCertificate", "autoRedirect", "useCookies", "structureOutput"};
private static final a[] L = {a.String, a.String, a.String, a.String, a.String, a.String, a.String, a.String, a.Int, a.Bool, a.Bool, a.Bool, a.Bool};
private static final String[] M = {"ok", "command"};
private static final a[] N = {a.Bool, a.String};
private static final String[] O = {"ok", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] P = {a.Bool, a.String};
private static final String[] Q = {"ok", "lft", "rgt", "top", "bot"};
private static final a[] R = {a.Bool, a.Int, a.Int, a.Int, a.Int};
private static final String[] S = {"ok", "path", "key", "removekey"};
private static final a[] T = {a.Bool, a.String, a.String, a.Bool};
private static final String[] U = {"ok", "path", "key", "removekey"};
private static final a[] V = {a.Bool, a.String, a.String, a.Bool};
private static final String[] W = {"ok", "path", "rec", "root"};
private static final a[] X = {a.Bool, a.String, a.Bool, a.Bool};
private static final String[] Y = {"ok", "path", "shred", "root"};
private static final a[] Z = {a.Bool, a.String, a.Int, a.Bool};
private static final String[] aa = {"ok", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] ab = {a.Bool, a.String};
private static final String[] ac = {"ok"};
private static final a[] ad = {a.Bool};
private static final String[] ae = {"ok", "on"};
private static final a[] af = {a.Bool, a.Bool};
private static final String[] ag = {"ok", "hours", "mins", "secs"};
private static final a[] ah = {a.Bool, a.Int, a.Int, a.Int};
private static final String[] ai = {"ok", "on"};
private static final a[] aj = {a.Bool, a.Bool};
private static final String[] ak = {"ok", "dir", "repeat"};
private static final a[] al = {a.Bool, a.String, a.Int};
private static final String[] am = {"ok", "scene", "elem", "start", "end"};
private static final a[] an = {a.Bool, a.String, a.String, a.String, a.String};
private static final String[] ao = {"ok", "scene", "elem", "width", "colour"};
private static final a[] ap = {a.Bool, a.String, a.String, a.Int, a.String};
private static final String[] aq = {"ok", "scene", "elem", "ori", "x", "y", "animMS"};
private static final a[] ar = {a.Bool, a.String, a.String, a.String, a.Int, a.Int, a.Int};
private static final String[] as = {"ok", "scene", "elem", "pos", "text"};
private static final a[] at = {a.Bool, a.String, a.String, a.String, a.String};
private static final String[] au = {"ok", "scene", "elem", "colour"};
private static final a[] av = {a.Bool, a.String, a.String, a.String};
private static final String[] aw = {"ok", "scene", "elem", "size"};
private static final a[] ax = {a.Bool, a.String, a.String, a.Int};
private static final String[] ay = {"ok", "scene", "elem", "vis", "animMS"};
private static final a[] az = {a.Bool, a.String, a.String, a.Bool, a.Int};
private static final String[] aA = {"ok", ProfileManager.EXTRA_PROFILE_NAME, "set"};
private static final a[] aB = {a.Bool, a.String, a.Bool};
private static final String[] aC = {"ok", "path", "key", "remkey", "shred"};
private static final a[] aD = {a.Bool, a.String, a.String, a.Bool, a.Bool};
private static final String[] aE = {"ok", "path", "key", "remkey", "shred"};
private static final a[] aF = {a.Bool, a.String, a.String, a.Bool, a.Bool};
private static final String[] aG = {"ok", "title", "key", "overkeyg", "confirm", "back", "layout", "timeout"};
private static final a[] aH = {a.Bool, a.String, a.String, a.Bool, a.Bool, a.String, a.String, a.Int};
private static final String[] aI = {"ok"};
private static final a[] aJ = {a.Bool};
private static final String[] aK = {""};
private static final a[] aL = {a.None};
private static final String[] aM = {"ok", "mode", "value"};
private static final a[] aN = {a.Bool, a.String, a.Int};
private static final String[] aO = {"ok", "horizontal"};
private static final a[] aP = {a.Bool, a.Bool};
private static final String[] aQ = {"ok", "src", "track", "timeout"};
private static final String[] aR = {"text", "prompt", "model", "timeout"};
private static final a[] aS = {a.String, a.String, a.String, a.Int};
private static final String[] aT = {null, "screen"};
private static final a[] aU = {a.None, a.Int};
private static final String[] aV = {"ok", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] aW = {a.Bool, a.String};
private static final String[] aX = {"ok", ProfileManager.EXTRA_PROFILE_NAME, "pri", "par1", "par2", "return", "stop", "passthrough", "passthrough_list", "reset_return"};
private static final String[] aY = {"formattedDate", "inputType", "input", "inputFormat", "inputSeparator", "outputFormat", "outputFormatSeparator", "getAllDetails"};
private static final String[] aZ = {"ok", "cam", "filename", "res", "gallery"};
private static final a[] ba = {a.Bool, a.Int, a.String, a.String, a.Bool};
private static final String[] bb = {"val", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] bc = {a.String, a.String};
private static final String[] bd = {"ok", "on"};
private static final a[] be = {a.Bool, a.Bool};
private static final String[] bf = {"files", "path", "hidden"};
private static final a[] bg = {a.String, a.String, a.Bool};
private static final String[] bh = {"ok", ProfileManager.EXTRA_PROFILE_NAME, "data", "exclude"};
private static final a[] bi = {a.Bool, a.String, a.String, a.Bool};
private static final String[] bj = {"ok", "uri"};
private static final a[] bk = {a.Bool, a.String};
private static final String[] bl = {"val", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] bm = {a.String, a.String};
private static final String[] bn = {"ok", "title", "code", "cncl", "rmbr", "full", "back", "layout"};
private static final a[] bo = {a.Bool, a.String, a.String, a.Bool, a.Bool, a.Bool, a.String, a.String};
private static final String[] bp = {"ok", "action"};
private static final a[] bq = {a.Bool, a.String};
private static final String[] br = {"ok", "on"};
private static final a[] bs = {a.Bool, a.Bool};
private static final String[] bt = {"ok", "on"};
private static final a[] bu = {a.Bool, a.Bool};
private static final String[] bv = {"ok", "secs"};
private static final a[] bw = {a.Bool, a.Int};
private static final String[] bx = {"ok", "path", "offset", "loop", "stream", "continue"};
private static final a[] by = {a.Bool, a.String, a.Int, a.Bool, a.String, a.Bool};
private static final String[] bz = {"ok", "secs"};
private static final a[] bA = {a.Bool, a.Int};
private static final String[] bB = {"ok"};
private static final a[] bC = {a.Bool};
private static final String[] bD = {"ok", "left", "center", "right"};
private static final a[] bE = {a.Bool, a.String, a.String, a.String};
private static final String[] bF = {"ok", "on"};
private static final a[] bG = {a.Bool, a.Bool};
private static final String[] bH = {"ok", "title", "text", "overkeyg", "back", "layout", "timeout"};
private static final a[] bI = {a.Bool, a.String, a.String, a.Bool, a.String, a.String, a.Int};
private static final String[] bJ = {"ok", "on"};
private static final a[] bK = {a.Bool, a.Bool};
private static final String[] bL = {null, NotificationCompat.CATEGORY_MESSAGE};
private static final a[] bM = {a.None, a.String};
private static final String[] bN = {null, NotificationCompat.CATEGORY_MESSAGE};
private static final a[] bO = {a.None, a.String};
private static final String[] bP = {"active", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] bQ = {a.Bool, a.String};
private static final String[] bR = {"content", "path"};
private static final a[] bS = {a.String, a.String};
private static final String[] bT = {"ok", "type"};
private static final a[] bU = {a.Bool, a.String};
private static final String[] bV = {"ok", "path", "width", "height"};
private static final a[] bW = {a.Bool, a.Int, a.Int};
private static final String[] bX = {"ok", "path", "dir", "degrees"};
private static final a[] bY = {a.Bool, a.String, a.Int};
private static final String[] bZ = {"ok", "text", "eng", "voice", "stream", "pitch", "speed", "focus", "net"};
private static final a[] ca = {a.Bool, a.String, a.String, a.String, a.String, a.Int, a.Int, a.Bool, a.Bool};
private static final String[] cb = {"ok", "action", "targ", "pkg", "cls", "cat", "data", "mime", "exts"};
private static final a[] cc = {a.Bool, a.String, a.String, a.String, a.String, a.String, a.String, a.String, a.StringArray};
private static final String[] cd = {"ok", "num", "text", "store"};
private static final a[] ce = {a.Bool, a.String, a.String, a.Bool};
private static final String[] cf = {"ok", "text", "append"};
private static final a[] cg = {a.Bool, a.String, a.Bool};
private static final String[] ch = {"ok", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] ci = {a.Bool, a.String};
private static final String[] cj = {"ok", ProfileManager.EXTRA_PROFILE_NAME, "term"};
private static final a[] ck = {a.Bool, a.String, a.String};
private static final String[] cl = {"output", "cmd", "root", "timeout"};
private static final a[] cm = {a.String, a.String, a.Bool, a.Int};
private static final String[] cn = {"ok", "path", "quality", "delmem"};
private static final a[] co = {a.Bool, a.String, a.Int, a.Bool};
private static final String[] cp = {"ok", "path"};
private static final a[] cq = {a.Bool, a.String};
private static final String[] cr = {"ok", "on"};
private static final a[] cs = {a.Bool, a.Bool};
private static final String[] ct = {"ok", "offradios"};
private static final a[] cu = {a.Bool, a.String};
private static final String[] cv = {"ok", "hours", "mins", NotificationCompat.CATEGORY_MESSAGE, "confirm"};
private static final a[] cw = {a.Bool, a.Int, a.Int, a.String, a.Bool};
private static final String[] cx = {"ok", "on"};
private static final a[] cy = {a.Bool, a.Bool};
private static final String[] cz = {null, ProfileManager.EXTRA_PROFILE_NAME, "val", "structureOutput"};
private static final a[] cA = {a.None, a.String, a.String, a.Bool};
private static final String[] cB = {"ok", "key", "pass"};
private static final a[] cC = {a.Bool, a.String, a.String};
private static final String[] cD = {null, ProfileManager.EXTRA_PROFILE_NAME, "val"};
private static final a[] cE = {a.None, a.String, a.String};
private static final String[] cF = {"ok", "on"};
private static final a[] cG = {a.Bool, a.Bool};
private static final String[] cH = {"ok", "ID"};
private static final a[] cI = {a.Bool, a.String};
private static final String[] cJ = {"ok", "path"};
private static final a[] cK = {a.Bool, a.String};
private static final String[] cL = {"ok", ProfileManager.EXTRA_PROFILE_NAME, "type", "hoff", "voff", "exit", "wait"};
private static final String[] cM = {"ok"};
private static final a[] cN = {a.Bool};
private static final String[] cO = {"ok", "mode"};
private static final a[] cP = {a.Bool, a.String};
private static final String[] cQ = {"ok", "on"};
private static final a[] cR = {a.Bool, a.Bool};
private static final String[] cS = {"ok", "on"};
private static final a[] cT = {a.Bool, a.Bool};
private static final String[] cU = {"ok", "on"};
private static final a[] cV = {a.Bool, a.Bool};
private static final String[] cW = {"ok", "mode"};
private static final a[] cX = {a.Bool, a.String};
private static final String[] cY = {"ok", "src"};
private static final a[] cZ = {a.Bool, a.String};
private static final String[] da = {"ok"};
private static final a[] db = {a.Bool};
private static final String[] dc = {"running", ProfileManager.EXTRA_PROFILE_NAME};
private static final a[] dd = {a.Bool, a.String};
private static final String[] de = {"ok", "text", "repeat"};
private static final a[] df = {a.Bool, a.String, a.Int};
private static final String[] dg = {"ok"};
private static final a[] dh = {a.Bool};
private static final String[] di = {"ok", "on"};
private static final a[] dj = {a.Bool, a.Bool};
private static final String[] dk = {null, "ms"};
private static final a[] dl = {a.None, a.Int};
private static final String[] dm = {"ok", "offon"};
private static final a[] dn = {a.Bool, a.String};
private static final String[] f5do = {"ok", "on"};
private static final a[] dp = {a.Bool, a.Bool};
private static final String[] dq = {"ok", "on"};
private static final a[] dr = {a.Bool, a.Bool};
private static final String[] ds = {"ok", "path", "deleteZip"};
private static final a[] dt = {a.Bool, a.String, a.Bool};
private static final String[] du = {"ok", "ms"};
private static final a[] dv = {a.Bool, a.Int};
private static final String[] dw = {"ok", "path", "text", "append"};
private static final a[] dx = {a.Bool, a.String, a.String, a.Bool};
private static final String[] dy = {"ok", "path", "level", "deleteOrig"};
private static final a[] dz = {a.Bool, a.String, a.Bool, a.Int};
public static final String ALARM_VOL_LABEL = "alarmVol";
public static final String AUDIO_RECORD_LABEL = "audioRecord";
public static final String BT_VOICE_VOL_LABEL = "btVoiceVol";
public static final String CALL_BLOCK_LABEL = "callBlock";
public static final String CALL_DIVERT_LABEL = "callDivert";
public static final String CALL_REVERT_LABEL = "callRevert";
public static final String CALL_VOL_LABEL = "callVol";
public static final String CAR_MODE_LABEL = "carMode";
public static final String DECRYPT_DIR_LABEL = "decryptDir";
public static final String DECRYPT_FILE_LABEL = "decryptFile";
public static final String DISABLE_LABEL = "disable";
public static final String DISPLAY_AUTO_BRIGHT_LABEL = "displayAutoBright";
public static final String DISPLAY_AUTO_ROTATE_LABEL = "displayAutoRotate";
public static final String DISPLAY_TIMEOUT_LABEL = "displayTimeout";
public static final String DTMF_VOL_LABEL = "dtmfVol";
public static final String ELEMENT_BACK_COLOUR_LABEL = "elemBackColour";
public static final String ELEMENT_BORDER_LABEL = "elemBorder";
public static final String ELEMENT_POSITION_LABEL = "elemPosition";
public static final String ELEMENT_TEXT_LABEL = "elemText";
public static final String ELEMENT_TEXT_COLOUR_LABEL = "elemTextColour";
public static final String ELEMENT_TEXT_SIZE_LABEL = "elemTextSize";
public static final String ELEMENT_VISIBILITY_LABEL = "elemVisibility";
public static final String END_CALL_LABEL = "endCall";
public static final String ENABLE_PROFILE_LABEL = "enableProfile";
public static final String ENCRYPT_DIR_LABEL = "encryptDir";
public static final String ENCRYPT_FILE_LABEL = "encryptFile";
public static final String GET_LOCATION_LABEL = "getLocation";
public static final String HAPTICS_LABEL = "haptics";
public static final String LOCK_LABEL = "lock";
public static final String MEDIA_CONTROL_LABEL = "mediaControl";
public static final String MEDIA_VOL_LABEL = "mediaVol";
public static final String MIC_MUTE_LABEL = "micMute";
public static final String MOBILE_DATA_LABEL = "mobileData";
public static final String MUSIC_BACK_LABEL = "musicBack";
public static final String MUSIC_PLAY_LABEL = "musicPlay";
public static final String MUSIC_SKIP_LABEL = "musicSkip";
public static final String MUSIC_STOP_LABEL = "musicStop";
public static final String NIGHT_MODE_LABEL = "nightMode";
public static final String NOTIFICATION_VOL_LABEL = "notificationVol";
public static final String PARSE_FORMAT_DATETIME_LABEL = "parseFormatDateTime";
public static final String PERFORM_TASK_LABEL = "performTask";
public static final String POPUP_LABEL = "popup";
public static final String PROFILE_ACTIVE_LABEL = "profileActive";
public static final String PULSE_LABEL = "pulse";
public static final String RINGER_VOL_LABEL = "ringerVol";
public static final String SAVE_IMAGE_LABEL = "saveImage";
public static final String SAY_LABEL = "say";
public static final String SEND_INTENT_LABEL = "sendIntent";
public static final String SEND_SMS_LABEL = "sendSMS";
public static final String SET_CLIP_LABEL = "setClip";
public static final String SETTINGS_LABEL = "settings";
public static final String SET_AIRPLANE_MODE_LABEL = "setAirplaneMode";
public static final String SET_AIRPLANE_RADIOS_LABEL = "setAirplaneRadios";
public static final String SET_ALARM_LABEL = "setAlarm";
public static final String SET_AUTO_SYNC_LABEL = "setAutoSync";
public static final String SET_BT_LABEL = "setBT";
public static final String SET_BT_ID_LABEL = "setBTID";
public static final String SET_WALLPAPER_LABEL = "setWallpaper";
public static final String SET_WIFI_LABEL = "setWifi";
public static final String SHOW_SCENE_LABEL = "showScene";
public static final String SILENT_MODE_LABEL = "silentMode";
public static final String SL4A_LABEL = "sl4a";
public static final String SOUND_EFFECTS_LABEL = "soundEffects";
public static final String SPEAKERPHONE_LABEL = "speakerphone";
public static final String STATUS_BAR_LABEL = "statusBar";
public static final String STAY_ON_LABEL = "stayOn";
public static final String STOP_LOCATION_LABEL = "stopLocation";
public static final String SYSTEM_LOCK_LABEL = "systemLock";
public static final String SYSTEM_VOL_LABEL = "systemVol";
public static final String TAKE_CALL_LABEL = "takeCall";
public static final String TAKE_PHOTO_LABEL = "takePhoto";
public static final String TASK_RUNNING_LABEL = "taskRunning";
public static final String UNZIP_LABEL = "unzip";
public static final String USB_TETHER_LABEL = "usbTether";
public static final String VIBRATE_PATTERN_LABEL = "vibratePattern";
public static final String WIFI_TETHER_LABEL = "wifiTether";
public static final String WRITE_FILE_LABEL = "writeFile";
public static final String ZIP_LABEL = "zip";
private static final String[] dA = {ALARM_VOL_LABEL, "alert", AUDIO_RECORD_LABEL, "audioRecordStop", BT_VOICE_VOL_LABEL, "browseURL", "button", "call", CALL_BLOCK_LABEL, CALL_DIVERT_LABEL, CALL_REVERT_LABEL, CALL_VOL_LABEL, CAR_MODE_LABEL, "clearKey", "sendCommand", "composeEmail", "composeMMS", "composeSMS", "convert", "createDir", "createScene", "cropImage", DECRYPT_DIR_LABEL, DECRYPT_FILE_LABEL, "deleteDir", "deleteFile", "destroyScene", DISABLE_LABEL, DISPLAY_AUTO_BRIGHT_LABEL, DISPLAY_AUTO_ROTATE_LABEL, DISPLAY_TIMEOUT_LABEL, "dpad", DTMF_VOL_LABEL, ELEMENT_BACK_COLOUR_LABEL, ELEMENT_BORDER_LABEL, ELEMENT_POSITION_LABEL, ELEMENT_TEXT_LABEL, ELEMENT_TEXT_COLOUR_LABEL, ELEMENT_TEXT_SIZE_LABEL, ELEMENT_VISIBILITY_LABEL, END_CALL_LABEL, ENABLE_PROFILE_LABEL, ENCRYPT_DIR_LABEL, ENCRYPT_FILE_LABEL, "enterKey", "exit", "flash", "flashLong", "filterImage", "flipImage", GET_LOCATION_LABEL, "getVoice", "global", "goHome", HAPTICS_LABEL, "hideScene", "httpRequest", "listFiles", "loadApp", "loadImage", "local", LOCK_LABEL, MEDIA_CONTROL_LABEL, MEDIA_VOL_LABEL, MIC_MUTE_LABEL, MOBILE_DATA_LABEL, MUSIC_BACK_LABEL, MUSIC_PLAY_LABEL, MUSIC_SKIP_LABEL, MUSIC_STOP_LABEL, "navigationBar", NIGHT_MODE_LABEL, NOTIFICATION_VOL_LABEL, PARSE_FORMAT_DATETIME_LABEL, PERFORM_TASK_LABEL, POPUP_LABEL, PROFILE_ACTIVE_LABEL, PULSE_LABEL, "readFile", "reboot", "resizeImage", RINGER_VOL_LABEL, "rotateImage", SAVE_IMAGE_LABEL, SAY_LABEL, "scanCard", SEND_INTENT_LABEL, SEND_SMS_LABEL, SET_CLIP_LABEL, SETTINGS_LABEL, SET_AIRPLANE_MODE_LABEL, SET_AIRPLANE_RADIOS_LABEL, SET_ALARM_LABEL, SET_AUTO_SYNC_LABEL, SET_BT_LABEL, SET_BT_ID_LABEL, "setGlobal", "setKey", "setLocal", SET_WALLPAPER_LABEL, SET_WIFI_LABEL, "shell", SHOW_SCENE_LABEL, "shutdown", SILENT_MODE_LABEL, SL4A_LABEL, SOUND_EFFECTS_LABEL, SPEAKERPHONE_LABEL, STATUS_BAR_LABEL, STAY_ON_LABEL, STOP_LOCATION_LABEL, SYSTEM_LOCK_LABEL, SYSTEM_VOL_LABEL, TAKE_CALL_LABEL, TAKE_PHOTO_LABEL, TASK_RUNNING_LABEL, "type", UNZIP_LABEL, USB_TETHER_LABEL, "vibrate", VIBRATE_PATTERN_LABEL, "wait", WIFI_TETHER_LABEL, WRITE_FILE_LABEL, ZIP_LABEL};
private static final a[][] dB = {f12162d, f12164f, h, j, f12162d, l, n, p, r, t, v, f12162d, x, z, N, D, F, H, B, J, P, R, T, V, X, Z, ab, ad, af, aj, ah, al, f12162d, an, ap, ar, at, av, ax, az, aJ, aB, aD, aF, aH, aL, bM, bO, aN, aP, GET_LOCATION_AT, aS, bc, aU, be, aW, L, bg, bi, bk, bm, bo, bq, f12162d, bs, bu, bw, by, bA, bC, bE, bG, f12162d, PARSE_FORMAT_DATETIME_AT, PERFORM_TASK_AT, bI, bQ, bK, bS, bU, bW, f12162d, bY, co, ca, cq, cc, ce, cg, ci, cs, cu, cw, cy, cG, cI, cA, cC, cE, cK, dr, cm, SHOW_SCENE_AT, cN, cP, ck, cR, cT, cV, cX, cZ, db, f12162d, dh, ba, dd, df, dt, dj, dl, dn, dv, dp, dx, dz};
private static final String[][] dC = {f12161c, f12163e, g, i, f12161c, k, m, o, q, s, u, f12161c, w, y, M, C, E, G, A, I, O, Q, S, U, W, Y, aa, ac, ae, ai, ag, ak, f12161c, am, ao, aq, as, au, aw, ay, aI, aA, aC, aE, aG, aK, bL, bN, aM, aO, aQ, aR, bb, aT, bd, aV, K, bf, bh, bj, bl, bn, bp, f12161c, br, bt, bv, bx, bz, bB, bD, bF, f12161c, aY, aX, bH, bP, bJ, bR, bT, bV, f12161c, bX, cn, bZ, cp, cb, cd, cf, ch, cr, ct, cv, cx, cF, cH, cz, cB, cD, cJ, dq, cl, cL, cM, cO, cj, cQ, cS, cU, cW, cY, da, f12161c, dg, aZ, dc, de, ds, di, dk, dm, du, f5do, dw, dy};
private static Pattern dD = null;
private static String[] dE = {"", "str", "int", "bool", "str[]"};
private static Pattern dF = null;
private final ConditionVariable dG = new ConditionVariable();
private boolean dP = false;
private boolean dQ = false;
private Object dR = new Object();
public enum a {
None,
String,
Int,
Bool,
StringArray
}
public enum b {
Waiting,
Failure,
Success
}
private static int a(int i2, int i3, int i4, int i5) {
return (i2 < i3 || i2 > i4) ? i5 : i2;
}
@JavascriptInterface
public final boolean clearKey(String str) {
return false;
}
@JavascriptInterface
public boolean decryptDir(String str, String str2, boolean z2) {
return false;
}
@JavascriptInterface
public boolean decryptFile(String str, String str2, boolean z2) {
return false;
}
@JavascriptInterface
public boolean encryptDir(String str, String str2, boolean z2, boolean z3) {
return false;
}
@JavascriptInterface
public boolean encryptFile(String str, String str2, boolean z2, boolean z3) {
return false;
}
@JavascriptInterface
public boolean enterKey(String str, String str2, boolean z2, boolean z3, String str3, String str4, int i2) {
return false;
}
public bf(Context context, int i2, String str, int i3, WebView webView, WebChromeClientCommon webChromeClientCommon, Bundle bundle, Handler handler, com.joaomgcd.taskerm.util.b<c.k<String, String>> bVar, com.joaomgcd.taskerm.util.b<Bundle> bVar2) {
this.dL = null;
this.dO = null;
this.dK = context;
this.dL = handler;
this.dM = webView;
this.dN = bundle;
this.dO = webChromeClientCommon;
this.dS = i2;
this.dT = i3;
this.dU = str;
this.dH = "JSI" + i2;
this.dI = bVar;
this.dJ = bVar2;
MyWebView.a(this.dM);
}
public static void scanCodeForVariables(String str, Set<String> set, boolean z2, boolean z3, boolean z4) {
if (dD == null) {
dD = Pattern.compile("(?<=global\\(\\s{0,5}[\"']%?)[\\w&&[^_]][\\w0-9\\.]+[\\w0-9&&[^_]](?=['\"])");
}
if (z2) {
gx.a(dD, str, false);
} else {
gx.a(dD, str, set, z3, z4);
}
}
public static String getLibraryURL(int i2) {
return f12160b[i2];
}
public static String[] getLibraryLabels() {
return f12159a;
}
public static final String[] _getImplementedActionDefinitions() {
String[] strArr = new String[dA.length];
for (int i2 = 0; i2 < strArr.length; i2++) {
StringBuilder sb = new StringBuilder();
a[] aVarArr = dB[i2];
String[] strArr2 = dC[i2];
sb.append(dA[i2]);
sb.append("\n");
if (aVarArr[0] != a.None) {
sb.append('[');
sb.append(dE[aVarArr[0].ordinal()]);
sb.append(' ');
sb.append(strArr2[0]);
sb.append("] ");
}
sb.append("(");
bo.b("JSI", dA[i2]);
for (int i3 = 1; i3 < aVarArr.length; i3++) {
if (i3 != 1) {
sb.append(", ");
}
sb.append(dE[aVarArr[i3].ordinal()]);
sb.append(' ');
sb.append(strArr2[i3]);
}
sb.append(")");
strArr[i2] = sb.toString();
}
return strArr;
}
public static void sendMessageWithID(Handler handler, int i2, int i3) {
Message obtainMessage = handler.obtainMessage();
obtainMessage.what = i2;
Bundle bundle = new Bundle();
bundle.putInt(EXTRA_ID, i3);
obtainMessage.setData(bundle);
handler.sendMessage(obtainMessage);
}
public static bf runPureScript(Context context, int i2, String str, int i3, boolean z2, String str2, String str3, Bundle bundle, Handler handler) {
WebView webView;
com.joaomgcd.taskerm.profile.k.a((String) null, bundle, false);
String wrapScript = wrapScript(context, str2, true, str3, z2, bundle);
if (wrapScript == null) {
bo.d("JSI", "runPureScript: wrap script failed");
return null;
}
bo.b("JSI" + i2, "wrapped script\n" + wrapScript);
try {
webView = new WebView(context.getApplicationContext());
} catch (Exception e2) {
bo.a("JSI", "runPureScript", e2);
webView = null;
}
if (webView != null) {
webView.getSettings().setAllowFileAccess(true);
WebChromeClientCommon a2 = a(context, i2, handler);
webView.setWebChromeClient(a2);
initWebSettings(webView, true);
bf bfVar = new bf(context, i2, str, i3, webView, a2, bundle, handler, null, null);
webView.addJavascriptInterface(bfVar, TASKER_OBJECT_NAME);
if (loadDirect(webView, wrapScript)) {
return bfVar;
}
return null;
}
return null;
}
private static WebChromeClientCommon a(Context context, final int i2, final Handler handler) {
WebChromeClientCommon webChromeClientCommon = new WebChromeClientCommon(context);
webChromeClientCommon.setHandler(new Handler() {
@Override
public void handleMessage(Message message) {
if (message.what != 1) {
return;
}
Bundle data = message.getData();
WebChromeClientCommon.a valueOf = WebChromeClientCommon.a.valueOf(data.getString("r"));
bo.b("JSI", "console: " + valueOf.toString() + ": " + data.getInt("l") + ": " + data.getString("m"));
switch (AnonymousClass4.f12170a[valueOf.ordinal()]) {
case 1:
Message obtainMessage = handler.obtainMessage();
obtainMessage.what = 2;
obtainMessage.setData(data);
data.putInt(bf.EXTRA_ID, i2);
handler.sendMessage(obtainMessage);
return;
case 2:
Message obtainMessage2 = handler.obtainMessage();
obtainMessage2.what = 4;
obtainMessage2.setData(data);
data.putInt(bf.EXTRA_ID, i2);
handler.sendMessage(obtainMessage2);
return;
default:
return;
}
}
});
return webChromeClientCommon;
}
private static String a(String str) {
String q2 = gx.q(str);
String str2 = "'" + str + "'";
return "if(typeof " + q2 + "!=\"undefined\" &&(typeof " + q2 + "!=\"object\"||" + q2 + "==null||(!(" + q2 + " instanceof Array)))){if(" + q2 + "==undefined){" + b("_clearLocal") + str2 + ");}else{" + b("setLocal") + str2 + ',' + q2 + ");}}";
}
private static String a(Context context, String str, Bundle bundle) {
String c2 = c(gx.d(context, str, bundle));
return "var " + gx.q(str) + " = '" + c2 + "'; ";
}
private static void a(StringBuilder sb, String str) {
String q2 = gx.q(str);
String str2 = q2 + "[ZWQDR]";
String str3 = str + "'+(ZWQDR+1)";
sb.append("if(");
sb.append("typeof ");
sb.append(q2);
sb.append("==\"object\" &&");
sb.append(q2);
sb.append(" instanceof Array");
sb.append("){");
sb.append("for(ZWQDR=0;ZWQDR<" + q2 + ".length;ZWQDR++){ ");
sb.append("if(window['" + q2 + "'+(ZWQDR+1)]) continue;");
sb.append("if(" + str2 + "!=undefined && " + str2 + "!='undefined'){");
sb.append(b("setLocal") + "'" + str3 + "," + str2 + ");");
sb.append("}else{");
StringBuilder sb2 = new StringBuilder();
sb2.append(b("_clearLocal"));
sb2.append("'");
sb2.append(str3);
sb2.append(");");
sb.append(sb2.toString());
sb.append('}');
sb.append('}');
sb.append('}');
}
private static String b(String str) {
return "tk." + str + "(";
}
private static void a(StringBuilder sb, String str, int i2, Bundle bundle) {
sb.append("var ");
sb.append(gx.q(str));
sb.append(" = [");
for (int i3 = 1; i3 <= i2; i3++) {
String str2 = str + i3;
String c2 = bundle.containsKey(str2) ? c(bundle.getString(str2)) : "undefined";
if (i3 != 1) {
sb.append(',');
}
sb.append('\'');
sb.append(c2);
sb.append('\'');
}
sb.append("]; ");
}
private static String c(String str) {
return str == null ? "" : str.replaceAll("\\\\", "\\\\\\\\").replaceAll("\n", "\\\\n").replaceAll("'", "\\\\'").replaceAll("\\\"", "\\\\\"").replace("</script>", "<' + '/script>").replace("\r", "");
}
private static Set<String> a(String str, String str2) {
HashSet hashSet = new HashSet();
Matcher matcher = Pattern.compile(str2, 0).matcher(str);
while (matcher.find()) {
String group = matcher.group(1);
if (gx.o("%" + group)) {
hashSet.add(group);
} else {
bo.b("JSI", "getUserScriptVarsAux: ignoring local var name: " + group);
}
}
return hashSet;
}
private static Set<String> d(String str) {
return a(str, "(?:[\\s;}{]|^)var\\s+([\\w&&[^_]][\\w0-9\\.]+[\\w0-9&&[^_]])\\s*=\\s*(?:new\\s+Array\\s*\\(|\\[)");
}
private static Set<String> e(String str) {
return a(str, "(?:[\\s;}{]|^)var\\s+([\\w&&[^_]][\\w0-9\\.]+[\\w0-9&&[^_]])");
}
public static HashMap<String, Integer> getArrayNames(Bundle bundle) {
HashMap<String, Integer> hashMap = new HashMap<>();
for (String str : bundle.keySet()) {
if (gx.m(str)) {
String k2 = gx.k(str);
int parseInt = Integer.parseInt(str.substring(k2.length()));
if (bundle.containsKey(k2)) {
bo.b("JSI", "getArrayNames: ignore array index, have base simple variable");
} else {
int intValue = hashMap.containsKey(k2) ? hashMap.get(k2).intValue() : 0;
if (parseInt <= intValue) {
parseInt = intValue;
}
hashMap.put(k2, Integer.valueOf(parseInt));
}
}
}
return hashMap;
}
public static String getWrappedBuiltinFunctions(String str) {
StringBuilder sb = new StringBuilder();
sb.append("<script type=\"text/javascript\">");
a(str, dA, dB, sb);
sb.append("</script>");
return sb.toString();
}
public static String wrapScript(Context context, String str, boolean z2, String str2, boolean z3, Bundle bundle) {
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = new StringBuilder();
HashMap<String, Integer> arrayNames = getArrayNames(bundle);
if (arrayNames.size() > 0) {
for (Map.Entry<String, Integer> entry : arrayNames.entrySet()) {
String key = entry.getKey();
if (str.contains(gx.q(key))) {
a(sb, key, entry.getValue().intValue(), bundle);
a(sb2, key);
}
}
}
for (String str3 : bundle.keySet()) {
if (str3 == null) {
bo.c("JSI", "wrapScript: ignoring null name on local var list");
} else if (!gx.m(str3) && str.contains(gx.q(str3))) {
sb.append(a(context, str3, bundle));
sb2.append(a(str3));
}
}
Set<String> d2 = d(str);
Iterator<String> it = e(str).iterator();
while (it.hasNext()) {
sb3.append(a("%" + it.next()));
}
Iterator<String> it2 = d2.iterator();
while (it2.hasNext()) {
a(sb3, "%" + it2.next());
}
StringBuilder sb4 = new StringBuilder();
int i2 = 0;
if (!TextUtils.isEmpty(str2)) {
String[] split = str2.split("\n");
if (!gs.a((Object[]) split)) {
int length = split.length;
int i3 = 0;
while (i2 < length) {
String trim = split[i2].trim();
if (trim.startsWith(File.separator)) {
trim = "file://" + trim;
}
Uri parse = Uri.parse(trim);
File file = gs.a(parse, "file") ? new File(parse.getPath()) : null;
if (file != null) {
if (!file.exists()) {
bo.d("JSI", "wrapScript: non-existing library file: " + trim);
return null;
}
String a2 = gs.a(file);
if (a2 == null) {
bo.d("JSI", "wrapScript: failed to read library from " + file);
return null;
}
sb4.append("<script type=\"text/javascript\">");
sb4.append(a2);
sb4.append("</script>");
} else {
sb4.append("<script type=\"text/javascript\" src=\"");
sb4.append(trim);
sb4.append("\"></script>");
}
i2++;
i3 = 1;
}
i2 = i3;
}
}
StringBuilder sb5 = new StringBuilder();
a(i2 == 0 ? str : null, dA, dB, sb5);
if (sb5.length() > 0) {
sb4.append("<script type=\"text/javascript\">");
sb4.append((CharSequence) sb5);
sb4.append("</script>");
}
sb4.append("<script type=\"text/javascript\">");
if (z2) {
sb4.append("try{");
sb4.append((CharSequence) sb);
sb4.append(str);
sb4.append(";\n}finally{");
sb4.append((CharSequence) sb3);
sb4.append((CharSequence) sb2);
if (z3) {
sb4.append(b("exit") + ");");
}
sb4.append("}");
} else {
sb4.append((CharSequence) sb5);
}
sb4.append("</script>");
return sb4.toString();
}
private static void a(String str, String[] strArr, a[][] aVarArr, StringBuilder sb) {
boolean z2 = str != null && str.contains("eval(");
int i2 = 0;
for (String str2 : strArr) {
if (str == null || str.contains(str2) || z2) {
sb.append("var");
sb.append(' ');
sb.append(str2);
sb.append('=');
int length = aVarArr[i2].length;
sb.append("function(");
for (int i3 = 1; i3 < length; i3++) {
if (i3 != 1) {
sb.append(",");
}
sb.append("a");
sb.append(i3);
}
sb.append(")");
sb.append("{");
if (aVarArr[i2][0] != a.None) {
sb.append("return");
sb.append(' ');
}
sb.append(b(str2));
for (int i4 = 1; i4 < length; i4++) {
if (i4 != 1) {
sb.append(",");
}
sb.append("a");
sb.append(i4);
}
sb.append(")");
sb.append("}");
sb.append(";");
}
i2++;
}
}
public static String getFunctionTemplate(int i2) {
StringBuilder sb = new StringBuilder();
sb.append(dA[i2]);
sb.append('(');
for (int i3 = 1; i3 < dB[i2].length; i3++) {
if (i3 != 1) {
sb.append(',');
}
sb.append(" ");
}
sb.append(");");
return sb.toString();
}
public static String getFunctionLabel(int i2) {
return dA[i2];
}
public static int getFunctionNoArgs(int i2) {
return dB[i2].length - 1;
}
public static String formatConsoleMessageForLog(Context context, Bundle bundle) {
return "line " + bundle.getInt("l") + ": " + bundle.getString("m");
}
public static void flashErrorBundle(Context context, Bundle bundle) {
String str = ct.a(context, (int) R.string.an_javascriptlet, new Object[0]) + ": line " + bundle.getInt("l") + ": " + bundle.getString("m");
gs.e(context, str, new Object[0]);
bo.c("JSI", str);
}
public static boolean scriptHasFunction(String str, String str2) {
return Pattern.compile(str2 + "\\s*\\(").matcher(str).find();
}
public static boolean scriptHasFunctionWithMatchingArg(String str, String str2, int i2, int i3, String str3) {
return getMatchingArgs(str, str2, i2, i3, str3) != null;
}
public static List<String> getMatchingArgs(String str, String str2, int i2, int i3, String str3) {
Pattern compile = Pattern.compile(str3);
ArrayList arrayList = null;
for (List<String> list : getFunctionArgs(str, str2, i2)) {
if (list.size() >= i3 - 1) {
String str4 = list.get(i3);
if (compile.matcher(str4).matches()) {
if (arrayList == null) {
arrayList = new ArrayList();
}
arrayList.add(str4);
}
}
}
return arrayList;
}
public static List<List<String>> getFunctionArgs(String str, String str2, int i2) {
int indexOf;
ArrayList arrayList = new ArrayList();
int i3 = 0;
try {
int length = str2.length();
while (i3 < str.length() && (indexOf = str.indexOf(str2, i3)) != -1 && indexOf < str.length()) {
int i4 = indexOf + length;
ArrayList arrayList2 = new ArrayList();
int a2 = a(str.substring(i4), arrayList2);
if (arrayList2.size() >= i2) {
arrayList.add(arrayList2);
} else {
bo.b("JSI", "func " + str2 + " expected min" + i2 + " args, got " + arrayList2.size());
}
i3 = i4 + length + a2;
}
} catch (Exception e2) {
bo.a("JSI", "exception parsing JS", e2);
bo.d("JSI", str);
}
return arrayList;
}
private static int a(String str, List<String> list) {
int i2 = 0;
int i3 = 0;
int i4 = 0;
char c2 = 65535;
char c3 = 65535;
int i5 = 0;
char c4 = 65535;
while (true) {
if (i2 >= str.length()) {
break;
}
char charAt = str.charAt(i2);
i3++;
if (charAt == '(') {
if (i4 == 0) {
i5 = i2 + 1;
}
i4++;
} else if (i4 == 0) {
if (!Character.isWhitespace(charAt)) {
bo.b("JSI", "non-whitespace before open bracket");
break;
}
} else if (charAt == '\"' && c2 != '\\') {
if (c3 != '\"') {
if (c3 == 65535) {
i5 = i2 + 1;
c3 = '\"';
c4 = '\"';
}
}
c3 = 65535;
} else if (charAt == '\'' && c2 != '\\') {
if (c3 != '\'') {
if (c3 == 65535) {
i5 = i2 + 1;
c3 = '\'';
c4 = '\'';
}
}
c3 = 65535;
} else if (charAt == ',') {
if (c3 == 65535) {
String trim = str.substring(i5, i2).trim();
if (trim.charAt(trim.length() - 1) == c4) {
trim = trim.substring(0, trim.length() - 1);
}
list.add(trim.trim());
i5 = i2 + 1;
}
} else if (charAt == ')' && c3 == 65535 && i4 - 1 == 0) {
String trim2 = str.substring(i5, i2).trim();
if (trim2.charAt(trim2.length() - 1) == c4) {
trim2 = trim2.substring(0, trim2.length() - 1);
}
list.add(trim2.trim());
}
i2++;
c2 = charAt;
}
return i3;
}
public static boolean scriptHasDialogs(String str) {
if (str == null) {
return false;
}
if (str.contains("dialog")) {
return true;
}
if (dF == null) {
dF = Pattern.compile("(prompt|confirm)\\s*\\(");
}
return dF.matcher(str).find();
}
private static int a(String str, String str2, String str3) {
if ("undefined".equals(str)) {
str = str2;
}
int b2 = gs.b(str, n.f13692e);
if (b2 == -1) {
bo.d("JSI", str3 + ": unknown stream: " + str);
return gs.b(str2, n.f13692e);
}
return b2;
}
public static String getScriptFromAction(Context context, c cVar, Bundle bundle) {
String a2;
if (cVar.i() == 129) {
return cVar.j(0).c();
}
if (cVar.y()) {
return cVar.z();
}
String b2 = gx.b(context, cVar.j(0).c(), bundle);
if (Kid.a(context)) {
Resources resources = context.getResources();
a2 = ct.b(resources, "kid/js" + File.separator + Kid.a(b2));
} else {
a2 = gs.a(new File(gs.n(b2)));
}
if (a2 != null) {
cVar.b(a2);
return a2;
}
return a2;
}
public static String getLibraryTemplate() {
StringBuilder sb = new StringBuilder();
sb.append("// v");
sb.append(1);
sb.append(" tv");
sb.append("6.1.32");
sb.append('\n');
for (int i2 = 0; i2 < dA.length; i2++) {
a[] aVarArr = dB[i2];
String str = dA[i2];
sb.append("function");
sb.append(' ');
sb.append(str);
sb.append('(');
for (int i3 = 1; i3 < aVarArr.length; i3++) {
if (i3 != 1) {
sb.append(",");
}
sb.append("a");
sb.append(i3);
}
sb.append("){");
if (aVarArr[0] != a.None) {
switch (aVarArr[0]) {
case Int:
sb.append("return");
sb.append(' ');
sb.append(0);
sb.append(';');
continue;
case String:
if (str.equals("global")) {
sb.append("if(a1=='");
sb.append(gx.q(gx.a(71)));
sb.append("'||a1=='");
sb.append(gx.a(71));
sb.append("'){return '0';}else{return ' ';}");
continue;
} else {
sb.append("return");
sb.append(" ' '");
sb.append(';');
break;
}
case Bool:
sb.append("return");
sb.append(' ');
sb.append("true");
sb.append(';');
continue;
case None:
break;
case StringArray:
bo.c("JSI", "getLibTemplate: JSI doesn't support str[] returns");
continue;
default:
bo.c("JSI", "unknown return type " + aVarArr[0]);
continue;
}
}
sb.append("}\n");
}
return sb.toString();
}
public static class AnonymousClass4 {
static final int[] f12170a;
static {
try {
f12171b[a.Int.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
f12171b[a.String.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
f12171b[a.Bool.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
f12171b[a.None.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
f12171b[a.StringArray.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
f12170a = new int[WebChromeClientCommon.a.values().length];
try {
f12170a[WebChromeClientCommon.a.ERROR.ordinal()] = 1;
} catch (NoSuchFieldError unused6) {
}
try {
f12170a[WebChromeClientCommon.a.WARNING.ordinal()] = 2;
} catch (NoSuchFieldError unused7) {
}
}
}
public static boolean loadDirect(WebView webView, String str) {
try {
webView.loadDataWithBaseURL("file://", str, "text/html", "utf-8", null);
return true;
} catch (Exception e2) {
bo.a("JSI", "loadDirect", e2);
return false;
}
}
public static void initWebSettings(WebView webView, boolean z2) {
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
if (bw.ba.d()) {
bw.ba.a(settings, WebSettings.PluginState.ON);
}
settings.setAllowContentAccess(true);
if (bw.ba.c()) {
bw.ba.a(settings, z2);
}
}
public static int getNoArgs(a[] aVarArr) {
return aVarArr.length - 1;
}
public int getID() {
return this.dS;
}
public void setID(int i2) {
this.dS = i2;
}
public void _stop() {
synchronized (this.dR) {
if (!this.dQ) {
this.dP = true;
bo.b(this.dH, "stop");
for (int i2 = 0; i2 <= 4; i2++) {
if (this.dL != null) {
this.dL.removeMessages(i2);
}
}
if (this.dM != null) {
this.dM.stopLoading();
}
this.dG.open();
if (this.dO != null) {
this.dO.destroy();
}
MyActivity.unbindAllReferences(this.dM);
if (this.dM != null) {
this.dM.removeJavascriptInterface(TASKER_OBJECT_NAME);
this.dM = null;
}
this.dK = null;
this.dL = null;
this.dN = null;
this.dO = null;
this.dQ = true;
}
}
bo.b(this.dH, "stop() finished");
}
public Context a() {
return this.dK;
}
public Bundle _getLocalVars() {
return this.dN;
}
public Handler _getHandler() {
return this.dL;
}
public WebView _getWebView() {
return this.dM;
}
@JavascriptInterface
public boolean alarmVol(int i2, boolean z2, boolean z3) {
return a(ALARM_VOL_LABEL, 303, i2, z2, z3);
}
@JavascriptInterface
public boolean btVoiceVol(int i2, boolean z2, boolean z3) {
return a(BT_VOICE_VOL_LABEL, 311, i2, z2, z3);
}
@JavascriptInterface
public boolean callVol(int i2, boolean z2, boolean z3) {
return a(CALL_VOL_LABEL, 306, i2, z2, z3);
}
@JavascriptInterface
public boolean dtmfVol(int i2, boolean z2, boolean z3) {
return a(DTMF_VOL_LABEL, 309, i2, z2, z3);
}
@JavascriptInterface
public boolean mediaVol(int i2, boolean z2, boolean z3) {
return a(MEDIA_VOL_LABEL, 307, i2, z2, z3);
}
@JavascriptInterface
public boolean notificationVol(int i2, boolean z2, boolean z3) {
return a(NOTIFICATION_VOL_LABEL, 305, i2, z2, z3);
}
@JavascriptInterface
public boolean systemVol(int i2, boolean z2, boolean z3) {
return a(SYSTEM_VOL_LABEL, 308, i2, z2, z3);
}
@JavascriptInterface
public boolean ringerVol(int i2, boolean z2, boolean z3) {
return a(RINGER_VOL_LABEL, 304, i2, z2, z3);
}
private boolean a(String str, int i2, int i3, boolean z2, boolean z3) {
if (g(str)) {
c cVar = new c(i2);
cVar.a(0, i3);
cVar.a(1, z2);
cVar.a(2, z3);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean audioRecord(String str, String str2, String str3, String str4) {
if (g(AUDIO_RECORD_LABEL)) {
int b2 = gs.b(str2, n.p);
int b3 = gs.b(str3, n.k);
int b4 = gs.b(str4, n.n);
if (b2 == -1) {
bo.d("JSI", "audioRecord: bad source: " + str2);
return false;
} else if (b3 == -1) {
bo.d("JSI", "audioRecord: bad codec: " + str3);
return false;
} else if (b4 == -1) {
bo.d("JSI", "audioRecord: bad format: " + str4);
return false;
} else {
c cVar = new c(455);
cVar.b(0, str);
cVar.a(1, b2);
cVar.a(3, b3);
cVar.a(4, b4);
cVar.a(2, 0);
return a(cVar);
}
}
return false;
}
@JavascriptInterface
public boolean audioRecordStop() {
if (g("audioRecordStop")) {
return a(new c(657));
}
return false;
}
@JavascriptInterface
public boolean browseURL(String str) {
if (g("browseURL")) {
c cVar = new c(104);
cVar.b(0, f(str));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean button(String str) {
if (g("button")) {
int b2 = gs.b(str, n.f13693f);
if (b2 == -1) {
bo.d("JSI", "button: unknown button: " + str);
return false;
}
c cVar = new c(703);
cVar.a(0, b2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean call(String str, boolean z2) {
if (g("call")) {
c cVar = new c(90);
cVar.b(0, str);
cVar.a(1, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean callBlock(String str, boolean z2) {
if (g(CALL_BLOCK_LABEL)) {
c cVar = new c(95);
cVar.b(0, f(str));
cVar.a(1, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean callDivert(String str, String str2, boolean z2) {
if (g(CALL_DIVERT_LABEL)) {
c cVar = new c(97);
cVar.b(0, f(str));
cVar.b(1, f(str2));
cVar.a(2, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean callRevert(String str) {
if (g(CALL_REVERT_LABEL)) {
c cVar = new c(99);
cVar.b(0, f(str));
cVar.a(1, false);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean carMode(boolean z2) {
return a(CAR_MODE_LABEL, 988, 0, z2);
}
@JavascriptInterface
public final String convert(String str, String str2) {
String str3;
str3 = "undefined";
if (g("convert")) {
this.dN.putString("%rer8ewhckxke", str);
int b2 = gs.b(str2, n.z);
c cVar = new c(596);
cVar.b(0, "%rer8ewhckxke");
cVar.a(1, b2);
cVar.b(2, "");
String b3 = b(cVar);
str3 = b3 != null ? b3 : "undefined";
this.dN.remove("%rer8ewhckxke");
}
return str3;
}
@JavascriptInterface
public final boolean composeEmail(String str, String str2, String str3) {
if (g("composeEmail")) {
c cVar = new c(125);
cVar.b(0, f(str));
cVar.b(1, f(str2));
cVar.b(2, f(str3));
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean composeMMS(String str, String str2, String str3, String str4) {
if (g("composeMMS")) {
c cVar = new c(111);
cVar.b(0, f(str));
cVar.b(1, f(str2));
cVar.b(2, f(str3));
cVar.b(3, f(str4));
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean composeSMS(String str, String str2) {
if (g("composeSMS")) {
c cVar = new c(250);
cVar.b(0, f(str));
cVar.b(1, f(str2));
return a(cVar);
}
return false;
}
@JavascriptInterface
public String httpRequest(String str, String str2, String str3, String str4, String str5, String str6, String str7, Integer num, boolean z2, boolean z3, boolean z4, boolean z5) {
if (g("httpRequest")) {
return b(com.joaomgcd.taskerm.action.net.g.a(f(str), f(str2), f(str3), f(str4), f(str5), f(str6), f(str7), num, Boolean.valueOf(z2), z3, Boolean.valueOf(z4), Boolean.valueOf(z5)));
}
return null;
}
@JavascriptInterface
public boolean sendCommand(String str) {
if (g("sendCommand")) {
return a(com.joaomgcd.taskerm.action.d.a.a(str));
}
return false;
}
@JavascriptInterface
public boolean createDir(String str, boolean z2, boolean z3) {
if (g("createDir")) {
c cVar = new c(409);
cVar.b(0, str);
cVar.a(1, z2);
cVar.a(2, z3);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean createScene(String str) {
if (g("createScene")) {
c cVar = new c(46);
cVar.b(0, str);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean cropImage(int i2, int i3, int i4, int i5) {
if (g("cropImage")) {
c cVar = new c(189);
cVar.a(3, i5);
cVar.a(0, i2);
cVar.a(1, i3);
cVar.a(2, i4);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean deleteDir(String str, boolean z2, boolean z3) {
if (g("deleteDir")) {
c cVar = new c(408);
cVar.b(0, str);
cVar.a(1, z2);
cVar.a(2, z3);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean deleteFile(String str, int i2, boolean z2) {
if (g("deleteFile")) {
c cVar = new c(406);
cVar.b(0, str);
cVar.a(1, i2);
cVar.a(2, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public void destroyScene(String str) {
if (g("destroyScene")) {
c cVar = new c(49);
cVar.b(0, str);
a(cVar);
}
}
@JavascriptInterface
public boolean disable() {
return a(DISABLE_LABEL, 139);
}
@JavascriptInterface
public boolean displayAutoBright(boolean z2) {
return a(DISPLAY_AUTO_BRIGHT_LABEL, 808, 0, z2);
}
@JavascriptInterface
public boolean displayTimeout(int i2, int i3, int i4) {
if (g(DISPLAY_TIMEOUT_LABEL)) {
c cVar = new c(812);
cVar.a(2, i2);
cVar.a(1, i3);
cVar.a(0, i4);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean displayAutoRotate(boolean z2) {
return a(DISPLAY_AUTO_ROTATE_LABEL, 822, 0, z2);
}
@JavascriptInterface
public boolean dpad(String str, int i2) {
if (g("dpad")) {
int b2 = gs.b(str, n.g);
if (b2 == -1) {
bo.d("JSI", "dpad: bad dir: " + str);
return false;
}
c cVar = new c(701);
cVar.a(0, b2);
cVar.a(1, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemBackColour(String str, String str2, String str3, String str4) {
if (g(ELEMENT_BACK_COLOUR_LABEL)) {
c cVar = new c(55);
cVar.b(0, str);
cVar.b(1, str2);
cVar.b(2, f(str3));
cVar.b(3, f(str4));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemBorder(String str, String str2, int i2, String str3) {
if (g(ELEMENT_BORDER_LABEL)) {
c cVar = new c(56);
cVar.b(0, str);
cVar.b(1, str2);
cVar.a(2, i2);
cVar.b(3, f(str3));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemPosition(String str, String str2, String str3, int i2, int i3, int i4) {
int i5;
if (g(ELEMENT_POSITION_LABEL)) {
if ("port".equals(str3)) {
i5 = 0;
} else {
i5 = "land".equals(str3) ? 1 : -1;
}
if (i5 == -1) {
bo.d("JSI", "elemPosition: bad orientation: " + str3 + ", expected port or land");
return false;
}
c cVar = new c(57);
cVar.b(0, str);
cVar.b(1, str2);
cVar.a(2, i5);
cVar.a(3, i2);
cVar.a(4, i3);
cVar.a(5, i4);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemText(String str, String str2, String str3, String str4) {
if (g(ELEMENT_TEXT_LABEL)) {
int b2 = gs.b(str3, er.f13069f);
if (b2 == -1) {
bo.d("JSI", "elemText: bad pos: " + str3);
return false;
}
c cVar = new c(51);
cVar.b(0, str);
cVar.b(1, str2);
cVar.b(3, f(str4));
cVar.a(2, b2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemTextColour(String str, String str2, String str3) {
if (g(ELEMENT_TEXT_COLOUR_LABEL)) {
c cVar = new c(54);
cVar.b(0, str);
cVar.b(1, str2);
cVar.b(2, f(str3));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemTextSize(String str, String str2, int i2) {
if (g(ELEMENT_TEXT_SIZE_LABEL)) {
c cVar = new c(71);
cVar.b(0, str);
cVar.b(1, str2);
cVar.a(2, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean elemVisibility(String str, String str2, boolean z2, int i2) {
if (g(ELEMENT_VISIBILITY_LABEL)) {
c cVar = new c(65);
cVar.b(0, str);
cVar.b(1, str2);
cVar.b(2, z2 ? 1 : 0);
cVar.a(3, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean enableProfile(String str, boolean z2) {
if (g(ENABLE_PROFILE_LABEL)) {
c cVar = new c(159);
cVar.b(0, f(str));
cVar.a(1, z2 ? 1 : 0);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean endCall() {
return a(END_CALL_LABEL, 733);
}
@JavascriptInterface
public void exit() {
g("exit");
synchronized (this.dR) {
if (!b() && this.dL != null) {
sendMessageWithID(this.dL, 1, this.dS);
}
}
synchronized (this) {
try {
Thread.sleep(200L);
} catch (Exception unused) {
}
}
}
@JavascriptInterface
public boolean filterImage(String str, int i2) {
if (g("filterImage")) {
int b2 = gs.b(str, n.q);
if (b2 == -1) {
bo.d("JSI", "filterImage: bad mode: " + str);
return false;
}
c cVar = new c(185);
cVar.a(0, b2);
cVar.a(1, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean flipImage(boolean z2) {
if (g("flipImage")) {
c cVar = new c(190);
cVar.a(0, !z2 ? 1 : 0);
return a(cVar);
}
return false;
}
private int b(String str, String str2) {
if ("gps".matches(str2)) {
return 0;
}
if ("net".matches(str2)) {
return 1;
}
if ("any".matches(str2)) {
return 2;
}
bo.d("JSI", str + ": bad source: " + str2);
return -1;
}
@JavascriptInterface
public boolean getLocation(String str, boolean z2, int i2) {
if (g(GET_LOCATION_LABEL)) {
int b2 = b(GET_LOCATION_LABEL, str);
int a2 = a(i2, 1, n.g(902, 1), n.h(902, 1));
if (b2 != -1) {
c cVar = new c(902);
cVar.a(0, b2);
cVar.a(1, a2);
cVar.a(3, z2);
cVar.a(2, false);
return b(cVar, (a2 + 2) * 1000);
}
return false;
}
return false;
}
@JavascriptInterface
public String getVoice(String str, String str2, int i2) {
int i3;
if (g("getVoice")) {
if ("free".matches(str2)) {
i3 = 0;
} else if ("web".matches(str2)) {
i3 = 1;
} else {
bo.d("JSI", "getVoice: bad model: " + str2);
i3 = -1;
}
if (i3 != -1) {
c cVar = new c(903);
cVar.b(0, f(str));
cVar.a(1, i3);
cVar.a(3, 20);
cVar.a(4, i2);
String a2 = a(cVar, (i2 + 2) * 1000);
if (a2 != null) {
return a2;
}
}
}
return "undefined";
}
@JavascriptInterface
public void goHome(int i2) {
if (g("goHome")) {
c cVar = new c(25);
cVar.a(0, i2);
a(cVar);
}
}
@JavascriptInterface
public void hideScene(String str) {
if (g("hideScene")) {
c cVar = new c(48);
cVar.b(0, str);
a(cVar);
}
}
@JavascriptInterface
public boolean performTask(String str, int i2, String str2, String str3, String str4, boolean z2, boolean z3, String str5, boolean z4) {
if (g(PERFORM_TASK_LABEL)) {
c cVar = new c(130);
cVar.b(0, str);
cVar.a(1, i2);
cVar.b(2, f(str2));
cVar.b(3, f(str3));
cVar.b(4, f(str4));
cVar.a(5, z2);
cVar.a(6, z3);
cVar.b(7, f(str5));
cVar.a(8, z4);
return a(cVar);
}
return false;
}
@JavascriptInterface
public String parseFormatDateTime(int i2, String str, String str2, String str3, String str4, String str5, boolean z2) {
if (g(PARSE_FORMAT_DATETIME_LABEL)) {
c cVar = new c(394);
cVar.a(1, i2);
cVar.b(2, f(str));
cVar.b(3, f(str2));
cVar.b(4, f(str3));
cVar.b(5, f(str4));
cVar.b(6, f(str5));
cVar.a(8, z2);
return b(cVar);
}
return null;
}
@JavascriptInterface
public boolean takePhoto(int i2, String str, String str2, boolean z2) {
if (g(TAKE_PHOTO_LABEL)) {
c cVar = new c(101);
cVar.a(0, i2);
cVar.b(1, str);
cVar.a(2, 0);
cVar.a(3, z2);
cVar.a(4, false);
cVar.b(5, str2);
cVar.b(6, "auto");
cVar.b(7, "auto");
cVar.b(8, "auto");
return a(cVar);
}
return false;
}
@JavascriptInterface
public String global(String str) {
if (g("global")) {
if (!str.startsWith("%")) {
str = "%" + str;
}
if (gx.o(str)) {
bo.d("JSI", "global: ignoring local var " + str);
return "undefined";
}
return gx.e(a(), str);
}
return "undefined";
}
@JavascriptInterface
public final boolean haptics(boolean z2) {
return a(HAPTICS_LABEL, 177, 0, z2);
}
@JavascriptInterface
public String listFiles(String str, boolean z2) {
if (g("listFiles")) {
c cVar = new c(412);
cVar.b(0, str);
cVar.b(1, "");
cVar.a(2, z2);
cVar.a(3, false);
cVar.b(5, "");
String b2 = b(cVar);
if (!TextUtils.isEmpty(b2)) {
return b2;
}
}
return null;
}
@JavascriptInterface
public final boolean loadApp(String str, String str2, boolean z2) {
if (g("loadApp")) {
AppBasic appBasic = App.get(a(), str);
if (appBasic.isInstalled()) {
String q2 = com.joaomgcd.taskerm.util.al.q(a(), appBasic.getPackageName());
c cVar = new c(20);
cVar.b(0, appBasic.getPackageName(), q2, appBasic.getName());
cVar.b(1, f(str2));
cVar.a(2, z2);
return a(cVar);
}
return false;
}
return false;
}
@JavascriptInterface
public final boolean loadImage(String str) {
if (g("loadImage")) {
g gVar = new g();
if (str.startsWith(File.separator)) {
str = "file://" + str;
}
if (gVar.a(a().getContentResolver(), Uri.parse(str))) {
c cVar = new c(188);
cVar.a(0, gVar);
return a(cVar);
}
return false;
}
return false;
}
@JavascriptInterface
public String local(String str) {
if (g("local")) {
if (!str.startsWith("%")) {
str = "%" + str;
}
if (gx.g(str) && gx.o(str)) {
if (str.equals("%caller")) {
return this.dU;
}
com.joaomgcd.taskerm.util.b<Bundle> bVar = this.dJ;
if (bVar != null) {
bVar.call(this.dN);
}
String b2 = gx.b(a(), str, this.dN, "js/local");
return this.dN.containsKey(b2) ? this.dN.getString(b2) : "";
}
bo.d("JSI", "local: ignoring global var " + str);
return "undefined";
}
return "undefined";
}
@JavascriptInterface
public boolean lock(String str, String str2, boolean z2, boolean z3, boolean z4, String str3, String str4) {
if (g(LOCK_LABEL)) {
c cVar = new c(15);
cVar.b(0, f(str));
cVar.b(1, str2);
cVar.a(2, z2);
cVar.a(3, z3);
cVar.a(4, z4);
cVar.b(5, f(str3));
cVar.b(6, f(str4));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean mediaControl(String str) {
if (g(MEDIA_CONTROL_LABEL)) {
int b2 = gs.b(str, n.f13691d);
if (b2 == -1) {
bo.d("JSI", "mediaControl: unknown action: " + str);
return false;
}
c cVar = new c(443);
cVar.a(0, b2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean micMute(boolean z2) {
return a(MIC_MUTE_LABEL, 301, 0, z2);
}
@JavascriptInterface
public final boolean mobileData(boolean z2) {
return a(MOBILE_DATA_LABEL, 433, 0, z2);
}
@JavascriptInterface
public boolean musicBack(int i2) {
if (g(MUSIC_BACK_LABEL)) {
c cVar = new c(453);
cVar.a(0, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean musicPlay(String str, int i2, boolean z2, String str2, boolean z3) {
int a2;
if (!g(MUSIC_PLAY_LABEL) || (a2 = a(str2, "media", MUSIC_PLAY_LABEL)) == -1) {
return false;
}
c cVar = new c(445);
cVar.b(0, str);
cVar.a(1, i2);
cVar.a(2, z2);
cVar.a(3, a2);
cVar.a(4, z3);
return a(cVar);
}
@JavascriptInterface
public boolean musicSkip(int i2) {
if (g(MUSIC_SKIP_LABEL)) {
c cVar = new c(451);
cVar.a(0, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean musicStop() {
if (g(MUSIC_STOP_LABEL)) {
c cVar = new c(449);
cVar.a(0, false);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean navigationBar(String str, String str2, String str3) {
if (g("navigationBar")) {
c cVar = new c(329);
cVar.b(0, f(str));
cVar.b(1, f(str2));
cVar.b(2, f(str3));
return a(cVar);
}
return false;
}
@JavascriptInterface
public String alert(String str, String str2, String str3, String str4, String str5, int i2, boolean z2) {
if (g("alert")) {
c cVar = new c(377);
String f2 = f(str2);
if (TextUtils.isEmpty(f2)) {
f2 = com.joaomgcd.taskerm.util.al.a(a());
}
String f3 = f(str3);
if (TextUtils.isEmpty(f3)) {
f3 = "OK";
}
cVar.b(1, f2);
cVar.b(2, f(str));
cVar.b(3, f3);
cVar.b(4, f(str4));
cVar.b(5, f(str5));
cVar.a(6, i2);
cVar.a(7, z2);
return b(cVar);
}
return null;
}
@JavascriptInterface
public boolean nightMode(boolean z2) {
return a(NIGHT_MODE_LABEL, 989, 0, z2);
}
@JavascriptInterface
public boolean popup(String str, String str2, boolean z2, String str3, String str4, int i2) {
if (g(POPUP_LABEL)) {
if (i2 > 600) {
bo.d("JSI", "popup: max timeout is 600");
return false;
} else if (i2 < 1) {
bo.d("JSI", "popup: min timeout is 1");
return false;
} else {
c cVar = new c(550);
cVar.b(0, f(str));
cVar.b(1, f(str2));
cVar.b(2, f(str3));
cVar.b(3, f(str4));
cVar.a(5, z2);
cVar.a(4, i2);
return b(cVar, (i2 + 2) * 1000);
}
}
return false;
}
@JavascriptInterface
public boolean pulse(boolean z2) {
return a(PULSE_LABEL, 259, 0, z2);
}
@JavascriptInterface
public void flash(final String str) {
final Context a2 = a();
if (a2 == null) {
return;
}
if (str == null) {
str = "";
}
if (g("flash")) {
com.joaomgcd.taskerm.rx.h.c(new Runnable() {
@Override
public final void run() {
bf.a(a2, str);
}
});
}
}
public static void a(Context context, String str) {
com.joaomgcd.taskerm.toast.c.a(context, str, 0).show();
}
@JavascriptInterface
public void flashLong(final String str) {
if (g("flashLong")) {
com.joaomgcd.taskerm.rx.h.c(new Runnable() {
@Override
public final void run() {
bf.this.h(str);
}
});
}
}
public void h(String str) {
com.joaomgcd.taskerm.toast.c.a(a(), str, 1).show();
}
@JavascriptInterface
public boolean profileActive(String str) {
if (g(PROFILE_ACTIVE_LABEL)) {
fz c2 = fy.c(a());
for (int i2 : MonitorService.c()) {
if (str.equals(c2.G(i2))) {
return true;
}
}
return false;
}
return false;
}
@JavascriptInterface
public String readFile(String str) {
if (g("readFile")) {
c cVar = new c(417);
cVar.b(0, str);
cVar.b(1, "");
String b2 = b(cVar);
if (b2 != null) {
return b2;
}
}
return "undefined";
}
@JavascriptInterface
public boolean reboot(String str) {
if (g("reboot")) {
if ("undefined".equals(str)) {
str = RingModeSettings.RING_MODE_NORMAL;
}
int b2 = gs.b(str, n.f13689b);
if (b2 == -1) {
bo.d("JSI", "reboot: bad type: " + str);
return false;
}
c cVar = new c(59);
cVar.a(0, b2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean resizeImage(int i2, int i3) {
if (g("resizeImage")) {
c cVar = new c(193);
cVar.a(0, i2);
cVar.a(1, i3);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean rotateImage(String str, int i2) {
int i3;
if (g("rotateImage")) {
if ("left".equals(str)) {
i3 = 1;
} else if ("right".equals(str)) {
i3 = 0;
} else {
bo.d("JSI", "rotateImage: bad dir: " + str);
i3 = -1;
}
int b2 = gs.b(String.valueOf(i2), n.h);
if (b2 == -1) {
bo.d("JSI", "rotateImage: bad degree spec: " + i2);
return false;
} else if (i3 != -1) {
c cVar = new c(191);
cVar.a(0, i3);
cVar.a(1, b2);
return a(cVar);
} else {
return false;
}
}
return false;
}
@JavascriptInterface
public boolean say(String str, String str2, String str3, String str4, int i2, int i3, boolean z2, boolean z3) {
int a2;
if (!g(SAY_LABEL) || (a2 = a(str4, "media", SAY_LABEL)) == -1) {
return false;
}
int a3 = a(i2, 0, n.g(559, 3), n.h(559, 3));
int a4 = a(i3, 0, n.g(559, 4), n.h(559, 4));
if ("undefined".equals(str2)) {
str2 = "default";
}
if ("undefined".equals(str3)) {
str3 = Locale.getDefault().getLanguage();
if (TextUtils.isEmpty(str3)) {
str3 = a().getResources().getConfiguration().locale.getLanguage();
}
}
c cVar = new c(559);
cVar.b(0, str);
cVar.b(1, str2 + ConstantsCommonTaskerServer.ID_SEPARATOR + str3);
cVar.a(2, a2);
cVar.a(3, a3);
cVar.a(4, a4);
cVar.a(6, z3);
cVar.a(5, z2);
cVar.a(7, false);
return a(cVar);
}
@JavascriptInterface
public boolean sendIntent(String str, String str2, String str3, String str4, String str5, String str6, String str7, String[] strArr) {
int i2;
if (!g(SEND_INTENT_LABEL)) {
return false;
}
String f2 = f(str5);
if (f2.length() != 0) {
for (String str8 : ct.a(a(), (int) R.array.android_intent_categories)) {
if (!str8.toLowerCase().replaceAll("\\s*", "").equals(f2)) {
}
}
i2 = -1;
String str9 = "";
String str10 = "";
String str11 = "";
if (!gs.a((Object[]) strArr)) {
str9 = strArr[0];
if (strArr.length > 1) {
str10 = strArr[1];
if (strArr.length > 2) {
str11 = strArr[2];
if (strArr.length > 3) {
bo.d("JSI", "sendIntent: ignoring > 3 extras");
}
}
}
}
int b2 = gs.b(str2, n.f13690c);
if (i2 != -1) {
bo.d("JSI", "sendIntent: bad cat: " + f2);
return false;
} else if (b2 == -1) {
bo.d("JSI", "sendIntent: bad target: " + str2);
return false;
} else {
c cVar = new c(877);
cVar.b(0, f(str));
cVar.b(7, f(str3));
cVar.b(8, f(str4));
cVar.a(9, b2);
cVar.a(1, i2);
cVar.b(3, f(str6));
cVar.b(2, f(str7));
cVar.b(4, f(str9));
cVar.b(5, f(str10));
cVar.b(6, f(str11));
return a(cVar);
}
}
i2 = 0;
String str92 = "";
String str102 = "";
String str112 = "";
if (!gs.a((Object[]) strArr)) {
}
int b22 = gs.b(str2, n.f13690c);
if (i2 != -1) {
}
}
@JavascriptInterface
public boolean sendSMS(String str, String str2, boolean z2) {
if (g(SEND_SMS_LABEL)) {
c cVar = new c(41);
cVar.b(1, str2);
cVar.b(0, str);
cVar.a(2, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean setClip(String str, boolean z2) {
if (g(SET_CLIP_LABEL)) {
c cVar = new c(105);
cVar.b(0, str);
cVar.a(1, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean settings(String str) {
int i2;
if (g(SETTINGS_LABEL)) {
int p2 = n.p(30);
int l2 = n.l(p2, 2);
int i3 = 0;
while (true) {
if (i3 >= l2) {
i2 = -1;
break;
}
i2 = n.a(p2, i3, 2);
if (n.u(i2).toLowerCase().replaceAll("\\s*", "").replaceFirst("Settings", "").equals(str)) {
break;
}
i3++;
}
if (i2 == -1) {
bo.d("JSI", "settings: unknown settings: " + str);
return false;
}
return a(new c(i2));
}
return false;
}
@JavascriptInterface
public final boolean sl4a(String str, boolean z2) {
if (g(SL4A_LABEL)) {
c cVar = new c(112);
cVar.b(0, str);
cVar.a(1, z2);
cVar.b(2, "");
return a(cVar);
}
return false;
}
@JavascriptInterface
public final String shell(String str, boolean z2, int i2) {
if (g("shell")) {
c cVar = new c(123);
cVar.a(1, i2);
cVar.b(0, str);
cVar.a(2, z2);
cVar.b(3, "");
String a2 = a(cVar, (i2 + 2) * 1000);
if (a2 != null) {
return a2;
}
}
return "undefined";
}
@JavascriptInterface
public final boolean saveImage(String str, int i2, boolean z2) {
if (g(SAVE_IMAGE_LABEL)) {
c cVar = new c(187);
cVar.b(0, str);
cVar.a(1, i2);
cVar.a(2, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean scanCard(String str) {
if (g("scanCard")) {
c cVar = new c(459);
cVar.b(0, f(str));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean setAirplaneMode(boolean z2) {
return a(SET_AIRPLANE_MODE_LABEL, 333, 0, z2);
}
@JavascriptInterface
public boolean setAirplaneRadios(String str) {
boolean z2;
if (g(SET_AIRPLANE_RADIOS_LABEL)) {
c cVar = new c(323);
String[] split = str.split(",");
if (gs.a((Object[]) split)) {
z2 = true;
} else {
boolean z3 = true;
for (String str2 : split) {
String trim = str2.trim();
if (!TextUtils.isEmpty(trim)) {
if (trim.equals("bluetooth")) {
cVar.a(0, true);
} else if (trim.equals("wimax")) {
cVar.a(4, true);
} else if (trim.equals("wifi")) {
cVar.a(3, true);
} else if (trim.equals("nfc")) {
cVar.a(2, true);
} else if (trim.equals("cell")) {
cVar.a(1, true);
} else {
bo.d("JSI", "unknown radio: " + trim);
z3 = false;
}
}
}
z2 = z3;
}
return z2 ? a(cVar) : z2;
}
return false;
}
@JavascriptInterface
public boolean setAlarm(int i2, int i3, String str, boolean z2) {
if (g(SET_ALARM_LABEL)) {
c cVar = new c(566);
cVar.b(2, f(str));
cVar.a(0, i2);
cVar.a(1, i3);
cVar.a(5, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean setAutoSync(boolean z2) {
return a(SET_AUTO_SYNC_LABEL, 331, 0, z2);
}
@JavascriptInterface
public void setGlobal(String str, String str2) {
setGlobal(str, str2, false);
}
@JavascriptInterface
public void setGlobal(String str, String str2, boolean z2) {
if (g("setGlobal")) {
if (!str.startsWith("%")) {
str = "%" + str;
}
String str3 = str;
if (!gx.c(str3)) {
bo.d(this.dH, "setGlobal: ignoring invalid varname " + str3);
} else if (gx.o(str3)) {
bo.d(this.dH, "setGlobal: ignoring local var " + str3);
} else {
bo.b(this.dH, "setGlobal: " + str3 + "->" + str2);
if (TextUtils.isEmpty(str2)) {
gx.a(a(), str3);
} else {
gx.a(a(), str3, str2, true, (Bundle) null, "setGlobal", z2 ? StructureType.Auto : null);
}
}
}
}
@JavascriptInterface
public final boolean setKey(String str, String str2) {
if (g("setKey")) {
c cVar = new c(423);
cVar.b(0, f(str));
cVar.b(1, f(str2));
return a(cVar);
}
return false;
}
@JavascriptInterface
public void setLocal(String str, String str2) {
g("setLocal");
if (!str.startsWith("%")) {
str = "%" + str;
}
if (gx.g(str) && gx.o(str)) {
String b2 = gx.b(a(), str, this.dN, "js/setlocal");
bo.b(this.dH, "setLocal: " + b2 + "->" + str2);
this.dN.putString(b2, str2);
com.joaomgcd.taskerm.util.b<c.k<String, String>> bVar = this.dI;
if (bVar != null) {
bVar.call(new c.k<>(b2, str2));
return;
}
return;
}
bo.d("JSI", "setLocal: bad local var name or reference: " + str);
}
@JavascriptInterface
public boolean setBT(boolean z2) {
return a(SET_BT_LABEL, 294, 0, z2);
}
@JavascriptInterface
public boolean setBTID(String str) {
if (g(SET_BT_ID_LABEL)) {
c cVar = new c(295);
cVar.b(0, f(str));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean setWallpaper(String str) {
if (g(SET_WALLPAPER_LABEL)) {
c cVar = new c(109);
cVar.b(1, f(str));
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean showScene(String str, String str2, int i2, int i3, boolean z2, boolean z3) {
if (g(SHOW_SCENE_LABEL)) {
int b2 = gs.b(str2, dt.f12839c);
if (i2 < -100 || i2 > 100) {
String str3 = this.dH;
bo.d(str3, "showScene:bad hOffset: " + i2);
return false;
} else if (i3 < -100 || i3 > 100) {
String str4 = this.dH;
bo.d(str4, "showScene:bad vOffset: " + i3);
return false;
} else if (b2 == -1) {
String str5 = this.dH;
bo.d(str5, "showScene:bad display type: " + str2);
return false;
} else {
c cVar = new c(47);
cVar.b(0, str);
cVar.a(1, b2);
cVar.a(2, i2 + 100);
cVar.a(3, i3 + 100);
cVar.a(5, z2);
cVar.a(7, true ^ z3);
return a(cVar);
}
}
return false;
}
@JavascriptInterface
public boolean shutdown() {
return reboot("shutdown");
}
@JavascriptInterface
public boolean silentMode(String str) {
if (g(SILENT_MODE_LABEL)) {
int i2 = str.equals("off") ? 0 : -1;
if (str.equals("vibrate")) {
i2 = 1;
}
if (str.equals("on")) {
i2 = 2;
}
if (i2 == -1) {
bo.d("JSI", "silentMode: bad mode: " + str);
return false;
}
c cVar = new c(310);
cVar.a(0, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean soundEffects(boolean z2) {
return a(SOUND_EFFECTS_LABEL, 136, 0, z2);
}
@JavascriptInterface
public final boolean speakerphone(boolean z2) {
return a(SPEAKERPHONE_LABEL, 254, 0, z2);
}
@JavascriptInterface
public final boolean statusBar(boolean z2) {
return a(STATUS_BAR_LABEL, NotificationCompat.FLAG_GROUP_SUMMARY, 0, z2);
}
@JavascriptInterface
public final boolean stayOn(String str) {
char c2;
if (g(STAY_ON_LABEL)) {
c cVar = new c(820);
if ("never".equals(str)) {
c2 = 0;
} else if ("ac".equals(str)) {
c2 = 1;
} else if ("usb".equals(str)) {
c2 = 2;
} else {
c2 = "any".equals(str) ? (char) 3 : (char) 65535;
}
if (c2 == 65535) {
bo.d("JSI", "stayOn: bad mode: " + str);
return false;
}
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean stopLocation(String str) {
int b2;
if (!g(STOP_LOCATION_LABEL) || (b2 = b(STOP_LOCATION_LABEL, str)) == -1) {
return false;
}
c cVar = new c(901);
cVar.a(0, b2);
return a(cVar);
}
@JavascriptInterface
public final boolean systemLock() {
return a(SYSTEM_LOCK_LABEL, 16);
}
@JavascriptInterface
public boolean taskRunning(String str) {
if (g(TASK_RUNNING_LABEL)) {
return ExecuteService.b().contains(str);
}
return false;
}
@JavascriptInterface
public final boolean type(String str, int i2) {
if (g("type")) {
c cVar = new c(702);
cVar.b(0, str);
cVar.a(1, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean takeCall() {
return a(TAKE_CALL_LABEL, 731);
}
@JavascriptInterface
public final boolean usbTether(boolean z2) {
return a(USB_TETHER_LABEL, 114, 0, z2);
}
@JavascriptInterface
public void vibrate(int i2) {
if (g("vibrate")) {
gs.a(a(), i2);
}
}
@JavascriptInterface
public boolean vibratePattern(String str) {
if (g(VIBRATE_PATTERN_LABEL)) {
c cVar = new c(62);
cVar.b(0, str);
return a(cVar);
}
return false;
}
@JavascriptInterface
public final boolean wifiTether(boolean z2) {
return a(WIFI_TETHER_LABEL, 113, 0, z2);
}
@JavascriptInterface
public boolean setWifi(boolean z2) {
return a(SET_WIFI_LABEL, 425, 0, z2);
}
@JavascriptInterface
public boolean unzip(String str, boolean z2) {
if (g(UNZIP_LABEL)) {
c cVar = new c(422);
cVar.b(0, str);
cVar.a(1, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean wait(int i2) {
long j2;
if (g("wait")) {
long j3 = i2;
int i3 = (int) (j3 > 86400000 ? j3 / 86400000 : 0L);
long j4 = (int) (j3 - (i3 * 86400000));
int i4 = (int) (j4 > 3600000 ? j4 / 3600000 : 0L);
long j5 = (int) (j4 - (i4 * 3600000));
int i5 = (int) (j5 > 60000 ? j5 / 60000 : 0L);
long j6 = (int) (j5 - (i5 * 60000));
int i6 = (int) (j6 > 1000 ? j6 / 1000 : 0L);
int i7 = (int) (j6 - (i6 * 1000));
bo.b(this.dH, "waitcomps:" + i7 + " " + i6 + " " + i5 + " " + i4 + " " + i3);
if (i3 > 0) {
j2 = 3600000;
} else if (i4 > 0) {
j2 = 60000;
} else if (i5 > 0) {
j2 = 1000;
} else {
j2 = i6 > 0 ? 100L : i7 / 3;
}
c cVar = new c(30);
cVar.a(0, i7);
cVar.a(1, i6);
cVar.a(2, i5);
cVar.a(3, i4);
cVar.a(4, i3);
return b(cVar, (int) Math.max(j2 * 2, 10000L));
}
return false;
}
@JavascriptInterface
public boolean writeFile(String str, String str2, boolean z2) {
if (g(WRITE_FILE_LABEL)) {
c cVar = new c(410);
cVar.b(0, str);
cVar.b(1, f(str2));
cVar.a(2, z2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public boolean zip(String str, int i2, boolean z2) {
if (g(ZIP_LABEL)) {
c cVar = new c(420);
cVar.b(0, str);
cVar.a(1, z2);
cVar.a(2, i2);
return a(cVar);
}
return false;
}
@JavascriptInterface
public void _clearLocal(String str) {
g("_clearLocal");
if (!str.startsWith("%")) {
str = "%" + str;
}
bo.b(this.dH, "_clearLocal: " + str);
this.dN.remove(str);
}
private boolean b() {
return this.dP;
}
private String f(String str) {
return (str == null || str.equals("undefined")) ? "" : str;
}
private boolean a(String str, int i2) {
if (g(str)) {
return a(new c(i2));
}
return false;
}
private boolean a(String str, int i2, int i3, boolean z2) {
if (g(str)) {
c cVar = new c(i2);
if (i2 == 512) {
cVar.a(i3, !z2 ? 1 : 0);
} else {
cVar.b(i3, z2 ? 1 : 0);
}
return a(cVar);
}
return false;
}
private boolean g(String str) {
String str2 = this.dH;
bo.b(str2, "func: " + str + " stopping: " + this.dP + " stopped: " + this.dQ);
return !b();
}
private final boolean a(c cVar) {
return b(cVar, 60000L);
}
private final String b(c cVar) {
return a(cVar, 60000L, false);
}
private final String a(c cVar, long j2) {
return a(cVar, j2, false);
}
private final boolean b(c cVar, long j2) {
return "true".equals(a(cVar, j2, true));
}
private final String a(c cVar, long j2, boolean z2) {
int indexOf;
this.dG.close();
this.dW = null;
this.dV = b.Waiting;
bo.b(this.dH, "sendAction: " + cVar.n() + " timeoutMS: " + j2);
final String str = TASK_NAME_PREFIX + this.dS + ConstantsCommonTaskerServer.ID_SEPARATOR + Long.toString((long) new Random().nextInt());
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
com.joaomgcd.taskerm.util.aa.b(intent);
if (intent.getData().getSchemeSpecificPart().equals(str)) {
boolean booleanExtra = intent.getBooleanExtra("success", false);
byte[] byteArrayExtra = intent.getByteArrayExtra("output");
String str2 = bf.this.dH;
bo.b(str2, "JSI" + bf.this.dS + ": onReceive: result: " + booleanExtra);
if (booleanExtra) {
bf.this.dV = b.Success;
if (byteArrayExtra != null) {
bf.this.dW = hi.a(byteArrayExtra);
}
} else {
bf.this.dV = b.Failure;
}
if (bf.this.dK != null) {
gs.a(bf.this.a(), (BroadcastReceiver) this);
}
if (bf.this.dG != null) {
bf.this.dG.open();
}
}
}
};
a().registerReceiver(broadcastReceiver, TaskerIntent.a(str));
ft d2 = fy.d();
d2.a(str);
d2.g(this.dT + 2);
d2.a(cVar);
if (this.dU != null && (indexOf = this.dU.indexOf(ConstantsCommonTaskerServer.ID_SEPARATOR)) != -1) {
gx.a(this.dU.substring(0, indexOf), this.dN);
}
ExecuteService.a(a(), d2, 5, -1, -1, -1, (String) null, gx.b(this.dN), this.dU, this.dN);
this.dG.block(j2);
gs.a(a(), broadcastReceiver);
if (this.dV == b.Waiting) {
this.dV = b.Failure;
synchronized (this.dR) {
if (!b()) {
this.dM.post(new Runnable() {
@Override
public void run() {
bf.this._stop();
}
});
}
}
}
if (this.dV == b.Success) {
return z2 ? "true" : this.dW == null ? "" : this.dW;
} else if (z2) {
return "false";
} else {
return null;
}
}
}