mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
fiiixxesssss
This commit is contained in:
parent
b79414c4fe
commit
d1c1617bcf
7 changed files with 35 additions and 11 deletions
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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)
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue