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());
}
}
|