packageorg.marcinzelent.liberavem;importandroid.content.Context;importandroid.net.Uri;importandroid.os.Bundle;importandroid.support.v4.app.Fragment;importandroid.text.Html;importandroid.text.Spanned;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.TextView;importorg.jetbrains.annotations.Nullable;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;/** * A simple {@link Fragment} subclass. * Activities that contain this fragment must implement the * {@link AboutFragment.OnFragmentInteractionListener} interface * to handle interaction events. * Use the {@link AboutFragment#newInstance} factory method to * create an instance of this fragment. */publicclassAboutFragmentextendsFragment{// TODO: Rename parameter arguments, choose names that match// the fragment initialization parameters, e.g. ARG_ITEM_NUMBERprivatestaticfinalStringARG_PARAM1="param1";privatestaticfinalStringARG_PARAM2="param2";// TODO: Rename and change types of parametersprivateStringmParam1;privateStringmParam2;privateOnFragmentInteractionListenermListener;publicAboutFragment(){// 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 AboutFragment. */// TODO: Rename and change types and number of parameterspublicstaticAboutFragmentnewInstance(Stringparam1,Stringparam2){AboutFragmentfragment=newAboutFragment();Bundleargs=newBundle();args.putString(ARG_PARAM1,param1);args.putString(ARG_PARAM2,param2);fragment.setArguments(args);returnfragment;}@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);if(getArguments()!=null){mParam1=getArguments().getString(ARG_PARAM1);mParam2=getArguments().getString(ARG_PARAM2);}((MainActivity)getActivity()).setActionBarTitle("About");}@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){// Inflate the layout for this fragmentreturninflater.inflate(R.layout.fragment_about,container,false);}@OverridepublicvoidonViewCreated(Viewview,@NullableBundlesavedInstanceState){InputStreaminputStream=this.getResources().openRawResource(R.raw.gpl_3);InputStreamReaderinputreader=newInputStreamReader(inputStream);BufferedReaderbuffreader=newBufferedReader(inputreader);Stringline;StringBuildertext=newStringBuilder();try{while((line=buffreader.readLine())!=null){text.append(line);text.append('\n');}}catch(IOExceptione){}Spannedlicense=Html.fromHtml(text.toString());TextViewaboutLicense=view.findViewById(R.id.about_license);aboutLicense.setText(license);}// TODO: Rename method, update argument and hook method into UI eventpublicvoidonButtonPressed(Uriuri){if(mListener!=null){mListener.onFragmentInteraction(uri);}}@OverridepublicvoidonAttach(Contextcontext){super.onAttach(context);if(contextinstanceofOnFragmentInteractionListener){mListener=(OnFragmentInteractionListener)context;}else{thrownewRuntimeException(context.toString()+" must implement OnFragmentInteractionListener");}}@OverridepublicvoidonDetach(){super.onDetach();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. */publicinterfaceOnFragmentInteractionListener{// TODO: Update argument type and namevoidonFragmentInteraction(Uriuri);}}