Skip to content

Commit

Permalink
Add option for sign in
Browse files Browse the repository at this point in the history
  • Loading branch information
akshaaatt committed Oct 5, 2023
1 parent f8d59bf commit a24165f
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 20 deletions.
2 changes: 1 addition & 1 deletion app/src/main/java/com/limurse/onboarding/IntroActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class IntroActivity : OnboardAdvanced() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setSignInButton(false)
showSignInButton = true
isWizardMode = true
val permissions = when {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> {
Expand Down
10 changes: 5 additions & 5 deletions onboard/src/main/java/com/limurse/onboard/OnboardAdvanced.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import android.view.View.VISIBLE
import android.widget.ImageButton
import androidx.annotation.ColorInt
import androidx.annotation.IdRes
import androidx.appcompat.widget.AppCompatButton
import androidx.constraintlayout.widget.ConstraintLayout
import com.google.android.gms.common.SignInButton

abstract class OnboardAdvanced : OnboardBase() {

Expand All @@ -35,14 +35,14 @@ abstract class OnboardAdvanced : OnboardBase() {
private lateinit var backgroundFrame: ConstraintLayout
private lateinit var bottomBar: View
private lateinit var skipImageButton: ImageButton
private lateinit var googleSignInButton: SignInButton
private lateinit var signInButton: AppCompatButton

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
backgroundFrame = findViewById(R.id.background)
bottomBar = findViewById(R.id.bottom)
skipImageButton = findViewById(R.id.skip)
googleSignInButton = findViewById(R.id.sign_in_button)
signInButton = findViewById(R.id.sign_in_button)
if (isRtl) {
skipImageButton.scaleX = -1F
}
Expand All @@ -59,10 +59,10 @@ abstract class OnboardAdvanced : OnboardBase() {
fun setSignInButton(show: Boolean){
when {
show -> {
googleSignInButton.visibility = VISIBLE
signInButton.visibility = VISIBLE
}
else -> {
googleSignInButton.visibility = GONE
signInButton.visibility = GONE
}
}
}
Expand Down
12 changes: 11 additions & 1 deletion onboard/src/main/java/com/limurse/onboard/OnboardBase.kt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ abstract class OnboardBase : AppCompatActivity(), OnboardViewPagerListener {
updateButtonsVisibility()
}

/** Toggles the Sign in mode (sign in button instead of done on last slide). */
protected var showSignInButton: Boolean = false
set(value) {
field = value
this.isSkipButtonEnabled = !value
updateButtonsVisibility()
}

/** Toggles the [IndicatorController] visibility. */
protected var isIndicatorEnabled = true
set(value) {
Expand Down Expand Up @@ -556,7 +564,8 @@ abstract class OnboardBase : AppCompatActivity(), OnboardViewPagerListener {
val isLastSlide = pager.isLastSlide(fragments.size)
val isFirstSlide = pager.isFirstSlide(fragments.size)
nextButton.isVisible = !isLastSlide
doneButton.isVisible = isLastSlide
doneButton.isVisible = isLastSlide && !showSignInButton
signInButton.isVisible = isLastSlide && showSignInButton
skipButton.isVisible = isSkipButtonEnabled && !isLastSlide
backButton.isVisible = isWizardMode && !isFirstSlide
}
Expand All @@ -565,6 +574,7 @@ abstract class OnboardBase : AppCompatActivity(), OnboardViewPagerListener {
doneButton.isVisible = false
backButton.isVisible = false
skipButton.isVisible = false
signInButton.isVisible = false
}
}
}
Expand Down
9 changes: 9 additions & 0 deletions onboard/src/main/res/drawable/rounded_button.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="?attr/colorPrimary"/>
<corners android:radius="12dp"/>
</shape>
</item>
</selector>
30 changes: 17 additions & 13 deletions onboard/src/main/res/layout/onboard_intro_layout2.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/background"
Expand All @@ -24,15 +25,15 @@
android:layout_width="0dp"
android:layout_height="@dimen/onboard2_bottombar_height"
android:background="@color/onboard_bar_color"
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

<ImageButton
android:id="@+id/skip"
style="@style/Onboard2ButtonStyleCompat"
android:contentDescription="@string/onboard_skip_button"
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/bottom"
app:srcCompat="@drawable/ic_onboard_fab_skip" />
Expand All @@ -51,7 +52,7 @@
android:id="@+id/indicator_container"
style="@style/OnboardIndicatorContainer"
android:layoutDirection="ltr"
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/bottom"
Expand All @@ -62,7 +63,7 @@
android:id="@+id/next"
style="@style/Onboard2ButtonStyleCompat"
android:contentDescription="@string/onboard_next_button"
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/bottom"
app:srcCompat="@drawable/ic_onboard_fab_next" />
Expand All @@ -72,19 +73,22 @@
style="@style/Onboard2ButtonStyleCompat"
android:contentDescription="@string/onboard_done_button"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/bottom"
app:srcCompat="@drawable/ic_onboard_fab_done" />

<com.google.android.gms.common.SignInButton
<Button
android:id="@+id/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_height="60dp"
android:layout_width="80dp"
android:layout_margin="12dp"
android:text="@string/sign_in"
android:contentDescription="@string/onboard_sign_in_button"
android:background="@drawable/rounded_button"
android:visibility="gone"
android:padding="24dp"
android:layout_width="0dp"
android:layout_height="wrap_content" />
app:layout_constraintBottom_toTopOf="@id/sign_in_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/bottom" />

</androidx.constraintlayout.widget.ConstraintLayout>
2 changes: 2 additions & 0 deletions onboard/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@
<string name="onboard_back_button" tools:ignore="MissingTranslation">BACK</string>
<string name="onboard_done_button">DONE</string>
<string name="onboard_image_content_description" tools:ignore="MissingTranslation">graphics</string>
<string name="sign_in">Sign in</string>
<string name="onboard_sign_in_button">Sign in</string>
</resources>

0 comments on commit a24165f

Please sign in to comment.