| Code with Finding: | 
                        
                                                                                                        /*
 * Decompiled with CFR 0_128.
 * 
 * Could not load the following classes:
 *  android.app.PendingIntent
 *  android.app.SearchableInfo
 *  android.content.ActivityNotFoundException
 *  android.content.ComponentName
 *  android.content.Context
 *  android.content.Intent
 *  android.content.res.Configuration
 *  android.content.res.Resources
 *  android.content.res.Resources$Theme
 *  android.content.res.TypedArray
 *  android.database.Cursor
 *  android.graphics.Rect
 *  android.graphics.drawable.Drawable
 *  android.net.Uri
 *  android.os.Build
 *  android.os.Build$VERSION
 *  android.os.Bundle
 *  android.os.IBinder
 *  android.os.Parcelable
 *  android.os.ResultReceiver
 *  android.support.v4.view.KeyEventCompat
 *  android.support.v4.widget.CursorAdapter
 *  android.text.Editable
 *  android.text.SpannableStringBuilder
 *  android.text.TextUtils
 *  android.text.TextWatcher
 *  android.text.style.ImageSpan
 *  android.util.AttributeSet
 *  android.util.Log
 *  android.util.TypedValue
 *  android.view.KeyEvent
 *  android.view.LayoutInflater
 *  android.view.View
 *  android.view.View$MeasureSpec
 *  android.view.View$OnClickListener
 *  android.view.View$OnFocusChangeListener
 *  android.view.View$OnKeyListener
 *  android.view.View$OnLayoutChangeListener
 *  android.view.ViewGroup
 *  android.view.ViewTreeObserver
 *  android.view.ViewTreeObserver$OnGlobalLayoutListener
 *  android.view.accessibility.AccessibilityEvent
 *  android.view.accessibility.AccessibilityNodeInfo
 *  android.view.inputmethod.InputMethodManager
 *  android.widget.AdapterView
 *  android.widget.AdapterView$OnItemClickListener
 *  android.widget.AdapterView$OnItemSelectedListener
 *  android.widget.AutoCompleteTextView
 *  android.widget.ImageView
 *  android.widget.LinearLayout
 *  android.widget.TextView
 *  android.widget.TextView$OnEditorActionListener
 *  com.actionbarsherlock.R
 *  com.actionbarsherlock.R$attr
 *  com.actionbarsherlock.R$dimen
 *  com.actionbarsherlock.R$id
 *  com.actionbarsherlock.R$layout
 *  com.actionbarsherlock.R$styleable
 *  com.actionbarsherlock.app.SherlockActivity
 *  com.actionbarsherlock.view.CollapsibleActionView
 *  com.actionbarsherlock.widget.SearchView$1
 *  com.actionbarsherlock.widget.SearchView$10
 *  com.actionbarsherlock.widget.SearchView$11
 *  com.actionbarsherlock.widget.SearchView$12
 *  com.actionbarsherlock.widget.SearchView$2
 *  com.actionbarsherlock.widget.SearchView$3
 *  com.actionbarsherlock.widget.SearchView$4
 *  com.actionbarsherlock.widget.SearchView$5
 *  com.actionbarsherlock.widget.SearchView$6
 *  com.actionbarsherlock.widget.SearchView$7
 *  com.actionbarsherlock.widget.SearchView$8
 *  com.actionbarsherlock.widget.SearchView$9
 *  com.actionbarsherlock.widget.SearchView$OnCloseListener
 *  com.actionbarsherlock.widget.SearchView$OnQueryTextListener
 *  com.actionbarsherlock.widget.SearchView$OnSuggestionListener
 *  com.actionbarsherlock.widget.SearchView$SearchAutoComplete
 *  com.actionbarsherlock.widget.SuggestionsAdapter
 */
