Add Chat Colors onboarding.

This commit is contained in:
Alex Hart
2021-06-02 13:03:41 -03:00
committed by Cody Henthorne
parent 1eae360470
commit fb817e0c3b
14 changed files with 249 additions and 15 deletions

View File

@@ -1,11 +1,15 @@
package org.thoughtcrime.securesms.conversation.colors.ui
import android.content.Context
import android.graphics.Color
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.TooltipPopup
import org.thoughtcrime.securesms.conversation.colors.ChatColors
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.MappingAdapter
import org.thoughtcrime.securesms.util.MappingViewHolder
import org.thoughtcrime.securesms.util.ViewUtil
@@ -83,6 +87,15 @@ class ChatColorSelectionAdapter(
val mask = model.chatColors.asCircle()
preview.setImageDrawable(mask.withFixedSize(ViewUtil.dpToPx(56)))
if (model.isAuto && SignalStore.chatColorsValues().shouldShowAutoTooltip) {
SignalStore.chatColorsValues().shouldShowAutoTooltip = false
TooltipPopup.forTarget(itemView)
.setText(R.string.ChatColorSelectionFragment__auto_matches_the_color_to_the_wallpaper)
.setBackgroundTint(ContextCompat.getColor(context, R.color.signal_accent_primary))
.setTextColor(Color.WHITE)
.show(TooltipPopup.POSITION_BELOW)
}
}
}

View File

@@ -11,8 +11,11 @@ import android.graphics.PointF
import android.graphics.RectF
import android.graphics.drawable.Drawable
import android.graphics.drawable.GradientDrawable
import android.os.Build
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
import android.widget.ScrollView
import android.widget.SeekBar
import androidx.annotation.ColorInt
@@ -28,6 +31,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.conversation.colors.ChatColors
import org.thoughtcrime.securesms.conversation.colors.ui.ChatColorPreviewView
import org.thoughtcrime.securesms.conversation.colors.ui.ChatColorSelectionViewModel
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.Util
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.customizeOnDraw
@@ -195,6 +199,23 @@ class CustomChatColorCreatorPageFragment :
}
}
}
if (page == 1 && SignalStore.chatColorsValues().shouldShowGradientTooltip) {
view.post {
SignalStore.chatColorsValues().shouldShowGradientTooltip = false
val contentView = layoutInflater.inflate(R.layout.gradient_tool_tooltip, view as ViewGroup, false)
val popupWindow = PopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
popupWindow.isOutsideTouchable = false
popupWindow.isFocusable = true
if (Build.VERSION.SDK_INT > 21) {
popupWindow.elevation = ViewUtil.dpToPx(8).toFloat()
}
popupWindow.showAsDropDown(gradientTool, 0, -gradientTool.measuredHeight + ViewUtil.dpToPx(48))
}
}
}
private fun createRepository(): CustomChatColorCreatorRepository {