Updated on 2026-08-14

This commit is contained in:
Tangem 2021-10-14 22:19:23 +03:00
parent b40dc0a04a
commit 1182364325
3 changed files with 205 additions and 7 deletions

View file

@ -0,0 +1,68 @@
package com.tangem.tap.common.leapfrogWidget
import android.os.Bundle
import android.view.View
import android.widget.FrameLayout
import androidx.fragment.app.Fragment
import androidx.transition.TransitionInflater
import com.tangem.tap.domain.twins.TwinsCardWidget
import com.tangem.wallet.R
import kotlinx.android.synthetic.main.test_leapfrog_fragment.*
class TestLeapfrogFragment : Fragment(R.layout.test_leapfrog_fragment) {
private lateinit var twinsCardWidget: TwinsCardWidget
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val inflater = TransitionInflater.from(requireContext())
exitTransition = inflater.inflateTransition(R.transition.fade)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val leapfrogContainer: FrameLayout = view.findViewById(R.id.leapfrog_views_container)
val leapfrog = LeapfrogWidget(leapfrogContainer)
twinsCardWidget = TwinsCardWidget(leapfrog) { 200f }
btn_twin_welcome.setOnClickListener {
twinsCardWidget.toWelcome()
}
btn_twin_to_leapfrog.setOnClickListener {
twinsCardWidget.toLeapfrog()
}
btn_twin_activate.setOnClickListener {
twinsCardWidget.toActivate()
}
btn_lp_init.setOnClickListener {
leapfrog.initViews()
}
btn_lp_unfold.setOnClickListener {
leapfrog.unfold()
}
btn_lp_fold.setOnClickListener {
leapfrog.fold()
}
btn_lp_leap.setOnClickListener {
leapfrog.leap()
}
btn_lp_leap_back.setOnClickListener {
leapfrog.leapBack()
}
}
override fun onStart() {
super.onStart()
leapfrogWidgetState?.let { twinsCardWidget.leapfrogWidget.applyState(it) }
}
override fun onStop() {
super.onStop()
leapfrogWidgetState = twinsCardWidget.leapfrogWidget.getState()
}
}
private var leapfrogWidgetState: LeapfrogWidgetState? = null

View file

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinator_onboarding"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroundWhite"
android:clipChildren="false"
android:fitsSystemWindows="true"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
style="@style/Widget.MaterialComponents.Toolbar.Surface"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="false"
app:liftOnScroll="true">
</com.google.android.material.appbar.AppBarLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.3"
android:clipChildren="false">
<include
layout="@layout/test_leapfrog_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="80dp" />
</FrameLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/onboarding_action_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Twins" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_twin_welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_twin_to_leapfrog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="To Leapfrog" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_twin_activate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Activate" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Leapfrog" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_lp_init"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Init" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_lp_unfold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="UnFold" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_lp_fold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fold" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_lp_leap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Leap" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_lp_leap_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Leap back" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -11,16 +11,13 @@
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_home_front_card" />
android:tint="@color/colorPrimary"
android:src="@drawable/card_placeholder" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_home_front_card" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_home_front_card" />
android:tint="@color/accent"
android:src="@drawable/card_placeholder" />
</FrameLayout>