Commit 4508749d authored by Leonardo Aramaki's avatar Leonardo Aramaki

Fix alignment and padding on image view toolbar

parent 51e3aed7
...@@ -33,7 +33,6 @@ import com.facebook.imagepipeline.request.ImageRequest ...@@ -33,7 +33,6 @@ import com.facebook.imagepipeline.request.ImageRequest
import com.facebook.imagepipeline.request.ImageRequestBuilder import com.facebook.imagepipeline.request.ImageRequestBuilder
import com.stfalcon.frescoimageviewer.ImageViewer import com.stfalcon.frescoimageviewer.ImageViewer
import kotlinx.android.synthetic.main.message_attachment.view.* import kotlinx.android.synthetic.main.message_attachment.view.*
import ru.whalemare.sheetmenu.extension.marginBottom
import timber.log.Timber import timber.log.Timber
import java.io.File import java.io.File
...@@ -63,17 +62,19 @@ class ImageAttachmentViewHolder(itemView: View, ...@@ -63,17 +62,19 @@ class ImageAttachmentViewHolder(itemView: View,
file_name.text = data.attachmentTitle file_name.text = data.attachmentTitle
image_attachment.setOnClickListener { view -> image_attachment.setOnClickListener { view ->
// TODO - implement a proper image viewer with a proper Transition // TODO - implement a proper image viewer with a proper Transition
// TODO - We should definitely write our own ImageViewer
var imageViewer: ImageViewer? = null var imageViewer: ImageViewer? = null
val request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(data.attachmentUrl)) val request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(data.attachmentUrl))
.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.DISK_CACHE) .setLowestPermittedRequestLevel(ImageRequest.RequestLevel.DISK_CACHE)
.build() .build()
cacheKey = DefaultCacheKeyFactory.getInstance() cacheKey = DefaultCacheKeyFactory.getInstance()
.getEncodedCacheKey(request, null) .getEncodedCacheKey(request, null)
val pad = context.resources val pad = context.resources
.getDimensionPixelSize(R.dimen.viewer_toolbar_padding) .getDimensionPixelSize(R.dimen.viewer_toolbar_padding)
val lparams = AppBarLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, val lparams = AppBarLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT) ViewGroup.LayoutParams.WRAP_CONTENT)
val toolbar = Toolbar(itemView.context, null, R.style.Theme_AppCompat_Light_NoActionBar).also { val toolbar = Toolbar(context).also {
it.inflateMenu(R.menu.image_actions) it.inflateMenu(R.menu.image_actions)
it.overflowIcon?.setTint(Color.WHITE) it.overflowIcon?.setTint(Color.WHITE)
it.setOnMenuItemClickListener { it.setOnMenuItemClickListener {
...@@ -85,12 +86,12 @@ class ImageAttachmentViewHolder(itemView: View, ...@@ -85,12 +86,12 @@ class ImageAttachmentViewHolder(itemView: View,
val titleSize = context.resources val titleSize = context.resources
.getDimensionPixelSize(R.dimen.viewer_toolbar_title) .getDimensionPixelSize(R.dimen.viewer_toolbar_title)
val titleTextView = TextView(context).also { val titleTextView = TextView(context).also {
it.text = data.attachmentTitle it.text = data.attachmentTitle
it.setTextColor(Color.WHITE) it.setTextColor(Color.WHITE)
it.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize.toFloat()) it.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize.toFloat())
it.ellipsize = TextUtils.TruncateAt.END it.ellipsize = TextUtils.TruncateAt.END
it.setSingleLine()
it.typeface = Typeface.DEFAULT_BOLD it.typeface = Typeface.DEFAULT_BOLD
it.setPadding(pad) it.setPadding(pad)
} }
...@@ -98,14 +99,13 @@ class ImageAttachmentViewHolder(itemView: View, ...@@ -98,14 +99,13 @@ class ImageAttachmentViewHolder(itemView: View,
val backArrowView = ImageView(context).also { val backArrowView = ImageView(context).also {
it.setImageResource(R.drawable.ic_arrow_back_white_24dp) it.setImageResource(R.drawable.ic_arrow_back_white_24dp)
it.setOnClickListener { imageViewer?.onDismiss() } it.setOnClickListener { imageViewer?.onDismiss() }
it.setPadding(pad) it.setPadding(0, pad ,pad, pad)
} }
val layoutParams = AppBarLayout.LayoutParams( val layoutParams = AppBarLayout.LayoutParams(
AppBarLayout.LayoutParams.WRAP_CONTENT, AppBarLayout.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT AppBarLayout.LayoutParams.WRAP_CONTENT
) )
layoutParams.gravity = Gravity.TOP
it.addView(backArrowView, layoutParams) it.addView(backArrowView, layoutParams)
it.addView(titleTextView, layoutParams) it.addView(titleTextView, layoutParams)
......
...@@ -48,10 +48,8 @@ import okhttp3.Interceptor ...@@ -48,10 +48,8 @@ import okhttp3.Interceptor
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor import okhttp3.logging.HttpLoggingInterceptor
import ru.noties.markwon.SpannableConfiguration import ru.noties.markwon.SpannableConfiguration
import ru.noties.markwon.il.AsyncDrawableLoader
import ru.noties.markwon.spans.SpannableTheme import ru.noties.markwon.spans.SpannableTheme
import timber.log.Timber import timber.log.Timber
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import javax.inject.Singleton import javax.inject.Singleton
...@@ -264,11 +262,6 @@ class AppModule { ...@@ -264,11 +262,6 @@ class AppModule {
fun provideConfiguration(context: Application, client: OkHttpClient): SpannableConfiguration { fun provideConfiguration(context: Application, client: OkHttpClient): SpannableConfiguration {
val res = context.resources val res = context.resources
return SpannableConfiguration.builder(context) return SpannableConfiguration.builder(context)
.asyncDrawableLoader(AsyncDrawableLoader.builder()
.client(client)
.executorService(Executors.newCachedThreadPool())
.resources(res)
.build())
.theme(SpannableTheme.builder() .theme(SpannableTheme.builder()
.linkColor(res.getColor(R.color.colorAccent)) .linkColor(res.getColor(R.color.colorAccent))
.build()) .build())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment