|
|
@ -1,73 +1,62 @@ |
|
|
|
package gq.yigit.mycity; |
|
|
|
|
|
|
|
import android.content.Context; |
|
|
|
import android.graphics.Bitmap; |
|
|
|
import android.net.Uri; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.support.annotation.RequiresPermission; |
|
|
|
import android.support.v4.app.Fragment; |
|
|
|
import android.util.Log; |
|
|
|
import android.view.LayoutInflater; |
|
|
|
import android.view.View; |
|
|
|
import android.view.ViewGroup; |
|
|
|
import android.widget.ImageView; |
|
|
|
|
|
|
|
import com.google.zxing.WriterException; |
|
|
|
|
|
|
|
import org.json.JSONException; |
|
|
|
|
|
|
|
import gq.yigit.mycity.tools.QRCodeGenerator; |
|
|
|
|
|
|
|
/** |
|
|
|
* A simple {@link Fragment} subclass. |
|
|
|
* Activities that contain this fragment must implement the |
|
|
|
* {@link QRFragment.OnFragmentInteractionListener} interface |
|
|
|
* to handle interaction events. |
|
|
|
* Use the {@link QRFragment#newInstance} factory method to |
|
|
|
* create an instance of this fragment. |
|
|
|
*/ |
|
|
|
public class QRFragment extends Fragment { |
|
|
|
// TODO: Rename parameter arguments, choose names that match |
|
|
|
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER |
|
|
|
private static final String ARG_PARAM1 = "param1"; |
|
|
|
private static final String ARG_PARAM2 = "param2"; |
|
|
|
|
|
|
|
// TODO: Rename and change types of parameters |
|
|
|
private String mParam1; |
|
|
|
private String mParam2; |
|
|
|
|
|
|
|
private OnFragmentInteractionListener mListener; |
|
|
|
|
|
|
|
private ImageView qr_view; |
|
|
|
private Bitmap qr_img; |
|
|
|
public QRFragment() { |
|
|
|
// Required empty public constructor |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Use this factory method to create a new instance of |
|
|
|
* this fragment using the provided parameters. |
|
|
|
* |
|
|
|
* @param param1 Parameter 1. |
|
|
|
* @param param2 Parameter 2. |
|
|
|
* @return A new instance of fragment QRFragment. |
|
|
|
*/ |
|
|
|
// TODO: Rename and change types and number of parameters |
|
|
|
|
|
|
|
|
|
|
|
public static QRFragment newInstance(String param1, String param2) { |
|
|
|
QRFragment fragment = new QRFragment(); |
|
|
|
Bundle args = new Bundle(); |
|
|
|
args.putString(ARG_PARAM1, param1); |
|
|
|
args.putString(ARG_PARAM2, param2); |
|
|
|
fragment.setArguments(args); |
|
|
|
|
|
|
|
return fragment; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onCreate(Bundle savedInstanceState) { |
|
|
|
super.onCreate(savedInstanceState); |
|
|
|
if (getArguments() != null) { |
|
|
|
mParam1 = getArguments().getString(ARG_PARAM1); |
|
|
|
mParam2 = getArguments().getString(ARG_PARAM2); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, |
|
|
|
Bundle savedInstanceState) { |
|
|
|
// Inflate the layout for this fragment |
|
|
|
return inflater.inflate(R.layout.fragment_qr, container, false); |
|
|
|
View rootView = inflater.inflate(R.layout.fragment_qr, container, false); |
|
|
|
qr_view = rootView.findViewById(R.id.qr_image); |
|
|
|
try { |
|
|
|
qr_img = QRCodeGenerator.Generate(MainActivity.userData.getString("id"),429,429); |
|
|
|
qr_view.setImageBitmap(qr_img); |
|
|
|
}catch(JSONException e){ |
|
|
|
Log.e("[ERROR]","JSON error occured while generating qr code!"); |
|
|
|
}catch (WriterException e){ |
|
|
|
Log.e("[ERROR]","An error occured while generating qr code!"); |
|
|
|
} |
|
|
|
return rootView; |
|
|
|
} |
|
|
|
|
|
|
|
// TODO: Rename method, update argument and hook method into UI event |
|
|
|
public void onButtonPressed(Uri uri) { |
|
|
|
if (mListener != null) { |
|
|
|
mListener.onFragmentInteraction(uri); |
|
|
@ -91,16 +80,6 @@ public class QRFragment extends Fragment { |
|
|
|
mListener = null; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* This interface must be implemented by activities that contain this |
|
|
|
* fragment to allow an interaction in this fragment to be communicated |
|
|
|
* to the activity and potentially other fragments contained in that |
|
|
|
* activity. |
|
|
|
* <p> |
|
|
|
* See the Android Training lesson <a href= |
|
|
|
* "http://developer.android.com/training/basics/fragments/communicating.html" |
|
|
|
* >Communicating with Other Fragments</a> for more information. |
|
|
|
*/ |
|
|
|
public interface OnFragmentInteractionListener { |
|
|
|
// TODO: Update argument type and name |
|
|
|
void onFragmentInteraction(Uri uri); |
|
|
|