diff --git a/app/src/main/java/com/example/bondoman/ui/twibbon/TwibbonFragment.kt b/app/src/main/java/com/example/bondoman/ui/twibbon/TwibbonFragment.kt index 4d2e39e84bd1c78088f4405d0e168c0221fcb686..c52485de8a0681e6d091385997746b8cedfa3563 100644 --- a/app/src/main/java/com/example/bondoman/ui/twibbon/TwibbonFragment.kt +++ b/app/src/main/java/com/example/bondoman/ui/twibbon/TwibbonFragment.kt @@ -18,6 +18,7 @@ import java.util.concurrent.Executors import android.content.Context import android.content.Intent import android.graphics.BitmapFactory +import android.net.Uri import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts import androidx.camera.lifecycle.ProcessCameraProvider @@ -52,6 +53,8 @@ class TwibbonFragment : Fragment() { private var previewFrozen: Boolean = false + private val PICK_IMAGE_REQUEST = 1 + private val activityResultLauncher = registerForActivityResult( ActivityResultContracts.RequestMultiplePermissions()) @@ -94,6 +97,7 @@ class TwibbonFragment : Fragment() { } viewBinding.twibbonCaptureButton.setOnClickListener { takePhoto() } + viewBinding.changeTwibbonButton.setOnClickListener { pickTwibbonFromGallery() } cameraExecutor = Executors.newSingleThreadExecutor() } @@ -152,6 +156,21 @@ class TwibbonFragment : Fragment() { startCamera() } + private fun pickTwibbonFromGallery() { + val intent = Intent(Intent.ACTION_PICK) + intent.type = "image/png" + startActivityForResult(intent, PICK_IMAGE_REQUEST) + } + + @Deprecated("Deprecated in Java") + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null) { + val imageUri: Uri? = data.data + viewBinding.twibbonOverlay.setImageURI(imageUri) + } + } + override fun onDestroy() { super.onDestroy() diff --git a/app/src/main/res/layout/fragment_twibbon.xml b/app/src/main/res/layout/fragment_twibbon.xml index 94ad224df90a1aa08d77013916b01f921b0f40f4..ea8bc086dd0ac0738863ea8022af79c80cf8c163 100644 --- a/app/src/main/res/layout/fragment_twibbon.xml +++ b/app/src/main/res/layout/fragment_twibbon.xml @@ -26,7 +26,7 @@ android:layout_marginTop="43dp" /> <ImageView - android:id="@+id/imageView3" + android:id="@+id/twibbonOverlay" android:layout_width="wrap_content" android:layout_height="369dp" android:src="@drawable/bondoman_logo" @@ -37,14 +37,27 @@ <Button android:id="@+id/twibbonCaptureButton" android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="16dp" + android:layout_height="60dp" android:fontFamily="sans-serif" - android:text="capture" + android:text="Capture" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.498" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/textView2" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.743" /> + + <ImageView + android:id="@+id/changeTwibbonButton" + android:layout_width="60dp" + android:layout_height="60dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.15" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.743" + app:srcCompat="@android:drawable/ic_menu_gallery" /> <TextView android:id="@+id/textView2"