mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 03:11:10 +01:00
Add Chat Colors onboarding.
This commit is contained in:
committed by
Cody Henthorne
parent
1eae360470
commit
fb817e0c3b
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user