WIP 2 agregar foto
This commit is contained in:
parent
a07a323f1d
commit
dacba723b0
@ -36,6 +36,7 @@
|
||||
<activity android:name=".about.AboutActivity" android:theme="@style/Theme.Isolaatti"/>
|
||||
<activity android:name=".images.picture_viewer.ui.PictureViewerActivity" android:theme="@style/Theme.Isolaatti"/>
|
||||
<activity android:name=".sign_up.ui.SignUpActivity" android:theme="@style/Theme.Isolaatti"/>
|
||||
<activity android:name=".images.image_maker.ui.ImageMakerActivity" android:theme="@style/Theme.Isolaatti"/>
|
||||
<provider
|
||||
android:authorities="com.isolaatti.provider"
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
|
||||
@ -21,6 +21,7 @@ import com.isolaatti.databinding.FragmentImagesBinding
|
||||
import com.isolaatti.images.image_list.domain.entity.Image
|
||||
import com.isolaatti.images.image_list.presentation.ImageListViewModel
|
||||
import com.isolaatti.images.image_list.presentation.ImagesAdapter
|
||||
import com.isolaatti.images.image_maker.ui.ImageMakerContract
|
||||
import com.isolaatti.images.picture_viewer.ui.PictureViewerActivity
|
||||
import com.isolaatti.utils.Resource
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
@ -40,12 +41,19 @@ class ImagesFragment : Fragment() {
|
||||
PictureViewerActivity.startActivityWithImages(requireContext(), images.toTypedArray(), position)
|
||||
}
|
||||
|
||||
private val imageMakerLauncher = registerForActivityResult(ImageMakerContract()) {
|
||||
|
||||
}
|
||||
|
||||
private val choosePictureLauncher = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) {
|
||||
// use uri
|
||||
imageMakerLauncher.launch(it)
|
||||
}
|
||||
|
||||
private val takePhotoLauncher = registerForActivityResult(ActivityResultContracts.TakePicture()) {
|
||||
// use cameraPhotoUri if success
|
||||
if(it && cameraPhotoUri != null) {
|
||||
imageMakerLauncher.launch(cameraPhotoUri)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun makePhotoUri(): Uri {
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
package com.isolaatti.images.image_maker.presentation
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class ImageMakerViewModel @Inject constructor() : ViewModel() {
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.isolaatti.images.image_maker.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import coil.load
|
||||
import com.isolaatti.common.IsolaattiBaseActivity
|
||||
import com.isolaatti.databinding.ActivityImageMakerBinding
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ImageMakerActivity : IsolaattiBaseActivity() {
|
||||
private lateinit var binding: ActivityImageMakerBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityImageMakerBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
||||
|
||||
binding.imagePreview.load(intent.data)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.isolaatti.images.image_maker.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import androidx.activity.result.contract.ActivityResultContract
|
||||
import com.isolaatti.images.image_list.domain.entity.Image
|
||||
|
||||
class ImageMakerContract : ActivityResultContract<Uri, Image?>() {
|
||||
override fun createIntent(context: Context, input: Uri): Intent {
|
||||
val intent = Intent(context, ImageMakerActivity::class.java)
|
||||
intent.data = input
|
||||
|
||||
return intent
|
||||
}
|
||||
|
||||
override fun parseResult(resultCode: Int, intent: Intent?): Image? {
|
||||
return null
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
<vector android:autoMirrored="true" android:height="24dp"
|
||||
android:tint="#000000" android:viewportHeight="24"
|
||||
android:tint="@color/on_surface" android:viewportHeight="24"
|
||||
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||
</vector>
|
||||
|
||||
58
app/src/main/res/layout/activity_image_maker.xml
Normal file
58
app/src/main/res/layout/activity_image_maker.xml
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/materialToolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:navigationIcon="@drawable/baseline_arrow_back_24"
|
||||
app:title="@string/upload_a_picture"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/textImageName"
|
||||
style="?attr/textInputOutlinedStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/materialToolbar">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:maxLines="1" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_preview"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="32dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/postButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textImageName" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/postButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/upload_photo"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@ -117,4 +117,5 @@
|
||||
<string name="email_used">Email is in use already</string>
|
||||
<string name="upload_a_picture">Upload a picture</string>
|
||||
<string name="take_a_photo">Take a photo</string>
|
||||
<string name="upload_photo">Upload picture</string>
|
||||
</resources>
|
||||
Loading…
x
Reference in New Issue
Block a user