Mercurial > cgi-bin > hgweb.cgi > SimpleResizer
comparison app/src/main/java/com/bartsent/simpleresizer/EditImage.kt @ 21:7e7e71724770
No longer breaks when phone rotated.
author | David Barts <n5jrn@me.com> |
---|---|
date | Mon, 22 Feb 2021 17:49:27 -0800 |
parents | eedf995462d9 |
children | c29f941d09cd |
comparison
equal
deleted
inserted
replaced
20:21be543e9127 | 21:7e7e71724770 |
---|---|
104 else | 104 else |
105 setImage(State.bitmap!!) | 105 setImage(State.bitmap!!) |
106 return | 106 return |
107 } | 107 } |
108 | 108 |
109 // Being stateful stops data loss when the phone gets rotated. | 109 // User has opened a new image. |
110 if (imageUri != State.uri) { | 110 if (imageUri != State.uri) { |
111 State.uri = imageUri | 111 State.uri = imageUri |
112 binding.progressBar.visibility = ProgressBar.VISIBLE | 112 binding.progressBar.visibility = ProgressBar.VISIBLE |
113 ThreadPools.WORKERS.execute { | 113 ThreadPools.WORKERS.execute { |
114 State.bitmap = contentResolver.openInputStream(imageUri).use { | 114 State.bitmap = contentResolver.openInputStream(imageUri).use { |
120 showFatalError(getString(R.string.error_bad_image)) | 120 showFatalError(getString(R.string.error_bad_image)) |
121 else | 121 else |
122 setImage(State.bitmap!!) | 122 setImage(State.bitmap!!) |
123 } | 123 } |
124 } | 124 } |
125 } | 125 return |
126 } | |
127 | |
128 // Rotation (of the phone). | |
129 val oldBitmap = State.bitmap | |
130 if (oldBitmap != null) | |
131 setImage(oldBitmap) | |
126 } | 132 } |
127 | 133 |
128 private fun setImage(image: Bitmap): Unit { | 134 private fun setImage(image: Bitmap): Unit { |
129 binding.imageSize.text = getString(R.string.image_size_text, image.width, image.height) | 135 binding.imageSize.text = getString(R.string.image_size_text, image.width, image.height) |
130 binding.image.setImageBitmap(image) | 136 binding.image.setImageBitmap(image) |