package ar.rulosoft.mimanganu; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ScrollView; import android.widget.TextView; import java.io.IOException; import java.io.InputStream; import static android.R.color.black; public class LicenseFragment extends Fragment { private TextView mLicenseView; private static final String TAG = "LicenseFragment"; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setHasOptionsMenu(true); setRetainInstance(true); mLicenseView = new TextView(getActivity()); // mLicenseView.setTextAppearance(getActivity(), android.R.style.TextAppearance_Medium); mLicenseView.setPadding(10, 10, 10, 10); if (!MainActivity.darkTheme) { mLicenseView.setTextColor(ContextCompat.getColor(getContext(), black)); } ScrollView newScroll = new ScrollView(getActivity()); newScroll.addView(mLicenseView); return newScroll; } @Override public void onResume() { super.onResume(); showLicense("Thanks.txt"); ((MainActivity) getActivity()).setTitle(getString(R.string.licencia)); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.view_license, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.licenseViewAPACHE: { showLicense("APACHE-LICENSE-2.0.txt"); break; } case R.id.licenseViewMIT: { showLicense("MIT.txt"); break; } case R.id.licenseViewThanks: { showLicense("Thanks.txt"); break; } case android.R.id.home: { getActivity().onBackPressed(); return true; } default: break; } return super.onOptionsItemSelected(item); } private void showLicense(String asset) { try { InputStream is = getActivity().getAssets().open(asset); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); String licenseStr = new String(buffer); is.close(); mLicenseView.setText(licenseStr); } catch (IOException e) { Log.e(TAG, "Error while loading license", e); } } }