package com.pluscubed.plustimer.ui; import android.app.Fragment; import android.app.FragmentManager; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.pluscubed.plustimer.R; import com.pluscubed.plustimer.ui.basedrawer.ThemableActivity; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * Licenses Activity */ public class LicensesActivity extends ThemableActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_with_toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar); setSupportActionBar(toolbar); FragmentManager fm = getFragmentManager(); Fragment f = fm.findFragmentById(R.id .activity_with_toolbar_content_framelayout); if (f == null) { fm.beginTransaction() .replace(R.id.activity_with_toolbar_content_framelayout, new LicensesFragment()) .commit(); } //noinspection ConstantConditions getSupportActionBar().setDisplayHomeAsUpEnabled(true); setTitle(R.string.open_source_licenses); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); } public static class LicensesFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_licenses, container, false); TextView licensesTextView = (TextView) view .findViewById(R.id.fragment_licenses_textview); InputStream inputStream = getActivity().getResources() .openRawResource(R.raw.open_source_licenses); InputStreamReader inputreader = new InputStreamReader(inputStream); BufferedReader buffreader = new BufferedReader(inputreader); String line; StringBuilder disclaimerText = new StringBuilder(); try { while ((line = buffreader.readLine()) != null) { disclaimerText.append(line); disclaimerText.append('\n'); } } catch (IOException e) { return null; } licensesTextView.setText(disclaimerText.toString()); return view; } } }