/* * Copyright (C) 2020 Conny Duck * * This file is part of Pixelcat. * * Pixelcat is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Pixelcat is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package at.connyduck.pixelcat.components.about.licenses import android.content.Context import android.content.Intent import android.os.Bundle import android.util.Log import android.view.ViewGroup import android.widget.TextView import androidx.annotation.RawRes import at.connyduck.pixelcat.R import at.connyduck.pixelcat.components.general.BaseActivity import at.connyduck.pixelcat.databinding.ActivityLicenseBinding import java.io.BufferedReader import java.io.IOException import java.io.InputStreamReader class LicenseActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val binding = ActivityLicenseBinding.inflate(layoutInflater) setContentView(binding.root) binding.licenseContainer.setOnApplyWindowInsetsListener { _, insets -> val top = insets.systemWindowInsetTop val toolbarParams = binding.licenseToolbar.layoutParams as ViewGroup.MarginLayoutParams toolbarParams.topMargin = top insets.consumeSystemWindowInsets() } setSupportActionBar(binding.licenseToolbar) binding.licenseToolbar.setNavigationOnClickListener { onBackPressed() } loadFileIntoTextView(R.raw.apache, binding.licenseApacheTextView) } private fun loadFileIntoTextView(@RawRes fileId: Int, textView: TextView) { val sb = StringBuilder() val br = BufferedReader(InputStreamReader(resources.openRawResource(fileId))) try { var line: String? = br.readLine() while (line != null) { sb.append(line) sb.append('\n') line = br.readLine() } } catch (e: IOException) { Log.w("LicenseActivity", e) } br.close() textView.text = sb.toString() } companion object { fun newIntent(context: Context) = Intent(context, LicenseActivity::class.java) } }