Java tutorial
/* * oxPush2 is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text. * * Copyright (c) 2014, Gluu */ package org.gluu.oxpush2.app; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; import android.widget.TextView; import android.widget.Toast; import com.google.zxing.integration.android.IntentIntegrator; import com.google.zxing.integration.android.IntentResult; import org.gluu.oxpush2.app.listener.OxPush2RequestListener; /** * Main activity fragment * * Created by Yuriy Movchan on 12/28/2015. */ public class MainActivityFragment extends Fragment implements TextView.OnEditorActionListener, View.OnClickListener { private static final String TAG = "main-activity-fragment"; private OxPush2RequestListener oxPush2RequestListener; public MainActivityFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_main, container, false); view.findViewById(R.id.button_scan).setOnClickListener(this); return view; } @Override public void onResume() { super.onResume(); } @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OxPush2RequestListener) { oxPush2RequestListener = (OxPush2RequestListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); oxPush2RequestListener = null; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Toast.makeText(getActivity(), R.string.process_qr_code, Toast.LENGTH_SHORT).show(); switch (requestCode) { case IntentIntegrator.REQUEST_CODE: if (resultCode == Activity.RESULT_OK) { // Parsing bar code reader result IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (BuildConfig.DEBUG) Log.d(TAG, "Parsing QR code result: " + result.toString()); ((OxPush2RequestListener) getActivity()).onQrRequest(result.getContents()); } break; } } @Override public void onClick(View v) { submit(); } @Override public boolean onEditorAction(TextView view, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_GO) { submit(); return true; } return false; } private void submit() { if (oxPush2RequestListener != null) { IntentIntegrator integrator = IntentIntegrator.forSupportFragment(this); integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); integrator.setPrompt(getString(R.string.scan_oxpush2_prompt)); integrator.initiateScan(); } } }