view app/src/main/java/com/bartsent/simpleresizer/EditImage.kt @ 0:13935000c2d9

Stuff Andriod Studio ignored for some reason.
author David Barts <n5jrn@me.com>
date Sun, 31 Jan 2021 08:21:24 -0800
parents
children f26f61a8a9ad
line wrap: on
line source

package com.bartsent.simpleresizer

import android.graphics.BitmapFactory
import android.net.Uri
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Html
import android.text.Spanned
import android.view.View
import android.widget.TextView
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.databinding.DataBindingUtil
import com.bartsent.simpleresizer.databinding.ActivityEditImageBinding


class EditImage : AppCompatActivity() {
    private lateinit var binding: ActivityEditImageBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityEditImageBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }

    private fun item(title: String, value: Any?): String =
        if (value == null)
            ""
        else
            "<b>${title}:</b> ${Html.escapeHtml(value.toString())}<br/>"

    private fun fromHtml(input: String): Spanned =
        if (android.os.Build.VERSION.SDK_INT >= 24) {
            Html.fromHtml(input, Html.FROM_HTML_MODE_COMPACT)
        } else {
            Html.fromHtml(input)
        }

    override fun onResume() {
        super.onResume()
        val imageUri = intent?.data
        if (imageUri == null) {
            binding.imageStatusReport.text = fromHtml("<b>Error:</b> no URI supplied!")
            return;
        }
        val imageBitmap = contentResolver.openInputStream(imageUri).use {
            BitmapFactory.decodeStream(it)
        }
        binding.imageStatusReport.text = fromHtml(
                item("Uri", imageUri) +
                        item("Byte-Count", imageBitmap.byteCount) +
                        item("Density", imageBitmap.density) +
                        item("Height", imageBitmap.height) +
                        item("Width", imageBitmap.width) +
                        item("Has-Alpha", imageBitmap.hasAlpha())
        )
        Toast.makeText(applicationContext, "Exiting.", Toast.LENGTH_LONG).show() // debug
    }
}