diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt index b73e5db7..c6579bcc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt @@ -10,6 +10,10 @@ import android.provider.ContactsContract import android.view.View import android.view.WindowManager import android.widget.RelativeLayout +import com.bumptech.glide.Glide +import com.bumptech.glide.load.resource.bitmap.FitCenter +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.request.RequestOptions import com.simplemobiletools.commons.dialogs.CallConfirmationDialog import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.SelectAlarmSoundDialog @@ -75,6 +79,14 @@ class ViewContactActivity : ContactActivity() { } } + override fun onBackPressed() { + if (contact_photo_big.alpha == 1f) { + hideBigContactPhoto() + } else { + super.onBackPressed() + } + } + private fun setupMenu() { (contact_appbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight contact_toolbar.menu.apply { @@ -170,6 +182,23 @@ class ViewContactActivity : ContactActivity() { contact_photo_bottom_shadow.beGone() } else { updateContactPhoto(contact!!.photoUri, contact_photo, contact_photo_bottom_shadow, contact!!.photo) + val options = RequestOptions() + .transform(FitCenter(), RoundedCorners(resources.getDimension(R.dimen.normal_margin).toInt())) + + Glide.with(this) + .load(contact!!.photo ?: currentContactPhotoPath) + .apply(options) + .into(contact_photo_big) + + contact_photo.setOnClickListener { + contact_photo_big.alpha = 0f + contact_photo_big.beVisible() + contact_photo_big.animate().alpha(1f).start() + } + + contact_photo_big.setOnClickListener { + hideBigContactPhoto() + } } val textColor = config.textColor @@ -721,6 +750,10 @@ class ViewContactActivity : ContactActivity() { private fun getStarDrawable(on: Boolean) = resources.getDrawable(if (on) R.drawable.ic_star_on_vector else R.drawable.ic_star_off_vector) + private fun hideBigContactPhoto() { + contact_photo_big.animate().alpha(0f).withEndAction { contact_photo_big.beGone() }.start() + } + private fun View.copyOnLongClick(value: String) { setOnLongClickListener { copyToClipboard(value) diff --git a/app/src/main/res/layout/activity_view_contact.xml b/app/src/main/res/layout/activity_view_contact.xml index f6ca310f..88e644d1 100644 --- a/app/src/main/res/layout/activity_view_contact.xml +++ b/app/src/main/res/layout/activity_view_contact.xml @@ -388,6 +388,17 @@ + +