Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

181937962 share excitement #457

Merged
merged 6 commits into from
May 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/src/main/java/com/hover/stax/home/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ class MainActivity : AbstractRequestActivity(), BalancesViewModel.RunBalanceList
private fun showPopUpTransactionDetailsIfRequired(data: Intent?) {
if (data != null && data.extras != null && data.extras!!.getString("uuid") != null) {
transferViewModel.reset()
navHelper.showTxnDetails(data.extras!!.getString("uuid")!!)
navHelper.showTxnDetails(data.extras!!.getString("uuid")!!, true)
}

// else {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/hover/stax/home/NavHelper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class NavHelper(val activity: AppCompatActivity) {

fun navigateToBountyList() = NavUtil.navigate(getNavController(), BountyEmailFragmentDirections.actionBountyEmailFragmentToBountyListFragment())

fun showTxnDetails(uuid: String) = NavUtil.showTransactionDetailsFragment(getNavController(), uuid)
fun showTxnDetails(uuid: String, isNewTransaction: Boolean? = false) = NavUtil.showTransactionDetailsFragment(getNavController(), uuid, isNewTransaction!!)

fun navigateTransfer(type: String, txnUUID: String? = null) {
val transferDirection = MainNavigationDirections.actionGlobalTransferFragment(type)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.ViewGroup
import android.view.animation.AnimationUtils
import android.widget.Button
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.core.text.HtmlCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.hover.sdk.actions.HoverAction
import com.hover.sdk.api.Hover
import com.hover.sdk.transactions.Transaction
Expand Down Expand Up @@ -44,6 +47,7 @@ class TransactionDetailsFragment : Fragment() {
private val args: TransactionDetailsFragmentArgs by navArgs()

private lateinit var childFragManager: FragmentManager
private lateinit var bottomSheetBehavior: BottomSheetBehavior<RelativeLayout>

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
viewModel.setTransaction(args.uuid)
Expand Down Expand Up @@ -116,6 +120,7 @@ class TransactionDetailsFragment : Fragment() {
} else binding.secondaryStatus.btnRetryTransaction.visibility = GONE

updateDetails(transaction)
showShareExcitement(!transaction.isRecorded && transaction.isSuccessful)
}
}

Expand Down Expand Up @@ -149,6 +154,25 @@ class TransactionDetailsFragment : Fragment() {
return !transaction.isBalanceType && !transaction.balance.isNullOrEmpty() && transaction.isSuccessful
}

private fun showShareExcitement(isTransactionSuccessful: Boolean) {
bottomSheetBehavior = BottomSheetBehavior.from(binding.shareLayout.bottomSheet)
val shouldShow = args.isNewTransaction && isTransactionSuccessful
setBottomSheetVisibility(shouldShow)
}

private fun setBottomSheetVisibility(isVisible: Boolean) {
var updatedState = BottomSheetBehavior.STATE_HIDDEN

if(isVisible) {
updatedState = BottomSheetBehavior.STATE_EXPANDED
val animation = AnimationUtils.loadAnimation(requireContext(), R.anim.slide_down)
binding.shareLayout.bottomSheet.visibility = VISIBLE
binding.shareLayout.bottomSheet.animation = animation
binding.shareLayout.shareBtn.setOnClickListener { Utils.shareStax(requireActivity()) }
}
bottomSheetBehavior.state = updatedState
}

@SuppressLint("SetTextI18n")
private fun updateDetails(transaction: StaxTransaction) {
val title = when (transaction.transaction_type) {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/hover/stax/utils/NavUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ object NavUtil {
currentDestination?.getAction(navDirections.actionId)?.let { navigate(navDirections) }
}

fun showTransactionDetailsFragment(navController: NavController, uuid: String) {
navigate(navController, MainNavigationDirections.actionGlobalTxnDetailsFragment(uuid))
fun showTransactionDetailsFragment(navController: NavController, uuid: String, isNewTransaction: Boolean? = false) {
navigate(navController, MainNavigationDirections.actionGlobalTxnDetailsFragment(uuid, isNewTransaction!!))
}
}
8 changes: 8 additions & 0 deletions app/src/main/res/anim/slide_down.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="-100%"
android:toYDelta="0%" >
</translate>
</set>
Binary file added app/src/main/res/drawable/party.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<com.hover.stax.views.StaxNavView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<com.hover.stax.views.StaxNavView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/home_root"
android:layout_width="match_parent"
android:layout_height="match_parent">
Expand Down
14 changes: 11 additions & 3 deletions app/src/main/res/layout/fragment_transaction.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<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/ft_mainBg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="afterDescendants"
android:orientation="vertical">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/margin_13">
Expand Down Expand Up @@ -33,4 +39,6 @@

</com.hover.stax.views.StaxCardView>

</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
<include layout="@layout/share_excitement_layout" android:id="@+id/share_layout"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
64 changes: 64 additions & 0 deletions app/src/main/res/layout/share_excitement_layout.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottom_sheet"
android:visibility="gone"
android:background="@color/brightBlue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_16"
app:behavior_hideable="true"
app:behavior_peekHeight="@dimen/margin_55"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">

<ImageView
android:id="@+id/emoticon"
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="centerCrop"
android:contentDescription="@string/share_desc"
android:src="@drawable/party"
/>

<TextView
android:id="@+id/share_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@id/emoticon"
android:fontFamily="@font/brutalista_bold"
android:text="@string/transaction_successful"
android:textStyle="bold"
android:textSize="@dimen/text_16"
android:textAlignment="viewEnd"
/>

<TextView
android:id="@+id/share_subTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@id/share_title"
android:layout_toEndOf="@id/emoticon"
android:fontFamily="@font/brutalista_regular"
android:text="@string/share_desc"
android:textAlignment="viewEnd" />

<TextView
android:id="@+id/share_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:layout_alignParentEnd="true"
android:layout_below="@id/share_subTitle"
android:paddingStart="@dimen/margin_13"
android:paddingBottom="@dimen/margin_13"
android:paddingTop="@dimen/margin_13"
android:paddingEnd="0dp"
android:layout_toEndOf="@id/emoticon"
android:fontFamily="@font/brutalista_bold"
android:textStyle="bold"
android:text="@string/share"
android:textAlignment="viewEnd"
android:textColor="@color/blue_state_color" />
</RelativeLayout>
5 changes: 5 additions & 0 deletions app/src/main/res/navigation/home_navigation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,11 @@
<argument
android:name="uuid"
app:argType="string" />
<argument
android:name="isNewTransaction"
app:argType="boolean"
/>

<action
android:id="@+id/action_transactionDetailsFragment_to_bountyListFragment"
app:destination="@id/bountyListFragment" />
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,11 @@
<string name="perm_cta1">Show settings</string>
<string name="perm_cta2">Show settings again</string>

<!-- Share Excitement -->
<string name="share_desc">Share Stax with your friends</string>
<string name="share">Share</string>
<string name="transaction_successful">Transaction successful</string>

<!-- Hover Session -->
<string name="balance_msg">Checking %1$s balance</string>
<string name="airtime_msg">Buying airtime</string>
Expand Down