package com.example.asus.helloword;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
//AppCompatActivity
//继承Activity的话,菜单选项没有作用 onCreateOptionsMenu
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static String TAG = "MainActivity";
private Button btn_answer;
private Button btn_register;
private EditText edit_sn;
private EditText edit_userName;
private static String toHexString(byte[] paramArrayOfByte, String paramString) {
StringBuilder localStringBuilder = new StringBuilder();
int j = paramArrayOfByte.length;
int i = 0;
Log.v(TAG, "paramArrayOfByte = " + paramArrayOfByte);
for (; ; ) {
if (i >= j) {
Log.v(TAG, "paramString = " + paramString);
return localStringBuilder.toString();
}
String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF);
if (str.length() == 1) {
localStringBuilder.append('0');
}
localStringBuilder.append(str).append(paramString);
i += 1;
}
}
private boolean checkSN(String paramString1, String paramString2)
{
if (paramString1 != null) {
try
{
if (paramString1.length() == 0) {
return false;
}
if ((paramString2 != null) && (paramString2.length() == 16))
{
Object localObject = MessageDigest.getInstance("MD5");
((MessageDigest)localObject).reset();
((MessageDigest)localObject).update(paramString1.getBytes());
paramString1 = toHexString(((MessageDigest)localObject).digest(), "");
localObject = new StringBuilder();
int i = 0;
for (;;)
{
if (i >= paramString1.length())
{
if (!((StringBuilder)localObject).toString().equalsIgnoreCase(paramString2)) {
break;
}
return true;
}
((StringBuilder)localObject).append(paramString1.charAt(i));
i += 2;
}
}
return false;
}
catch (NoSuchAlgorithmException paramString11)
{
paramString11.printStackTrace();
}
}
return false;
}
private boolean checkSNfalse(String paramString1, String paramString2)
{
if (paramString1 != null) {
try
{
if (paramString1.length() == 0) {
return false;
}
Object localObject = MessageDigest.getInstance("MD5");
((MessageDigest)localObject).reset();
((MessageDigest)localObject).update(paramString1.getBytes());
paramString1 = toHexString(((MessageDigest)localObject).digest(), "");
localObject = new StringBuilder();
int i = 0;
for (;;)
{
if (i >= paramString1.length())
{
paramString1 = ((StringBuilder)localObject).toString();
//Toast.makeText(this, "竟然作弊,好丢人的哦", Toast.LENGTH_LONG).show();
this.edit_sn.setText(paramString1);
if (!paramString1.equalsIgnoreCase(paramString2)) {
break;
}
return true;
}
((StringBuilder)localObject).append(paramString1.charAt(i));
i += 2;
}
return false;
}
catch (NoSuchAlgorithmException paramString12)
{
paramString12.printStackTrace();
}
}
return false;
}
public void onClick(View paramView) {
switch (paramView.getId()) {
case R.id.button_register:
if (!checkSN(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim())) {
Toast.makeText(this, R.string.unsuccessed, Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(this, R.string.successed, Toast.LENGTH_SHORT).show();
this.btn_register.setEnabled(false);
setTitle(R.string.registered);
return;
default:
//return;
}
checkSNfalse(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim());
this.btn_answer.setVisibility(android.view.View.GONE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(R.string.unregister);
this.edit_userName = ((EditText) findViewById(R.id.edit_username));
this.edit_sn = ((EditText) findViewById(R.id.edit_sn));
this.btn_register = ((Button) findViewById(R.id.button_register));
this.btn_answer = ((Button) findViewById(R.id.button_answer));
this.btn_answer.setOnClickListener(this);
this.btn_register.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch(item.getItemId()) //得到被点击的item的itemId
{
case R.id.menu_setting: //这里的Id就是布局文件中定义的Id,在用R.id.XXX的方法获取出来
finish();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
@Override
protected void onStop() {
super.onStop();
finish();
}
}