package com.oc.mobilsecurity.personinfo; import com.oc.mobilsecurity.MainActivity; import com.oc.mobilsecurity.PreferenceValue; import com.oc.mobilsecurity.R; import com.oc.mobilsecurity.Run; import com.oc.mobilsecurity.data.UserData; import com.oc.mobilsecurity.qr.CaptureActivity; import android.app.Activity; import android.app.Fragment; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class PersonInfoFragment extends Fragment { private Run run; private Activity mActivity; private String scanResult; private TextView Name; private TextView Device; private TextView LastLogin; private BindTask bTask = null; private ProgressDialog pd; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); MainActivity.FragmentNo = 2; } @Override public void onAttach(Activity activity) { super.onAttach(activity); mActivity = activity; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.personinfo, null); Button lookButton = (Button) view.findViewById(R.id.personLook); Button bindButton = (Button) view.findViewById(R.id.personBind); Button unbindButton = (Button) view.findViewById(R.id.personUnbind); Button customFileButton = (Button) view .findViewById(R.id.personSettingfile); Name = (TextView) view.findViewById(R.id.frag_app_name); Name.setText(UserData.getInstance().getUserInformation().getUName()); Device = (TextView) view.findViewById(R.id.frag_app_device); Device.setText(UserData.getInstance().getMoblileInformation() .getDeviceCount() + " ̨�豸"); LastLogin = (TextView) view.findViewById(R.id.frag_app_log); LastLogin.setText(UserData.getInstance().getApplicationData() .getLastLogin()); run = new Run(mActivity); lookButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Activity mainActivity = (MainActivity) getActivity(); Intent intent = new Intent(mainActivity, PersonInfoLook.class); startActivityForResult(intent, PreferenceValue.FRAGPERSONLOOK); } }); bindButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Activity mainActivity = (MainActivity) getActivity(); Intent intent = new Intent(mainActivity, CaptureActivity.class); startActivityForResult(intent, PreferenceValue.FRAGPERSONBIND); } }); unbindButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Activity mainActivity = (MainActivity) getActivity(); Intent intent = new Intent(mainActivity, PersonInfoUnbind.class); startActivityForResult(intent, PreferenceValue.FRAGPERSONUNBIND); } }); customFileButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Activity mainActivity = (MainActivity) getActivity(); Intent intent = new Intent(mainActivity, PersonInfoFile.class); startActivityForResult(intent, PreferenceValue.FRAGPERSONFILE); } }); return view; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case PreferenceValue.FRAGAPPLOG: case PreferenceValue.FRAGAPPACCO: break; case PreferenceValue.FRAGPERSONUNBIND: Device.setText(UserData.getInstance().getMoblileInformation() .getDeviceCount() + " ̨�豸"); break; case PreferenceValue.FRAGPERSONBIND: switch (resultCode) { case Activity.RESULT_OK: Bundle bundle = data.getExtras(); scanResult = bundle.getString("scanResult"); if (bTask != null) { return; } showProgress(true); bTask = new BindTask(); bTask.execute((Void) null); break; case Activity.RESULT_CANCELED: default: break; } break; default: break; } super.onActivityResult(requestCode, resultCode, data); } private void showProgress(final boolean show) { if (show) { pd = ProgressDialog.show((MainActivity) getActivity(), "��", "���У����Ժ󡭡�"); } else { pd.dismiss(); } } private class BindTask extends AsyncTask<Void, Void, Boolean> { private boolean ifPC = false; @Override protected Boolean doInBackground(Void... params) { if (scanResult.startsWith("bindMobil:")) { return run.bindMobil(scanResult); } else if (scanResult.startsWith("bindPC:")) { ifPC = true; return run.bindPC(scanResult); } else { return false; } } @Override protected void onPostExecute(final Boolean success) { bTask = null; showProgress(false); if (success) { if (ifPC) { Toast.makeText((MainActivity) getActivity(), "�󶨳ɹ���������Ļ�ϵİ�ť��", Toast.LENGTH_SHORT).show(); } else { Toast.makeText((MainActivity) getActivity(), "�󶨳ɹ�", Toast.LENGTH_SHORT).show(); String DeviceName = UserData.getInstance() .getMoblileInformation().getDeviceName(); UserData.getInstance().getMoblileInformation() .addMobile(DeviceName); } } else { Toast.makeText((MainActivity) getActivity(), "��ʧ��", Toast.LENGTH_SHORT).show(); } } @Override protected void onCancelled() { bTask = null; showProgress(false); } } }