annotate app/src/main/java/com/bartsent/simpleresizer/MainActivity.kt @ 3:21d2df45d350

Fix race condition.
author David Barts <n5jrn@me.com>
date Tue, 09 Feb 2021 08:56:00 -0800
parents 06825e49f7aa
children b6a217c850fb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
1 package com.bartsent.simpleresizer
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
2
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
3 import android.app.Activity
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
4 import android.content.Intent
2
06825e49f7aa Got it scaling and rotating, needs settings, etc.
David Barts <n5jrn@me.com>
parents: 0
diff changeset
5 import android.os.Bundle
06825e49f7aa Got it scaling and rotating, needs settings, etc.
David Barts <n5jrn@me.com>
parents: 0
diff changeset
6 import android.util.Log
06825e49f7aa Got it scaling and rotating, needs settings, etc.
David Barts <n5jrn@me.com>
parents: 0
diff changeset
7 import android.widget.Toast
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
8 import androidx.appcompat.app.AppCompatActivity
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
9 import com.bartsent.simpleresizer.databinding.ActivityMainBinding
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
10
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
11 class MainActivity : AppCompatActivity() {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
12 val GET_IMAGE = 1
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
13 private lateinit var binding: ActivityMainBinding
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
14 private var showChooser = true
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
15
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
16 override fun onCreate(savedInstanceState: Bundle?) {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
17 super.onCreate(savedInstanceState)
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
18 binding = ActivityMainBinding.inflate(layoutInflater)
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
19 setContentView(binding.root)
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
20 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
21
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
22 override fun onResume() {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
23 super.onResume()
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
24 if (showChooser) {
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
25 Intent(Intent.ACTION_GET_CONTENT).run {
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
26 type = "image/*"
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
27 addCategory(Intent.CATEGORY_OPENABLE)
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
28 startActivityForResult(this, GET_IMAGE)
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
29 }
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
30 } else {
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
31 showChooser = true
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
32 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
33 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
34
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
35 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
36 showChooser = false
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
37 super.onActivityResult(requestCode, resultCode, data)
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
38 Log.d("MainActivity", "onActivityResult called, requestCode=$requestCode, resultCode=$resultCode")
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
39 if (requestCode == GET_IMAGE) {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
40 val imageUri = data?.data
3
21d2df45d350 Fix race condition.
David Barts <n5jrn@me.com>
parents: 2
diff changeset
41 Log.d("MainActivity", "imageUri=${imageUri ?: "(null)"}")
0
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
42 if (resultCode == Activity.RESULT_OK && imageUri != null) {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
43 Intent(Intent.ACTION_SEND, imageUri, this, EditImage::class.java).run {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
44 startActivity(this)
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
45 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
46 } else {
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
47 Toast.makeText(applicationContext, "Unable to get image!", Toast.LENGTH_LONG)
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
48 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
49 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
50 }
13935000c2d9 Stuff Andriod Studio ignored for some reason.
David Barts <n5jrn@me.com>
parents:
diff changeset
51 }