package com.actionbarsherlock.widget;
import android.app.PendingIntent;
import android.app.SearchableInfo;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.Cursor;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcelable;
import android.os.ResultReceiver;
import android.support.v4.view.KeyEventCompat;
import android.support.v4.widget.CursorAdapter;
import android.text.Editable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.style.ImageSpan;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AutoCompleteTextView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.actionbarsherlock.R;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.CollapsibleActionView;
import com.actionbarsherlock.widget.SearchView;
import com.actionbarsherlock.widget.SuggestionsAdapter;
import java.lang.reflect.Method;
import java.util.WeakHashMap;
public class SearchView
extends LinearLayout
implements CollapsibleActionView {
    public static boolean a;
    private static final String[] z;
    private Bundle mAppSearchData;
    private boolean mClearingFocus;
    private ImageView mCloseButton;
    private int mCollapsedImeOptions;
    private View mDropDownAnchor;
    private boolean mExpandedInActionView;
    private boolean mIconified;
    private boolean mIconifiedByDefault;
    private int mMaxWidth;
    private CharSequence mOldQueryText;
    private final View.OnClickListener mOnClickListener;
    private OnCloseListener mOnCloseListener;
    private final TextView.OnEditorActionListener mOnEditorActionListener;
    private final AdapterView.OnItemClickListener mOnItemClickListener;
    private final AdapterView.OnItemSelectedListener mOnItemSelectedListener;
    private OnQueryTextListener mOnQueryChangeListener;
    private View.OnFocusChangeListener mOnQueryTextFocusChangeListener;
    private View.OnClickListener mOnSearchClickListener;
    private OnSuggestionListener mOnSuggestionListener;
    private final WeakHashMap mOutsideDrawablesCache;
    private CharSequence mQueryHint;
    private SearchAutoComplete mQueryTextView;
    private Runnable mReleaseCursorRunnable;
    private View mSearchButton;
    private View mSearchEditFrame;
    private ImageView mSearchHintIcon;
    private View mSearchPlate;
    private SearchableInfo mSearchable;
    private Runnable mShowImeRunnable;
    private View mSubmitArea;
    private View mSubmitButton;
    private boolean mSubmitButtonEnabled;
    private CursorAdapter mSuggestionsAdapter;
    View.OnKeyListener mTextKeyListener;
    private TextWatcher mTextWatcher;
    private Runnable mUpdateDrawableStateRunnable;
    private CharSequence mUserQuery;
    private final Intent mVoiceAppSearchIntent;
    private View mVoiceButton;
    private boolean mVoiceButtonEnabled;
    private final Intent mVoiceWebSearchIntent;
    /*
     * Enabled aggressive block sorting
     */
    static {
        String[] arrstring = new String[42];
        String string = "\u0000\u000f\u001e@\u0018\u0001\u0012\u000bC\u0014\u0010#7G\u0002\u0003\u0005;";
        int n = -1;
        String[] arrstring2 = arrstring;
        int n2 = 0;
        block49 : do {
            char[] arrc = string.toCharArray();
            int n3 = arrc.length;
            int n4 = 0;
            do {
                int n5;
                if (n3 <= n4) {
                    String string2 = new String(arrc).intern();
                    switch (n) {
                        default: {
                            arrstring2[n2] = string2;
                            string = "\u0000\u000f\u001dC\n\u000b\u0012:r\t\u001c\u0014\u001cN\r\n\u0007:B";
                            n2 = 1;
                            arrstring2 = arrstring;
                            n = 0;
                            continue block49;
                        }
                        case 0: {
                            arrstring2[n2] = string2;
                            string = "\"\u00016J\t\u0000@3G\u0019\n\u00037\u0006\r\u0007\u00146P\u0005\u0010\u0019e\u0006";
                            n2 = 2;
                            arrstring2 = arrstring;
                            n = 1;
                            continue block49;
                        }
                        case 1: {
                            arrstring2[n2] = string2;
                            string = "7\u0005>T\u000f\f66C\u001b";
                            n2 = 3;
                            arrstring2 = arrstring;
                            n = 2;
                            continue block49;
                        }
                        case 2: {
                            arrstring2[n2] = string2;
                            n2 = 4;
                            arrstring2 = arrstring;
                            string = "\u0011\u0013:T3\u0015\u0015:T\u0015";
                            n = 3;
                            continue block49;
                        }
                        case 3: {
                            arrstring2[n2] = string2;
                            n2 = 5;
                            string = "\u0015\u0015:T\u0015";
                            n = 4;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 4: {
                            arrstring2[n2] = string2;
                            n2 = 6;
                            string = "\u0005\u0003+O\u0003\n?4C\u0015";
                            n = 5;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 5: {
                            arrstring2[n2] = string2;
                            n2 = 7;
                            string = "\r\u000e+C\u0002\u0010?:^\u0018\u0016\u0001\u0000B\r\u0010\u0001\u0000M\t\u001d";
                            n = 6;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 6: {
                            arrstring2[n2] = string2;
                            n2 = 8;
                            string = "\u0005\u0003+O\u0003\n?2U\u000b";
                            n = 7;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 7: {
                            arrstring2[n2] = string2;
                            n2 = 9;
                            string = "\u0005\u0010/y\b\u0005\u0014>";
                            n = 8;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 8: {
                            arrstring2[n2] = string2;
                            n2 = 10;
                            string = "\u0007\u00013J\u0005\n\u0007\u0000V\r\u0007\u000b>A\t";
                            n = 9;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 9: {
                            arrstring2[n2] = string2;
                            n2 = 11;
                            string = "\u0017\b0Q?\u000b\u0006+o\u0002\u0014\u0015+s\u0002\u0007\b:E\u0007\u0001\u0004";
                            n = 10;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 10: {
                            arrstring2[n2] = string2;
                            n2 = 12;
                            string = "\u0001\u000e,S\u001e\u0001)2C:\r\u00136D\u0000\u0001";
                            n = 11;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 11: {
                            arrstring2[n2] = string2;
                            n2 = 13;
                            string = "\r\u000e/S\u0018;\r:R\u0004\u000b\u0004";
                            n = 12;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 12: {
                            arrstring2[n2] = string2;
                            n2 = 14;
                            string = "\u0013\u0005=y\u001f\u0001\u0001-E\u0004";
                            n = 13;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 13: {
                            arrstring2[n2] = string2;
                            n2 = 15;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0005\u0003+O\u0003\nN\rc/+'\u0011o6!?\fv)!#\u0017";
                            n = 14;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 14: {
                            arrstring2[n2] = string2;
                            n2 = 16;
                            string = "\b\u0001&I\u0019\u0010?6H\n\b\u0001+C\u001e";
                            n = 15;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 15: {
                            arrstring2[n2] = string2;
                            n2 = 17;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0005\u0003+O\u0003\nN\bc.;3\u001ag>'(";
                            n = 16;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 16: {
                            arrstring2[n2] = string2;
                            n2 = 18;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ,\u001eh+1!\u0018c3)/\u001bc ";
                            n = 17;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 17: {
                            arrstring2[n2] = string2;
                            n2 = 19;
                            string = "\u0005\u000e;T\u0003\r\u0004qO\u0002\u0010\u00051RB\u0005\u0003+O\u0003\nN\fc-6#\u0017";
                            n = 18;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 18: {
                            arrstring2[n2] = string2;
                            n2 = 20;
                            string = "\u0017\u00158A\t\u0017\u0014\u0000O\u0002\u0010\u00051R3\u0015\u0015:T\u0015";
                            n = 19;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 19: {
                            arrstring2[n2] = string2;
                            n2 = 21;
                            string = "7\u0005>T\u000f\f@,S\u000b\u0003\u0005,R\u0005\u000b\u000e,\u0006\u000f\u0011\u0012,I\u001eD\u0001+\u0006\u001e\u000b\u0017";
                            n = 20;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 20: {
                            arrstring2[n2] = string2;
                            n2 = 22;
                            string = "7\u0005>T\u000f\f66C\u001b";
                            n = 21;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 21: {
                            arrstring2[n2] = string2;
                            n2 = 23;
                            string = "D\u0012:R\u0019\u0016\u000e:BL\u0001\u0018<C\u001c\u0010\t0HB";
                            n = 22;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 22: {
                            arrstring2[n2] = string2;
                            n2 = 24;
                            string = "\u0017\u00158A\t\u0017\u0014\u0000O\u0002\u0010\u00051R3\u0000\u0001+G";
                            n = 23;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 23: {
                            arrstring2[n2] = string2;
                            n2 = 25;
                            string = "\u0017\u00158A\t\u0017\u0014\u0000O\u0002\u0010\u00051R3\u0000\u0001+G3\r\u0004";
                            n = 24;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 24: {
                            arrstring2[n2] = string2;
                            n2 = 26;
                            string = "\u0017\u00158A\t\u0017\u0014\u0000O\u0002\u0010\u00051R3\u0001\u0018+T\r;\u0004>R\r";
                            n = 25;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 25: {
                            arrstring2[n2] = string2;
                            n2 = 27;
                            string = "\u0017\u00158A\t\u0017\u0014\u0000O\u0002\u0010\u00051R3\u0005\u0003+O\u0003\n";
                            n = 26;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 26: {
                            arrstring2[n2] = string2;
                            n2 = 28;
                            string = "D@";
                            n = 27;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 27: {
                            arrstring2[n2] = string2;
                            n2 = 29;
                            string = "\u0005\u000e;T\u0003\r\u0004qO\u0002\u0010\u00051RB\u0005\u0003+O\u0003\nN\fc-6#\u0017";
                            n = 28;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 28: {
                            arrstring2[n2] = string2;
                            n2 = 30;
                            string = "\u0002\u0012:C3\u0002\u000f-K";
                            n = 29;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 29: {
                            arrstring2[n2] = string2;
                            n2 = 31;
                            string = "\u0007\u00013J\u0005\n\u0007\u0000V\r\u0007\u000b>A\t";
                            n = 30;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 30: {
                            arrstring2[n2] = string2;
                            n2 = 32;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ,\u001eh+1!\u0018c3)/\u001bc ";
                            n = 31;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 31: {
                            arrstring2[n2] = string2;
                            n2 = 33;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ0\ri!44";
                            n = 32;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 32: {
                            arrstring2[n2] = string2;
                            n2 = 34;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ,\u001eh+1!\u0018c";
                            n = 33;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 33: {
                            arrstring2[n2] = string2;
                            n2 = 35;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ2\u001au9(4\fy<!.\u001bo\"#)\u0011r)*4\u0000d9*$\u0013c";
                            n = 34;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 34: {
                            arrstring2[n2] = string2;
                            n2 = 36;
                            string = "\u0005\u000e;T\u0003\r\u0004qO\u0002\u0010\u00051RB\u0005\u0003+O\u0003\nN\fc-6#\u0017";
                            n = 35;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 35: {
                            arrstring2[n2] = string2;
                            n2 = 37;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ-\u001e~36%\fs 03";
                            n = 36;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 36: {
                            arrstring2[n2] = string2;
                            string = "\u0005\u000e;T\u0003\r\u0004qU\u001c\u0001\u0005<NB\u0001\u0018+T\rJ2\u001au9(4\fy<!.\u001bo\"#)\u0011r)*4";
                            n = 37;
                            n2 = 38;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 37: {
                            arrstring2[n2] = string2;
                            n2 = 39;
                            arrstring2 = arrstring;
                            string = "\u0017\u0005+r\t\u001c\u0014";
                            n = 38;
                            continue block49;
                        }
                        case 38: {
                            arrstring2[n2] = string2;
                            n2 = 40;
                            string = "7\u0005>T\u000f\f66C\u001b";
                            n = 39;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 39: {
                            arrstring2[n2] = string2;
                            n2 = 41;
                            string = "'\u000f*J\bD\u000e0RL\u0002\t1BL\u0012\u000f6E\tD\u0013:G\u001e\u0007\bG\u000f\u0010\t)O\u0018\u001d";
                            n = 40;
                            arrstring2 = arrstring;
                            continue block49;
                        }
                        case 40: 
                    }
                    arrstring2[n2] = string2;
                    z = arrstring;
                    return;
                }
                char c = arrc[n4];
                switch (n4 % 5) {
                    default: {
                        n5 = 108;
                        break;
                    }
                    case 0: {
                        n5 = 100;
                        break;
                    }
                    case 1: {
                        n5 = 96;
                        break;
                    }
                    case 2: {
                        n5 = 95;
                        break;
                    }
                    case 3: {
                        n5 = 38;
                    }
                }
                arrc[n4] = (char)(n5 ^ c);
                ++n4;
            } while (true);
            break;
        } while (true);
    }
    public SearchView(Context context) {
        this(context, null);
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    public SearchView(Context context, AttributeSet attributeSet) {
        block18 : {
            block19 : {
                int n;
                int n2;
                boolean bl;
                TypedArray typedArray;
                block17 : {
                    bl = a;
                    super(context, attributeSet);
                    this.mShowImeRunnable = new 1(this);
                    this.mUpdateDrawableStateRunnable = new 2(this);
                    this.mReleaseCursorRunnable = new 3(this);
                    this.mOutsideDrawablesCache = new WeakHashMap();
                    this.mOnClickListener = new 7(this);
                    this.mTextKeyListener = new 8(this);
                    this.mOnEditorActionListener = new 9(this);
                    this.mOnItemClickListener = new 10(this);
                    this.mOnItemSelectedListener = new 11(this);
                    this.mTextWatcher = new 12(this);
                    if (Build.VERSION.SDK_INT < 8) {
                        // empty if block
                    }
                    ((LayoutInflater)context.getSystemService(z[16])).inflate(R.layout.abs__search_view, (ViewGroup)this, true);
                    this.mSearchButton = this.findViewById(R.id.abs__search_button);
                    this.mQueryTextView = (SearchAutoComplete)this.findViewById(R.id.abs__search_src_text);
                    this.mQueryTextView.setSearchView(this);
                    this.mSearchEditFrame = this.findViewById(R.id.abs__search_edit_frame);
                    this.mSearchPlate = this.findViewById(R.id.abs__search_plate);
                    this.mSubmitArea = this.findViewById(R.id.abs__submit_area);
                    this.mSubmitButton = this.findViewById(R.id.abs__search_go_btn);
                    this.mCloseButton = (ImageView)this.findViewById(R.id.abs__search_close_btn);
                    this.mVoiceButton = this.findViewById(R.id.abs__search_voice_btn);
                    this.mSearchHintIcon = (ImageView)this.findViewById(R.id.abs__search_mag_icon);
                    this.mSearchButton.setOnClickListener(this.mOnClickListener);
                    this.mCloseButton.setOnClickListener(this.mOnClickListener);
                    this.mSubmitButton.setOnClickListener(this.mOnClickListener);
                    this.mVoiceButton.setOnClickListener(this.mOnClickListener);
                    this.mQueryTextView.setOnClickListener(this.mOnClickListener);
                    this.mQueryTextView.addTextChangedListener(this.mTextWatcher);
                    this.mQueryTextView.setOnEditorActionListener(this.mOnEditorActionListener);
                    this.mQueryTextView.setOnItemClickListener(this.mOnItemClickListener);
                    this.mQueryTextView.setOnItemSelectedListener(this.mOnItemSelectedListener);
                    this.mQueryTextView.setOnKeyListener(this.mTextKeyListener);
                    this.mQueryTextView.setOnFocusChangeListener((View.OnFocusChangeListener)new 4(this));
                    typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.SherlockSearchView, 0, 0);
                    this.setIconifiedByDefault(typedArray.getBoolean(R.styleable.SherlockSearchView_iconifiedByDefault, true));
                    int n3 = typedArray.getDimensionPixelSize(R.styleable.SherlockSearchView_android_maxWidth, -1);
                    if (n3 != -1) {
                        this.setMaxWidth(n3);
                    }
                    CharSequence charSequence = typedArray.getText(R.styleable.SherlockSearchView_queryHint);
                    if (TextUtils.isEmpty((CharSequence)charSequence)) break block17;
                    this.setQueryHint(charSequence);
                }
                if ((n = typedArray.getInt(R.styleable.SherlockSearchView_android_imeOptions, -1)) != -1) {
                    this.setImeOptions(n);
                }
                if ((n2 = typedArray.getInt(R.styleable.SherlockSearchView_android_inputType, -1)) != -1) {
                    this.setInputType(n2);
                }
                typedArray.recycle();
                TypedArray typedArray2 = context.obtainStyledAttributes(attributeSet, R.styleable.SherlockView, 0, 0);
                boolean bl2 = typedArray2.getBoolean(R.styleable.SherlockView_android_focusable, true);
                typedArray2.recycle();
                this.setFocusable(bl2);
                this.mVoiceWebSearchIntent = new Intent(z[17]);
                this.mVoiceWebSearchIntent.addFlags(268435456);
                this.mVoiceWebSearchIntent.putExtra(z[18], z[14]);
                this.mVoiceAppSearchIntent = new Intent(z[15]);
                this.mVoiceAppSearchIntent.addFlags(268435456);
                View view = this.mDropDownAnchor = this.findViewById(this.mQueryTextView.getDropDownAnchor());
                if (view == null) break block18;
                if (Build.VERSION.SDK_INT < 11) break block19;
                this.mDropDownAnchor.addOnLayoutChangeListener((View.OnLayoutChangeListener)new 5(this));
                if (!bl) break block18;
                {
                    catch (ActivityNotFoundException activityNotFoundException) {
                        throw activityNotFoundException;
                    }
                }
                SherlockActivity.a = 1 + SherlockActivity.a;
            }
            this.mDropDownAnchor.getViewTreeObserver().addOnGlobalLayoutListener((ViewTreeObserver.OnGlobalLayoutListener)new 6(this));
        }
        this.updateViewsVisibility(this.mIconifiedByDefault);
        this.updateQueryHint();
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    static void access$000(View view, InputMethodManager inputMethodManager, int n) {
        SearchView.showSoftInputUnchecked(view, inputMethodManager, n);
    }
    static void access$100(SearchView searchView) {
        searchView.updateFocusedState();
    }
    static void access$1000(SearchView searchView) {
        searchView.onSubmitQuery();
    }
    static View access$1100(SearchView searchView) {
        return searchView.mVoiceButton;
    }
    static void access$1200(SearchView searchView) {
        searchView.onVoiceClicked();
    }
    static SearchAutoComplete access$1300(SearchView searchView) {
        return searchView.mQueryTextView;
    }
    static void access$1400(SearchView searchView) {
        searchView.forceSuggestionQuery();
    }
    static SearchableInfo access$1500(SearchView searchView) {
        return searchView.mSearchable;
    }
    static boolean access$1600(SearchView searchView, View view, int n, KeyEvent keyEvent) {
        return searchView.onSuggestionsKey(view, n, keyEvent);
    }
    static void access$1800(SearchView searchView, int n, String string, String string2) {
        searchView.launchQuerySearch(n, string, string2);
    }
    static boolean access$1900(SearchView searchView, int n, int n2, String string) {
        return searchView.onItemClicked(n, n2, string);
    }
    static CursorAdapter access$200(SearchView searchView) {
        return searchView.mSuggestionsAdapter;
    }
    static boolean access$2000(SearchView searchView, int n) {
        return searchView.onItemSelected(n);
    }
    static void access$2100(SearchView searchView, CharSequence charSequence) {
        searchView.onTextChanged(charSequence);
    }
    static void access$2200(AutoCompleteTextView autoCompleteTextView, boolean bl) {
        SearchView.ensureImeVisible(autoCompleteTextView, bl);
    }
    static void access$2300(SearchView searchView, boolean bl) {
        searchView.setImeVisibility(bl);
    }
    static View.OnFocusChangeListener access$300(SearchView searchView) {
        return searchView.mOnQueryTextFocusChangeListener;
    }
    static void access$400(SearchView searchView) {
        searchView.adjustDropDownSizeAndPosition();
    }
    static View access$500(SearchView searchView) {
        return searchView.mSearchButton;
    }
    static void access$600(SearchView searchView) {
        searchView.onSearchClicked();
    }
    static ImageView access$700(SearchView searchView) {
        return searchView.mCloseButton;
    }
    static void access$800(SearchView searchView) {
        searchView.onCloseClicked();
    }
    static View access$900(SearchView searchView) {
        return searchView.mSubmitButton;
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void adjustDropDownSizeAndPosition() {
        int n2;
        Rect rect;
        int n;
        block3 : {
            if (this.mDropDownAnchor.getWidth() <= 1) return;
            Resources resources = this.getContext().getResources();
            n2 = this.mSearchPlate.getPaddingLeft();
            rect = new Rect();
            if (this.mIconifiedByDefault) {
                int n3 = resources.getDimensionPixelSize(R.dimen.abs__dropdownitem_icon_width);
                int n4 = resources.getDimensionPixelSize(R.dimen.abs__dropdownitem_text_padding_left);
                n = n4 + n3;
                break block3;
            }
            n = 0;
        }
        this.mQueryTextView.getDropDownBackground().getPadding(rect);
        this.mQueryTextView.setDropDownHorizontalOffset(n2 + (- n + rect.left));
        this.mQueryTextView.setDropDownWidth(n + (this.mDropDownAnchor.getWidth() + rect.left + rect.right) - n2);
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private Intent createIntent(String string, Uri uri, String string2, String string3, int n, String string4) {
        Intent intent;
        block14 : {
            block13 : {
                block12 : {
                    intent = new Intent(string);
                    intent.addFlags(268435456);
                    if (uri == null) break block12;
                    intent.setData(uri);
                }
                intent.putExtra(z[4], this.mUserQuery);
                if (string3 != null) {
                    intent.putExtra(z[5], string3);
                }
                if (string2 == null) break block13;
                intent.putExtra(z[7], string2);
            }
            if (this.mAppSearchData != null) {
                intent.putExtra(z[9], this.mAppSearchData);
            }
            if (n == 0) break block14;
            intent.putExtra(z[6], n);
            intent.putExtra(z[8], string4);
        }
        intent.setComponent(this.mSearchable.getSearchActivity());
        return intent;
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private Intent createIntentFromSuggestion(Cursor cursor, int n, String string) {
        Uri uri;
        String string2;
        String string3;
        try {
            String string4;
            string3 = SuggestionsAdapter.getColumnString((Cursor)cursor, (String)z[27]);
            if (string3 == null) {
                string3 = this.mSearchable.getSuggestIntentAction();
            }
            if (string3 == null) {
                string3 = z[19];
            }
            if ((string2 = SuggestionsAdapter.getColumnString((Cursor)cursor, (String)z[24])) == null) {
                string2 = this.mSearchable.getSuggestIntentData();
            }
            if (string2 != null && (string4 = SuggestionsAdapter.getColumnString((Cursor)cursor, (String)z[25])) != null) {
                string2 = string2 + "/" + Uri.encode((String)string4);
            }
        }
        catch (RuntimeException runtimeException) {
            int n2;
            try {
                int n3;
                n2 = n3 = cursor.getPosition();
            }
            catch (RuntimeException runtimeException2) {
                n2 = -1;
            }
            Log.w((String)z[22], (String)(z[21] + n2 + z[23]), (Throwable)runtimeException);
            return null;
        }
        Uri uri2 = string2 == null ? null : (uri = Uri.parse((String)string2));
        String string5 = SuggestionsAdapter.getColumnString((Cursor)cursor, (String)z[20]);
        return this.createIntent(string3, uri2, SuggestionsAdapter.getColumnString((Cursor)cursor, (String)z[26]), string5, n, string);
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private Intent createVoiceAppSearchIntent(Intent intent, SearchableInfo searchableInfo) {
        Intent intent2;
        Bundle bundle;
        String string;
        String string2;
        PendingIntent pendingIntent;
        block5 : {
            ComponentName componentName;
            block4 : {
                componentName = searchableInfo.getSearchActivity();
                Intent intent3 = new Intent(z[36]);
                intent3.setComponent(componentName);
                pendingIntent = PendingIntent.getActivity((Context)this.getContext(), (int)0, (Intent)intent3, (int)1073741824);
                bundle = new Bundle();
                intent2 = new Intent(intent);
                String string3 = z[30];
                int n = 1;
                Resources resources = this.getResources();
                if (searchableInfo.getVoiceLanguageModeId() != 0) {
                    string3 = resources.getString(searchableInfo.getVoiceLanguageModeId());
                }
                String string4 = searchableInfo.getVoicePromptTextId() != 0 ? resources.getString(searchableInfo.getVoicePromptTextId()) : null;
                String string5 = searchableInfo.getVoiceLanguageId() != 0 ? resources.getString(searchableInfo.getVoiceLanguageId()) : null;
                if (searchableInfo.getVoiceMaxResults() != 0) {
                    n = searchableInfo.getVoiceMaxResults();
                }
                intent2.putExtra(z[32], string3);
                intent2.putExtra(z[33], string4);
                intent2.putExtra(z[34], string5);
                intent2.putExtra(z[37], n);
                string2 = z[31];
                string = null;
                if (componentName != null) break block4;
                break block5;
            }
            string = componentName.flattenToShortString();
        }
        intent2.putExtra(string2, string);
        intent2.putExtra(z[38], (Parcelable)pendingIntent);
        intent2.putExtra(z[35], bundle);
        return intent2;
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private Intent createVoiceWebSearchIntent(Intent intent, SearchableInfo searchableInfo) {
        Intent intent2 = new Intent(intent);
        ComponentName componentName = searchableInfo.getSearchActivity();
        String string = z[10];
        String string2 = componentName == null ? null : componentName.flattenToShortString();
        intent2.putExtra(string, string2);
        return intent2;
    }
    private void dismissSuggestions() {
        this.mQueryTextView.dismissDropDown();
    }
    private static void ensureImeVisible(AutoCompleteTextView autoCompleteTextView, boolean bl) {
        try {
            String string = z[12];
            Class[] arrclass = new Class[]{Boolean.TYPE};
            Method method = AutoCompleteTextView.class.getMethod(string, arrclass);
            method.setAccessible(true);
            Object[] arrobject = new Object[]{bl};
            method.invoke((Object)autoCompleteTextView, arrobject);
            return;
        }
        catch (Exception exception) {
            return;
        }
    }
    private void forceSuggestionQuery() {
        try {
            Method method = SearchAutoComplete.class.getMethod(z[1], new Class[0]);
            Method method2 = SearchAutoComplete.class.getMethod(z[0], new Class[0]);
            method.setAccessible(true);
            method2.setAccessible(true);
            method.invoke((Object)this.mQueryTextView, new Object[0]);
            method2.invoke((Object)this.mQueryTextView, new Object[0]);
            return;
        }
        catch (Exception exception) {
            return;
        }
    }
    private CharSequence getDecoratedHint(CharSequence charSequence) {
        boolean bl = this.mIconifiedByDefault;
        if (!bl) {
            return charSequence;
        }
        SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder((CharSequence)z[28]);
        spannableStringBuilder.append(charSequence);
        Drawable drawable = this.getContext().getResources().getDrawable(this.getSearchIconId());
        int n = (int)(1.25 * (double)this.mQueryTextView.getTextSize());
        drawable.setBounds(0, 0, n, n);
        spannableStringBuilder.setSpan((Object)new ImageSpan(drawable), 1, 2, 33);
        return spannableStringBuilder;
    }
    private int getPreferredWidth() {
        return this.getContext().getResources().getDimensionPixelSize(R.dimen.abs__search_view_preferred_width);
    }
    private int getSearchIconId() {
        TypedValue typedValue = new TypedValue();
        this.getContext().getTheme().resolveAttribute(R.attr.searchViewSearchIcon, typedValue, true);
        return typedValue.resourceId;
    }
    static boolean isLandscapeMode(Context context) {
        int n = context.getResources().getConfiguration().orientation;
        if (n == 2) {
            return true;
        }
        return false;
    }
    /*
     * Exception decompiling
     */
    private boolean isSubmitAreaEnabled() {
        // This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
        // org.benf.cfr.reader.util.ConfusedCFRException: Started 2 blocks at once
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
        // org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
        // org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
        // org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
        // org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
        // org.benf.cfr.reader.Main.doClass(Main.java:46)
        // org.benf.cfr.reader.Main.main(Main.java:190)
        // ReviewPreparator.unZipIt(ReviewPreparator.java:54)
        // PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
        // scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
        // scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.TraversableLike.map(TraversableLike.scala:234)
        // scala.collection.TraversableLike.map$(TraversableLike.scala:227)
        // scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
        // scala.collection.SetLike.map(SetLike.scala:101)
        // scala.collection.SetLike.map$(SetLike.scala:101)
        // scala.collection.AbstractSet.map(Set.scala:47)
        // PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
        // PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
        // PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
        throw new IllegalStateException("Decompilation failed");
    }
    private void launchIntent(Intent intent) {
        if (intent == null) {
            return;
        }
        try {
            this.getContext().startActivity(intent);
            return;
        }
        catch (RuntimeException runtimeException) {
            Log.e((String)z[3], (String)(z[2] + (Object)intent), (Throwable)runtimeException);
            return;
        }
    }
    private void launchQuerySearch(int n, String string, String string2) {
        Intent intent = this.createIntent(z[29], null, null, string2, n, string);
        this.getContext().startActivity(intent);
    }
    /*
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    private boolean launchSuggestion(int n, int n2, String string) {
        Cursor cursor = this.mSuggestionsAdapter.getCursor();
        if (cursor == null) return false;
        boolean bl = cursor.moveToPosition(n);
        if (!bl) return false;
        this.launchIntent(this.createIntentFromSuggestion(cursor, n2, string));
        return true;
    }
    /*
     * Exception decompiling
     */
    private void onCloseClicked() {
        // This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
        // org.benf.cfr.reader.util.ConfusedCFRException: Started 4 blocks at once
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
        // org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
        // org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
        // org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
        // org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
        // org.benf.cfr.reader.Main.doClass(Main.java:46)
        // org.benf.cfr.reader.Main.main(Main.java:190)
        // ReviewPreparator.unZipIt(ReviewPreparator.java:54)
        // PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
        // scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
        // scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.TraversableLike.map(TraversableLike.scala:234)
        // scala.collection.TraversableLike.map$(TraversableLike.scala:227)
        // scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
        // scala.collection.SetLike.map(SetLike.scala:101)
        // scala.collection.SetLike.map$(SetLike.scala:101)
        // scala.collection.AbstractSet.map(Set.scala:47)
        // PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
        // PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
        // PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
        throw new IllegalStateException("Decompilation failed");
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private boolean onItemClicked(int var1_1, int var2_2, String var3_3) {
        var6_4 = this.mOnSuggestionListener;
        if (var6_4 == null) ** GOTO lbl8
        {
            catch (ActivityNotFoundException var4_5) {
                throw var4_5;
            }
        }
        if (this.mOnSuggestionListener.onSuggestionClick(var1_1) != false) return false;
lbl8: // 2 sources:
        this.launchSuggestion(var1_1, 0, null);
        this.setImeVisibility(false);
        this.dismissSuggestions();
        return true;
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private boolean onItemSelected(int var1_1) {
        var4_2 = this.mOnSuggestionListener;
        if (var4_2 == null) ** GOTO lbl8
        {
            catch (ActivityNotFoundException var2_3) {
                throw var2_3;
            }
        }
        if (this.mOnSuggestionListener.onSuggestionSelect(var1_1) != false) return false;
lbl8: // 2 sources:
        this.rewriteQueryFromSuggestion(var1_1);
        return true;
    }
    private void onSearchClicked() {
        this.updateViewsVisibility(false);
        this.mQueryTextView.requestFocus();
        this.setImeVisibility(true);
        if (this.mOnSearchClickListener != null) {
            this.mOnSearchClickListener.onClick((View)this);
        }
        return;
    }
    /*
     * Loose catch block
     * Enabled aggressive exception aggregation
     */
    private void onSubmitQuery() {
        block12 : {
            Editable editable = this.mQueryTextView.getText();
            if (editable != null) {
                block14 : {
                    block13 : {
                        int n = TextUtils.getTrimmedLength((CharSequence)editable);
                        if (n <= 0) break block12;
                        OnQueryTextListener onQueryTextListener = this.mOnQueryChangeListener;
                        if (onQueryTextListener == null) break block13;
                        boolean bl = this.mOnQueryChangeListener.onQueryTextSubmit(editable.toString());
                        if (bl) break block12;
                    }
                    if (this.mSearchable == null) break block14;
                    this.launchQuerySearch(0, null, editable.toString());
                    this.setImeVisibility(false);
                }
                this.dismissSuggestions();
            }
        }
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private boolean onSuggestionsKey(View var1_1, int var2_2, KeyEvent var3_3) {
        var5_4 = this.mSearchable;
        if (var5_4 == null) {
            return false;
        }
        var7_6 = this.mSuggestionsAdapter;
        if (var7_6 == null) return false;
        var12_7 = var3_3.getAction();
        if (var12_7 != 0) return false;
        var13_8 = KeyEventCompat.hasNoModifiers((KeyEvent)var3_3);
        if (var13_8 == false) return false;
        if (var2_2 == 66) return this.onItemClicked(this.mQueryTextView.getListSelection(), 0, null);
        if (var2_2 == 84) return this.onItemClicked(this.mQueryTextView.getListSelection(), 0, null);
        ** if (var2_2 != 61) goto lbl-1000
lbl31: // 1 sources:
        return this.onItemClicked(this.mQueryTextView.getListSelection(), 0, null);
lbl-1000: // 1 sources:
        {
        }
        catch (ActivityNotFoundException var6_9) {
            throw var6_9;
        }
        if (var2_2 == 21 || var2_2 == 22) {
            var14_14 = var2_2 == 21 ? 0 : this.mQueryTextView.length();
            this.mQueryTextView.setSelection(var14_14);
            this.mQueryTextView.setListSelection(0);
            this.mQueryTextView.clearListSelection();
            SearchView.ensureImeVisible((AutoCompleteTextView)this.mQueryTextView, true);
            return true;
        }
        if (var2_2 != 19) return false;
        var16_15 = this.mQueryTextView.getListSelection();
        if (var16_15 != 0) return false;
        return false;
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void onTextChanged(CharSequence charSequence) {
        block11 : {
            boolean bl;
            block10 : {
                block9 : {
                    bl = true;
                    Editable editable = this.mQueryTextView.getText();
                    this.mUserQuery = editable;
                    boolean bl2 = TextUtils.isEmpty((CharSequence)editable);
                    boolean bl3 = !bl2 ? bl : false;
                    this.updateSubmitButton(bl3);
                    if (bl3) break block9;
                    break block10;
                }
                bl = false;
            }
            this.updateVoiceButton(bl);
            this.updateCloseButton();
            this.updateSubmitArea();
            OnQueryTextListener onQueryTextListener = this.mOnQueryChangeListener;
            if (onQueryTextListener == null) break block11;
            if (TextUtils.equals((CharSequence)charSequence, (CharSequence)this.mOldQueryText)) break block11;
            this.mOnQueryChangeListener.onQueryTextChange(charSequence.toString());
            {
                catch (ActivityNotFoundException activityNotFoundException) {
                    throw activityNotFoundException;
                }
            }
        }
        this.mOldQueryText = charSequence.toString();
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void onVoiceClicked() {
        var2_1 = this.mSearchable;
        if (var2_1 == null) {
            return;
        }
        var3_3 = this.mSearchable;
        if (!var3_3.getVoiceSearchLaunchWebSearch()) ** GOTO lbl18
        var9_4 = this.createVoiceWebSearchIntent(this.mVoiceWebSearchIntent, var3_3);
        {
            catch (ActivityNotFoundException var4_7) {
                Log.w((String)SearchView.z[40], (String)SearchView.z[41]);
                return;
            }
        }
        this.getContext().startActivity(var9_4);
        if (SearchView.a == false) return;
lbl18: // 2 sources:
        if ((var7_5 = var3_3.getVoiceSearchLaunchRecognizer()) == false) return;
        var8_6 = this.createVoiceAppSearchIntent(this.mVoiceAppSearchIntent, var3_3);
        this.getContext().startActivity(var8_6);
        return;
        catch (ActivityNotFoundException var6_8) {
            throw var6_8;
        }
    }
    private void postUpdateFocusedState() {
        this.post(this.mUpdateDrawableStateRunnable);
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void rewriteQueryFromSuggestion(int var1_1) {
        block8 : {
            block9 : {
                var2_2 = SearchView.a;
                var3_3 = this.mQueryTextView.getText();
                var4_4 = this.mSuggestionsAdapter.getCursor();
                if (var4_4 == null) {
                    return;
                }
                if (!var4_4.moveToPosition(var1_1)) break block8;
                var6_5 = this.mSuggestionsAdapter.convertToString(var4_4);
                if (var6_5 == null) ** GOTO lbl12
                this.setQuery(var6_5);
                if (!var2_2) break block9;
lbl12: // 2 sources:
                this.setQuery((CharSequence)var3_3);
            }
            if (var2_2 == false) return;
        }
        this.setQuery((CharSequence)var3_3);
        return;
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void setImeVisibility(boolean bl) {
        if (bl) {
            this.post(this.mShowImeRunnable);
            boolean bl2 = a;
            if (!bl2) return;
        }
        this.removeCallbacks(this.mShowImeRunnable);
        InputMethodManager inputMethodManager = (InputMethodManager)this.getContext().getSystemService(z[13]);
        if (inputMethodManager == null) return;
        inputMethodManager.hideSoftInputFromWindow(this.getWindowToken(), 0);
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private void setQuery(CharSequence charSequence) {
        SearchView.setText((AutoCompleteTextView)this.mQueryTextView, charSequence, true);
        SearchAutoComplete searchAutoComplete = this.mQueryTextView;
        boolean bl = TextUtils.isEmpty((CharSequence)charSequence);
        int n = bl ? 0 : charSequence.length();
        searchAutoComplete.setSelection(n);
    }
    private static void setText(AutoCompleteTextView autoCompleteTextView, CharSequence charSequence, boolean bl) {
        try {
            String string = z[39];
            Class[] arrclass = new Class[]{CharSequence.class, Boolean.TYPE};
            Method method = AutoCompleteTextView.class.getMethod(string, arrclass);
            method.setAccessible(true);
            Object[] arrobject = new Object[]{charSequence, bl};
            method.invoke((Object)autoCompleteTextView, arrobject);
            return;
        }
        catch (Exception exception) {
            autoCompleteTextView.setText(charSequence);
            return;
        }
    }
    private static void showSoftInputUnchecked(View view, InputMethodManager inputMethodManager, int n) {
        try {
            Class class_ = inputMethodManager.getClass();
            String string = z[11];
            Class[] arrclass = new Class[]{Integer.TYPE, ResultReceiver.class};
            Method method = class_.getMethod(string, arrclass);
            method.setAccessible(true);
            Object[] arrobject = new Object[]{n, null};
            method.invoke((Object)inputMethodManager, arrobject);
            return;
        }
        catch (Exception exception) {
            inputMethodManager.showSoftInput(view, n);
            return;
        }
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void updateCloseButton() {
        ImageView imageView;
        int n;
        boolean bl;
        block15 : {
            block14 : {
                boolean bl2;
                block13 : {
                    block12 : {
                        bl2 = true;
                        boolean bl3 = TextUtils.isEmpty((CharSequence)this.mQueryTextView.getText());
                        bl = !bl3 ? bl2 : false;
                        if (!bl) {
                            boolean bl4 = this.mIconifiedByDefault;
                            if (!bl4) break block12;
                            boolean bl5 = this.mExpandedInActionView;
                            if (bl5) break block12;
                            break block13;
                        }
                        break block13;
                        catch (ActivityNotFoundException activityNotFoundException) {
                            throw activityNotFoundException;
                        }
                    }
                    bl2 = false;
                }
                imageView = this.mCloseButton;
                n = 0;
                if (!bl2) break block14;
                break block15;
            }
            n = 8;
        }
        imageView.setVisibility(n);
        Drawable drawable = this.mCloseButton.getDrawable();
        int[] arrn = bl ? ENABLED_STATE_SET : EMPTY_STATE_SET;
        drawable.setState(arrn);
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private void updateFocusedState() {
        boolean bl = this.mQueryTextView.hasFocus();
        Drawable drawable = this.mSearchPlate.getBackground();
        int[] arrn = bl ? FOCUSED_STATE_SET : EMPTY_STATE_SET;
        drawable.setState(arrn);
        Drawable drawable2 = this.mSubmitArea.getBackground();
        int[] arrn2 = bl ? FOCUSED_STATE_SET : EMPTY_STATE_SET;
        drawable2.setState(arrn2);
        this.invalidate();
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void updateQueryHint() {
        block10 : {
            bl = SearchView.a;
            charSequence = this.mQueryHint;
            if (charSequence == null) ** GOTO lbl8
            this.mQueryTextView.setHint(this.getDecoratedHint(this.mQueryHint));
            if (bl == false) return;
lbl8: // 2 sources:
            if ((searchableInfo = this.mSearchable) == null) break block10;
            {
                catch (ActivityNotFoundException activityNotFoundException) {
                    throw activityNotFoundException;
                }
            }
            n = this.mSearchable.getHintId();
            string = null;
            if (n != 0 && (string = this.getContext().getString(n)) != null) {
                this.mQueryTextView.setHint(this.getDecoratedHint(string));
            }
            if (bl == false) return;
        }
        this.mQueryTextView.setHint(this.getDecoratedHint(""));
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void updateSubmitArea() {
        int n;
        block5 : {
            int n2;
            n = 8;
            boolean bl = this.isSubmitAreaEnabled();
            if (!bl) break block5;
            if (this.mSubmitButton.getVisibility() != 0 && (n2 = this.mVoiceButton.getVisibility()) != 0) break block5;
            n = 0;
            {
                catch (ActivityNotFoundException activityNotFoundException) {
                    throw activityNotFoundException;
                }
            }
        }
        this.mSubmitArea.setVisibility(n);
        return;
        catch (ActivityNotFoundException activityNotFoundException) {
            throw activityNotFoundException;
        }
    }
    /*
     * Exception decompiling
     */
    private void updateSubmitButton(boolean var1_1) {
        // This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
        // org.benf.cfr.reader.util.ConfusedCFRException: Started 3 blocks at once
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
        // org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
        // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
        // org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
        // org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
        // org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
        // org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
        // org.benf.cfr.reader.Main.doClass(Main.java:46)
        // org.benf.cfr.reader.Main.main(Main.java:190)
        // ReviewPreparator.unZipIt(ReviewPreparator.java:54)
        // PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
        // scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
        // scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
        // scala.collection.TraversableLike.map(TraversableLike.scala:234)
        // scala.collection.TraversableLike.map$(TraversableLike.scala:227)
        // scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
        // scala.collection.SetLike.map(SetLike.scala:101)
        // scala.collection.SetLike.map$(SetLike.scala:101)
        // scala.collection.AbstractSet.map(Set.scala:47)
        // PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
        // PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
        // PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
        throw new IllegalStateException("Decompilation failed");
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private void updateViewsVisibility(boolean bl) {
        boolean bl2;
        block13 : {
            block12 : {
                ImageView imageView;
                boolean bl3;
                int n;
                block11 : {
                    block10 : {
                        bl2 = true;
                        n = 8;
                        this.mIconified = bl;
                        int n2 = bl ? 0 : n;
                        boolean bl4 = TextUtils.isEmpty((CharSequence)this.mQueryTextView.getText());
                        bl3 = !bl4 ? bl2 : false;
                        this.mSearchButton.setVisibility(n2);
                        this.updateSubmitButton(bl3);
                        View view = this.mSearchEditFrame;
                        int n3 = bl ? n : 0;
                        view.setVisibility(n3);
                        imageView = this.mSearchHintIcon;
                        boolean bl5 = this.mIconifiedByDefault;
                        if (!bl5) break block10;
                        break block11;
                    }
                    n = 0;
                }
                imageView.setVisibility(n);
                this.updateCloseButton();
                if (bl3) break block12;
                break block13;
            }
            bl2 = false;
        }
        this.updateVoiceButton(bl2);
        this.updateSubmitArea();
    }
    /*
     * Loose catch block
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    private void updateVoiceButton(boolean bl) {
        int n;
        block6 : {
            block5 : {
                boolean bl2 = this.mVoiceButtonEnabled;
                if (!bl2) break block5;
                boolean bl3 = this.isIconified();
                if (bl3 || !bl) break block5;
                n = 0;
                {
                    catch (ActivityNotFoundException activityNotFoundException) {
                        throw activityNotFoundException;
                    }
                }
                this.mSubmitButton.setVisibility(8);
                break block6;
                catch (ActivityNotFoundException activityNotFoundException) {
                    throw activityNotFoundException;
                }
            }
            n = 8;
        }
        this.mVoiceButton.setVisibility(n);
    }
    public void clearFocus() {
        this.mClearingFocus = true;
        this.setImeVisibility(false);
        super.clearFocus();
        this.mQueryTextView.clearFocus();
        this.mClearingFocus = false;
    }
    public CharSequence getQuery() {
        return this.mQueryTextView.getText();
    }
    public boolean isIconified() {
        return this.mIconified;
    }
    public void onActionViewCollapsed() {
        this.clearFocus();
        this.updateViewsVisibility(true);
        this.mQueryTextView.setImeOptions(this.mCollapsedImeOptions);
        this.mExpandedInActionView = false;
    }
    public void onActionViewExpanded() {
        boolean bl = this.mExpandedInActionView;
        if (bl) {
            return;
        }
        this.mExpandedInActionView = true;
        this.mCollapsedImeOptions = this.mQueryTextView.getImeOptions();
        this.mQueryTextView.setImeOptions(33554432 | this.mCollapsedImeOptions);
        this.mQueryTextView.setText((CharSequence)"");
        this.setIconified(false);
    }
    protected void onDetachedFromWindow() {
        this.removeCallbacks(this.mUpdateDrawableStateRunnable);
        this.post(this.mReleaseCursorRunnable);
        super.onDetachedFromWindow();
    }
    public void onInitializeAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
        super.onInitializeAccessibilityEvent(accessibilityEvent);
        accessibilityEvent.setClassName((CharSequence)SearchView.class.getName());
    }
    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
        super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
        accessibilityNodeInfo.setClassName((CharSequence)SearchView.class.getName());
    }
    public boolean onKeyDown(int n, KeyEvent keyEvent) {
        SearchableInfo searchableInfo = this.mSearchable;
        if (searchableInfo == null) {
            return false;
        }
        return super.onKeyDown(n, keyEvent);
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    protected void onMeasure(int var1_1, int var2_2) {
        block14 : {
            var3_3 = SearchView.a;
            if (this.isIconified()) {
                super.onMeasure(var1_1, var2_2);
                return;
            }
            var5_5 = View.MeasureSpec.getMode((int)var1_1);
            var6_6 = View.MeasureSpec.getSize((int)var1_1);
            switch (var5_5) {
                case Integer.MIN_VALUE: {
                    var11_7 = this.mMaxWidth;
                    if (var11_7 <= 0) ** GOTO lbl18
                    var6_6 = Math.min(this.mMaxWidth, var6_6);
                    if (!var3_3) ** GOTO lbl26
lbl18: // 2 sources:
                    var6_6 = Math.min(this.getPreferredWidth(), var6_6);
                    if (!var3_3) ** GOTO lbl26
                }
                case 1073741824: {
                    var9_8 = this.mMaxWidth;
                    if (var9_8 <= 0) ** GOTO lbl26
                    var6_6 = Math.min(this.mMaxWidth, var6_6);
                    if (var3_3) break;
                }
lbl26: // 5 sources:
                default: {
                    break block14;
                }
                case 0: 
            }
            var6_6 = this.mMaxWidth > 0 ? this.mMaxWidth : this.getPreferredWidth();
            catch (ActivityNotFoundException var10_9) {
                throw var10_9;
            }
            catch (ActivityNotFoundException var8_10) {
                throw var8_10;
            }
        }
        super.onMeasure(View.MeasureSpec.makeMeasureSpec((int)var6_6, (int)1073741824), var2_2);
    }
    void onQueryRefine(CharSequence charSequence) {
        this.setQuery(charSequence);
    }
    void onTextFocusChanged() {
        this.updateViewsVisibility(this.isIconified());
        this.postUpdateFocusedState();
        if (this.mQueryTextView.hasFocus()) {
            this.forceSuggestionQuery();
        }
        return;
    }
    public void onWindowFocusChanged(boolean bl) {
        super.onWindowFocusChanged(bl);
        this.postUpdateFocusedState();
    }
    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    public boolean requestFocus(int n, Rect rect) {
        boolean bl;
        block10 : {
            boolean bl2 = this.mClearingFocus;
            bl = false;
            if (!bl2) break block10;
            return bl;
        }
        boolean bl3 = this.isFocusable();
        bl = false;
        if (!bl3) return bl;
        if (this.isIconified()) {
            return super.requestFocus(n, rect);
        }
        bl = this.mQueryTextView.requestFocus(n, rect);
        if (!bl) {
            return bl;
        }
        this.updateViewsVisibility(false);
        return bl;
    }
    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    public void setIconified(boolean var1_1) {
        if (!var1_1) ** GOTO lbl5
        this.onCloseClicked();
        if (SearchView.a == false) return;
lbl5: // 2 sources:
        this.onSearchClicked();
        return;
    }
    public void setIconifiedByDefault(boolean bl) {
        boolean bl2 = this.mIconifiedByDefault;
        if (bl2 == bl) {
            return;
        }
        this.mIconifiedByDefault = bl;
        this.updateViewsVisibility(bl);
        this.updateQueryHint();
    }
    public void setImeOptions(int n) {
        this.mQueryTextView.setImeOptions(n);
    }
    public void setInputType(int n) {
        this.mQueryTextView.setInputType(n);
    }
    public void setMaxWidth(int n) {
        this.mMaxWidth = n;
        this.requestLayout();
    }
    public void setOnCloseListener(OnCloseListener onCloseListener) {
        this.mOnCloseListener = onCloseListener;
    }
    public void setOnQueryTextListener(OnQueryTextListener onQueryTextListener) {
        this.mOnQueryChangeListener = onQueryTextListener;
    }
    public void setOnSearchClickListener(View.OnClickListener onClickListener) {
        this.mOnSearchClickListener = onClickListener;
    }
    /*
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    public void setQuery(CharSequence charSequence, boolean bl) {
        block5 : {
            this.mQueryTextView.setText(charSequence);
            if (charSequence == null) break block5;
            this.mQueryTextView.setSelection(this.mQueryTextView.length());
            this.mUserQuery = charSequence;
        }
        if (!bl) return;
        if (TextUtils.isEmpty((CharSequence)charSequence)) return;
        this.onSubmitQuery();
        return;
    }
    public void setQueryHint(CharSequence charSequence) {
        this.mQueryHint = charSequence;
        this.updateQueryHint();
    }
    public void setSubmitButtonEnabled(boolean bl) {
        this.mSubmitButtonEnabled = bl;
        this.updateViewsVisibility(this.isIconified());
    }
} 
                                                 |