fiiixxesssss

This commit is contained in:
Phillip Thelen 2022-07-25 16:21:03 +02:00
parent b79414c4fe
commit d1c1617bcf
7 changed files with 35 additions and 11 deletions

View file

@ -4,7 +4,7 @@
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="40dp"
android:id="@+id/purchaseSetButton"
android:visibility="gone"
@ -25,6 +25,7 @@
<com.habitrpg.android.habitica.ui.views.CurrencyView
android:id="@+id/set_price_label"
android:layout_width="wrap_content"
android:fontFamily="sans-serif-medium"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>

View file

@ -3,10 +3,11 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:minWidth="220dp"
android:layout_height="60dp"
android:background="@drawable/button_background_primary"
android:gravity="center"
android:padding="6dp">
android:paddingHorizontal="6dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -21,5 +22,6 @@
android:id="@+id/currencyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
app:fontFamily="sans-serif-medium"/>
</LinearLayout>

View file

@ -14,12 +14,12 @@ import com.habitrpg.android.habitica.extensions.fromHtml
import com.habitrpg.android.habitica.extensions.observeOnce
import com.habitrpg.android.habitica.helpers.AdHandler
import com.habitrpg.android.habitica.helpers.AdType
import com.habitrpg.common.habitica.helpers.Animations
import com.habitrpg.android.habitica.helpers.AppConfigManager
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
import com.habitrpg.android.habitica.ui.views.ads.AdButton
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
import com.habitrpg.android.habitica.ui.views.ads.AdButton
import com.habitrpg.common.habitica.helpers.Animations
import com.plattysoft.leonids.ParticleSystem
import javax.inject.Inject
@ -105,7 +105,7 @@ class DeathActivity: BaseActivity() {
.setSpeedRange(0.01f, 0.03f)
.setFadeOut(4000, AccelerateInterpolator())
.setSpeedModuleAndAngleRange(0.01f, 0.03f, startAngle, startAngle+80)
.emit(550, 690, 3, 6000)
.emit(550, 670, 3, 6000)
}

View file

@ -16,6 +16,7 @@ import com.habitrpg.android.habitica.models.inventory.CustomizationSet
import com.habitrpg.android.habitica.models.shops.ShopItem
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog
import com.habitrpg.common.habitica.extensions.dpToPx
import com.habitrpg.common.habitica.extensions.loadImage
import com.habitrpg.common.habitica.models.Avatar
import com.habitrpg.common.habitica.views.AvatarView
@ -24,6 +25,7 @@ import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.subjects.PublishSubject
import java.util.Date
import java.util.EnumMap
import kotlin.math.min
class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
@ -31,7 +33,8 @@ class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.Recycler
var hairColor: String? = null
var avatar: Avatar? = null
var customizationType: String? = null
var gemBalance: Int = 0
var gemBalance = 0
var columnCount = 1
var unsortedCustomizations: List<Customization> = ArrayList()
private var customizationList: MutableList<Any> = ArrayList()
var additionalSetItems: List<Customization> = ArrayList()
@ -79,6 +82,7 @@ class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.Recycler
(holder as SectionViewHolder).bind(obj as CustomizationSet)
} else if (getItemViewType(position) == 1) {
(holder as SectionFooterViewHolder).bind(obj as CustomizationSet)
holder.buttonWidth = (min(columnCount, obj.customizations.size) * 76.dpToPx(holder.itemView.context))
} else {
(holder as CustomizationViewHolder).bind(customizationList[position] as Customization)
}
@ -255,6 +259,14 @@ class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.Recycler
var context: Context = itemView.context
private var set: CustomizationSet? = null
var buttonWidth: Int
get() = binding.purchaseSetButton.width
set(value) {
val params = binding.purchaseSetButton.layoutParams
params.width = value
binding.purchaseSetButton.layoutParams = params
}
init {
binding.purchaseSetButton.setOnClickListener(this)
}

View file

@ -11,6 +11,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.CheckBox
import androidx.core.content.ContextCompat
import androidx.core.view.doOnLayout
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.flexbox.AlignItems
import com.google.android.flexbox.FlexDirection.ROW
@ -22,7 +23,6 @@ import com.habitrpg.android.habitica.data.CustomizationRepository
import com.habitrpg.android.habitica.data.InventoryRepository
import com.habitrpg.android.habitica.databinding.BottomSheetBackgroundsFilterBinding
import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding
import com.habitrpg.common.habitica.extensions.getThemeColor
import com.habitrpg.android.habitica.extensions.setTintWith
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.CustomizationFilter
@ -35,6 +35,8 @@ import com.habitrpg.android.habitica.ui.helpers.MarginDecoration
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaBottomSheetDialog
import com.habitrpg.common.habitica.extensions.dpToPx
import com.habitrpg.common.habitica.extensions.getThemeColor
import io.reactivex.rxjava3.core.BackpressureStrategy
import io.reactivex.rxjava3.kotlin.combineLatest
import io.reactivex.rxjava3.subjects.BehaviorSubject
@ -120,6 +122,10 @@ class AvatarCustomizationFragment :
userViewModel.user.observe(viewLifecycleOwner) { updateUser(it) }
currentFilter.onNext(CustomizationFilter())
binding?.recyclerView?.doOnLayout {
adapter.columnCount = it.width / (80.dpToPx(context))
}
}
override fun onDestroy() {

View file

@ -1,6 +1,7 @@
package com.habitrpg.android.habitica.ui.viewHolders
import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView
@ -61,6 +62,7 @@ class SectionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
} else {
countPill?.visibility = View.VISIBLE
}
label.gravity = Gravity.START
countPill?.text = itemView.context.getString(R.string.pet_ownership_fraction, section.ownedCount, section.totalCount)
}

View file

@ -16,10 +16,10 @@ import android.widget.TimePicker
import androidx.core.content.ContextCompat
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.TaskFormReminderItemBinding
import com.habitrpg.android.habitica.models.tasks.RemindersItem
import com.habitrpg.common.habitica.extensions.dpToPx
import com.habitrpg.common.habitica.extensions.getThemeColor
import com.habitrpg.common.habitica.extensions.layoutInflater
import com.habitrpg.android.habitica.models.tasks.RemindersItem
import com.habitrpg.common.habitica.models.tasks.TaskType
import java.text.DateFormat
import java.time.ZonedDateTime
@ -114,11 +114,12 @@ class ReminderItemFormView @JvmOverloads constructor(
)
timePickerDialog.show()
} else {
val zonedDateTime = (item.getZonedDateTime() ?: ZonedDateTime.now())
val timePickerDialog = DatePickerDialog(
context, this,
ZonedDateTime.now().year,
ZonedDateTime.now().monthValue,
ZonedDateTime.now().dayOfMonth
zonedDateTime.year,
zonedDateTime.monthValue - 1,
zonedDateTime.dayOfMonth
)
if ((firstDayOfWeek ?: -1) >= 0) {
timePickerDialog.datePicker.firstDayOfWeek = firstDayOfWeek ?: 0