package com.unity3d.player;
import android.app.Dialog;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.ColorDrawable;
import android.text.Editable;
import android.text.Selection;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public final class p extends Dialog
implements TextWatcher, View.OnClickListener
{
private Context a = null;
private UnityPlayer b = null;
private static int c = -570425344;
private static int d = -1;
public p(Context paramContext, UnityPlayer paramUnityPlayer, String paramString1, int paramInt, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, String paramString2)
{
super(paramContext);
this.a = paramContext;
this.b = paramUnityPlayer;
getWindow().setGravity(80);
getWindow().requestFeature(1);
getWindow().setBackgroundDrawable(new ColorDrawable(0));
setContentView(createSoftInputView());
getWindow().setLayout(-1, -2);
getWindow().clearFlags(2);
paramContext = (EditText)findViewById(1057292289);
paramUnityPlayer = (Button)findViewById(1057292290);
a(paramContext, paramString1, paramInt, paramBoolean1, paramBoolean2, paramBoolean3, paramString2);
paramUnityPlayer.setOnClickListener(this);
paramContext.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
public final void onFocusChange(View paramView, boolean paramBoolean)
{
if (!paramBoolean)
return;
p.this.getWindow().setSoftInputMode(5);
}
});
}
private void a(EditText paramEditText, String paramString1, int paramInt, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, String paramString2)
{
paramEditText.setImeOptions(6);
paramEditText.setText(paramString1);
paramEditText.setHint(paramString2);
paramEditText.setInputType(a(paramInt, paramBoolean1, paramBoolean2, paramBoolean3));
paramEditText.addTextChangedListener(this);
paramEditText.setClickable(true);
if (paramBoolean2)
return;
paramEditText.selectAll();
}
public final void afterTextChanged(Editable paramEditable)
{
this.b.reportSoftInputStr(paramEditable.toString(), 0, false);
}
public final void beforeTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3)
{
}
public final void onTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3)
{
}
private static int a(int paramInt, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3)
{
paramBoolean1 = ((paramBoolean1) ? 32768 : 0) | ((paramBoolean2) ? 131072 : 0) | ((paramBoolean3) ? 128 : 0);
if ((paramInt < 0) || (paramInt > 7))
return paramBoolean1;
paramBoolean2 = new int[] { 1, 16385, 12290, 17, 2, 3, 97, 33 };
return paramBoolean1 | paramBoolean2[paramInt];
}
private void a(String paramString, boolean paramBoolean)
{
Selection.removeSelection(((EditText)findViewById(1057292289)).getEditableText());
this.b.reportSoftInputStr(paramString, 1, paramBoolean);
}
public final void onClick(View paramView)
{
a(a(), false);
}
public final void onBackPressed()
{
a(a(), true);
}
protected final View createSoftInputView()
{
RelativeLayout localRelativeLayout;
(localRelativeLayout = new RelativeLayout(this.a)).setLayoutParams(new ViewGroup.LayoutParams(-1, -1));
localRelativeLayout.setBackgroundColor(d);
Object localObject = new EditText(this.a)
{
public final boolean onKeyPreIme(int paramInt, KeyEvent paramKeyEvent)
{
if (paramInt == 4)
{
p.a(p.this, p.a(p.this), true);
return true;
}
if (paramInt == 84)
return true;
return super.onKeyPreIme(paramInt, paramKeyEvent);
}
public final void onWindowFocusChanged(boolean paramBoolean)
{
super.onWindowFocusChanged(paramBoolean);
if (!paramBoolean)
return;
((InputMethodManager)p.b(p.this).getSystemService("input_method")).showSoftInput(this, 0);
}
};
RelativeLayout.LayoutParams localLayoutParams;
(localLayoutParams = new RelativeLayout.LayoutParams(-1, -2)).addRule(15);
localLayoutParams.addRule(0, 1057292290);
((EditText)localObject).setLayoutParams(localLayoutParams);
((EditText)localObject).setTextColor(c);
((EditText)localObject).setId(1057292289);
localRelativeLayout.addView((View)localObject);
(localObject = new Button(this.a)).setText(this.a.getResources().getIdentifier("ok", "string", "android"));
(localLayoutParams = new RelativeLayout.LayoutParams(-2, -2)).addRule(15);
localLayoutParams.addRule(11);
((Button)localObject).setLayoutParams(localLayoutParams);
((Button)localObject).setId(1057292290);
((Button)localObject).setBackgroundColor(0);
((Button)localObject).setTextColor(c);
localRelativeLayout.addView((View)localObject);
((EditText)(localObject = localRelativeLayout).findViewById(1057292289)).setOnEditorActionListener(new TextView.OnEditorActionListener()
{
public final boolean onEditorAction(TextView paramTextView, int paramInt, KeyEvent paramKeyEvent)
{
if (paramInt == 6)
p.a(p.this, p.a(p.this), false);
return false;
}
});
((View)localObject).setPadding(16, 16, 16, 16);
return (View)localObject;
}
private String a()
{
EditText localEditText;
if ((localEditText = (EditText)findViewById(1057292289)) == null)
return null;
return localEditText.getText().toString().trim();
}
public final void a(String paramString)
{
EditText localEditText;
if ((localEditText = (EditText)findViewById(1057292289)) == null)
return;
localEditText.setText(paramString);
localEditText.setSelection(paramString.length());
}
}
Unity3d softInput decomplied java code
最新推荐文章于 2024-04-21 20:30:28 发布