Fix various code style warnings

This commit is contained in:
Phillip Thelen 2019-04-26 11:36:10 +02:00
parent b94549684d
commit d64e07ae51
130 changed files with 269 additions and 443 deletions

View file

@ -123,9 +123,7 @@ public class HabiticaPurchaseVerifier extends BasePurchaseVerifier {
apiClient.validateNoRenewSubscription(validationRequest).subscribe(purchaseValidationResult -> {
purchasedOrderList.add(purchase.orderId);
if (pendingGifts.containsKey(purchase.sku)) {
pendingGifts.remove(purchase.sku);
}
pendingGifts.remove(purchase.sku);
requestListener.onSuccess(verifiedPurchases);
EventBus.getDefault().post(new ConsumablePurchasedEvent(purchase));
}, throwable -> {

View file

@ -6,7 +6,6 @@ import com.habitrpg.android.habitica.models.inventory.CustomizationSet
import com.habitrpg.android.habitica.models.responses.SkillResponse
import com.habitrpg.android.habitica.models.responses.UnlockResponse
import com.habitrpg.android.habitica.models.responses.VerifyUsernameResponse
import com.habitrpg.android.habitica.models.social.ChatMessage
import com.habitrpg.android.habitica.models.tasks.Task
import com.habitrpg.android.habitica.models.user.Stats
import com.habitrpg.android.habitica.models.user.User

View file

@ -123,7 +123,7 @@ class SocialRepositoryImpl(localRepository: SocialLocalRepository, apiClient: Ap
return Flowable.empty()
}
return apiClient.leaveGroup(id)
.doOnNext { _ -> localRepository.updateMembership(userID, id, false) }
.doOnNext { localRepository.updateMembership(userID, id, false) }
.flatMapMaybe { localRepository.getGroup(id).firstElement() }
}

View file

@ -2,12 +2,10 @@ package com.habitrpg.android.habitica.data.local
import com.habitrpg.android.habitica.models.members.Member
import com.habitrpg.android.habitica.models.social.ChatMessage
import com.habitrpg.android.habitica.models.social.FindUsernameResult
import com.habitrpg.android.habitica.models.social.Group
import com.habitrpg.android.habitica.models.social.GroupMembership
import com.habitrpg.android.habitica.models.user.User
import io.reactivex.Flowable
import io.realm.Realm
import io.realm.RealmResults
interface SocialLocalRepository : BaseLocalRepository {

View file

@ -4,7 +4,6 @@ import com.habitrpg.android.habitica.data.local.FAQLocalRepository
import com.habitrpg.android.habitica.models.FAQArticle
import io.reactivex.Flowable
import io.realm.Realm
import io.realm.RealmObject.asFlowable
import io.realm.RealmResults
class RealmFAQLocalRepository(realm: Realm) : RealmContentLocalRepository(realm), FAQLocalRepository {

View file

@ -10,7 +10,6 @@ import com.habitrpg.android.habitica.models.user.User
import io.reactivex.Flowable
import io.realm.Realm
import io.realm.RealmResults
import io.realm.Sort
class RealmUserLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), UserLocalRepository {

View file

@ -1,34 +1,31 @@
package com.habitrpg.android.habitica.extensions
import android.app.AlertDialog
import android.app.Dialog
import android.content.DialogInterface
import androidx.annotation.IdRes
import android.view.View
import com.habitrpg.android.habitica.R
public fun AlertDialog.Builder.setOkButton(listener: ((DialogInterface, Int) -> Unit)? = null): AlertDialog.Builder {
this.setPositiveButton(R.string.ok, { dialog, which ->
fun AlertDialog.Builder.setOkButton(listener: ((DialogInterface, Int) -> Unit)? = null): AlertDialog.Builder {
this.setPositiveButton(R.string.ok) { dialog, which ->
listener?.invoke(dialog, which)
})
}
return this
}
public fun AlertDialog.Builder.setCloseButton(listener: ((DialogInterface, Int) -> Unit)? = null): AlertDialog.Builder {
this.setPositiveButton(R.string.close, { dialog, which ->
fun AlertDialog.Builder.setCloseButton(listener: ((DialogInterface, Int) -> Unit)? = null): AlertDialog.Builder {
this.setPositiveButton(R.string.close) { dialog, which ->
listener?.invoke(dialog, which)
})
}
return this
}
public fun AlertDialog.setOkButton(whichButton: Int = AlertDialog.BUTTON_POSITIVE, listener: ((DialogInterface, Int) -> Unit)? = null) {
this.setButton(whichButton, context.getString(R.string.ok), { dialog, which ->
fun AlertDialog.setOkButton(whichButton: Int = AlertDialog.BUTTON_POSITIVE, listener: ((DialogInterface, Int) -> Unit)? = null) {
this.setButton(whichButton, context.getString(R.string.ok)) { dialog, which ->
listener?.invoke(dialog, which)
})
}
}
public fun AlertDialog.setCloseButton(whichButton: Int = AlertDialog.BUTTON_POSITIVE, listener: ((DialogInterface, Int) -> Unit)? = null) {
this.setButton(whichButton, context.getString(R.string.close), { dialog, which ->
fun AlertDialog.setCloseButton(whichButton: Int = AlertDialog.BUTTON_POSITIVE, listener: ((DialogInterface, Int) -> Unit)? = null) {
this.setButton(whichButton, context.getString(R.string.close)) { dialog, which ->
listener?.invoke(dialog, which)
})
}
}

View file

@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.extensions
import android.content.Context
public fun Int.dpToPx(context: Context?): Int {
fun Int.dpToPx(context: Context?): Int {
val displayMetrics = context?.resources?.displayMetrics
return ((this * (displayMetrics?.density ?: 1.0f)) + 0.5).toInt()

View file

@ -1,9 +1,6 @@
package com.habitrpg.android.habitica.extensions
import android.content.Context
import android.graphics.drawable.Drawable
import android.os.Build
import androidx.annotation.IdRes
import android.view.View

View file

@ -3,8 +3,6 @@ package com.habitrpg.android.habitica.helpers
import android.os.Bundle
import androidx.navigation.NavController
import androidx.navigation.NavDirections
import androidx.navigation.NavOptions
import com.habitrpg.android.habitica.ui.fragments.social.PublicGuildsFragmentDirections
import java.lang.ref.WeakReference
object MainNavigationController {

View file

@ -65,11 +65,11 @@ public class QrCodeManager {
if (qrLayout == null) {
return;
}
this.qrCodeImageView = (ImageView) qrLayout.findViewById(R.id.QRImageView);
this.qrCodeDownloadButton = (Button) qrLayout.findViewById(R.id.QRDownloadButton);
AvatarView avatarView = (AvatarView) qrLayout.findViewById(R.id.avatarView);
this.qrCodeImageView = qrLayout.findViewById(R.id.QRImageView);
this.qrCodeDownloadButton = qrLayout.findViewById(R.id.QRDownloadButton);
AvatarView avatarView = qrLayout.findViewById(R.id.avatarView);
avatarView.configureView(false, false, false);
this.qrCodeWrapper = (FrameLayout) qrLayout.findViewById(R.id.qrCodeWrapper);
this.qrCodeWrapper = qrLayout.findViewById(R.id.qrCodeWrapper);
if (userRepository != null) {
userRepository.getUser(userId).firstElement().subscribe(avatarView::setAvatar, RxErrorHandler.handleEmptyError());
@ -144,9 +144,9 @@ public class QrCodeManager {
dialog.setContentView(R.layout.qr_dialogue);
dialog.setTitle(R.string.qr_dialogue_title);
LinearLayout qrLayout = (LinearLayout) dialog.findViewById(R.id.qrLayout);
LinearLayout qrLayout = dialog.findViewById(R.id.qrLayout);
this.setUpView(qrLayout);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
Button dialogButton = dialog.findViewById(R.id.dialogButtonOK);
dialogButton.setOnClickListener(v -> dialog.dismiss());

View file

@ -73,9 +73,9 @@ public class RemindersManager {
dialog.setContentView(R.layout.custom_date_time_dialogue);
dialog.setTitle("Select Date and Time");
Button dialogConfirmButton = (Button) dialog.findViewById(R.id.customDialogConfirmButton);
TimePicker dialogTimePicker = (TimePicker) dialog.findViewById(R.id.timePicker);
DatePicker dialogDatePicker = (DatePicker) dialog.findViewById(R.id.datePicker);
Button dialogConfirmButton = dialog.findViewById(R.id.customDialogConfirmButton);
TimePicker dialogTimePicker = dialog.findViewById(R.id.timePicker);
DatePicker dialogDatePicker = dialog.findViewById(R.id.datePicker);
dialogTimePicker.setIs24HourView(android.text.format.DateFormat.is24HourFormat(context));

View file

@ -3,9 +3,7 @@ package com.habitrpg.android.habitica.helpers
import android.annotation.SuppressLint
import android.content.Context
import android.os.Environment
import com.habitrpg.android.habitica.HabiticaApplication
import com.habitrpg.android.habitica.HabiticaBaseApplication
import io.reactivex.Maybe
import io.reactivex.Observable
import io.reactivex.Single
import io.reactivex.schedulers.Schedulers

View file

@ -2,8 +2,6 @@ package com.habitrpg.android.habitica.helpers
import com.habitrpg.android.habitica.HabiticaBaseApplication
import io.reactivex.Maybe
import io.reactivex.Observable
import io.reactivex.Single
import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers
import javax.inject.Inject

View file

@ -2,5 +2,4 @@ package com.habitrpg.android.habitica.helpers.notifications
import android.content.Context
class ChangeUsernameLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier) {
}
class ChangeUsernameLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier)

View file

@ -2,5 +2,4 @@ package com.habitrpg.android.habitica.helpers.notifications
import android.content.Context
class GiftOneGetOneLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier) {
}
class GiftOneGetOneLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier)

View file

@ -77,7 +77,7 @@ abstract class HabiticaLocalNotification(protected var context: Context, protect
}
@RequiresApi(Build.VERSION_CODES.O)
public fun NotificationManager.createOrUpdateHabiticaChannel() {
fun NotificationManager.createOrUpdateHabiticaChannel() {
var hasChannel = false
for (channel in notificationChannels) {
if (channel.id == "default") {

View file

@ -1,11 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.ui.activities.MainActivity
/**
* Created by keithholliday on 7/1/16.

View file

@ -1,10 +1,8 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.receivers.LocalNotificationActionReceiver

View file

@ -1,11 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.ui.activities.MainActivity
/**
* Created by keithholliday on 7/1/16.

View file

@ -1,11 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.ui.activities.MainActivity
/**
* Created by keithholliday on 7/1/16.

View file

@ -1,11 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.ui.activities.MainActivity
/**
* Created by keithholliday on 7/1/16.

View file

@ -1,10 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import com.habitrpg.android.habitica.ui.activities.MainActivity
/**
* Created by keithholliday on 7/2/16.

View file

@ -16,7 +16,7 @@ class BuyRewardUseCase @Inject
constructor(private val taskRepository: TaskRepository, private val soundManager: SoundManager,
threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionThread) : UseCase<BuyRewardUseCase.RequestValues, TaskScoringResult>(threadExecutor, postExecutionThread) {
override fun buildUseCaseObservable(requestValues: BuyRewardUseCase.RequestValues): Flowable<TaskScoringResult?> {
override fun buildUseCaseObservable(requestValues: RequestValues): Flowable<TaskScoringResult?> {
return taskRepository
.taskChecked(requestValues.user, requestValues.task, false, false, requestValues.notifyFunc)
.doOnNext { soundManager.loadAndPlayAudio(SoundManager.SoundReward) }

View file

@ -1,13 +1,8 @@
package com.habitrpg.android.habitica.interactors
import android.app.Activity
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.view.View
import android.widget.TextView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.events.ShareEvent
import com.habitrpg.android.habitica.executors.PostExecutionThread
@ -15,16 +10,12 @@ import com.habitrpg.android.habitica.executors.ThreadExecutor
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.helpers.SoundManager
import com.habitrpg.android.habitica.models.user.Stats
import com.habitrpg.android.habitica.models.user.SuppressedModals
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.ui.AvatarView
import org.greenrobot.eventbus.EventBus
import javax.inject.Inject
import io.reactivex.Flowable
import io.reactivex.functions.Consumer
import org.greenrobot.eventbus.EventBus
import javax.inject.Inject
class LevelUpUseCase @Inject
constructor(private val soundManager: SoundManager, threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionThread,

View file

@ -39,7 +39,7 @@ constructor(threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionTh
if (requestValues.hasLeveledUp == true) {
return@defer levelUpUseCase.observable(LevelUpUseCase.RequestValues(requestValues.user, requestValues.context))
.flatMap<User> { userRepository.retrieveUser(true) }
.map({ it.stats })
.map { it.stats }
} else {
val pair = getNotificationAndAddStatsToUser(requestValues.context, requestValues.xp, requestValues.hp, requestValues.gold, requestValues.mp, requestValues.questDamage, requestValues.user)
val view = pair.first

View file

@ -16,7 +16,7 @@ class TodoCheckUseCase @Inject
constructor(private val taskRepository: TaskRepository, private val soundManager: SoundManager,
threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionThread) : UseCase<TodoCheckUseCase.RequestValues, TaskScoringResult>(threadExecutor, postExecutionThread) {
override fun buildUseCaseObservable(requestValues: TodoCheckUseCase.RequestValues): Flowable<TaskScoringResult?> {
override fun buildUseCaseObservable(requestValues: RequestValues): Flowable<TaskScoringResult?> {
return taskRepository.taskChecked(requestValues.user, requestValues.task, requestValues.up, false, requestValues.notifyFunc).doOnNext { soundManager.loadAndPlayAudio(SoundManager.SoundTodo) }
}

View file

@ -3,31 +3,31 @@ package com.habitrpg.android.habitica.models.inventory;
public interface Animal {
public String getKey();
String getKey();
public void setKey(String key);
void setKey(String key);
public String getText();
String getText();
public void setText(String text);
void setText(String text);
public String getType();
String getType();
public void setType(String type);
void setType(String type);
public String getAnimal();
String getAnimal();
public void setAnimal(String animal);
void setAnimal(String animal);
public String getColor();
String getColor();
public void setColor(String color);
void setColor(String color);
public boolean getPremium();
boolean getPremium();
public void setPremium(boolean premium);
void setPremium(boolean premium);
public Integer getNumberOwned();
Integer getNumberOwned();
public void setNumberOwned(Integer numberOwned);
void setNumberOwned(Integer numberOwned);
}

View file

@ -1,7 +1,5 @@
package com.habitrpg.android.habitica.models.inventory
import java.util.ArrayList
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey

View file

@ -258,7 +258,7 @@ open class Task : RealmObject, Parcelable {
dest.writeDouble(this.value)
dest.writeList(this.tags)
dest.writeLong(this.dateCreated?.time ?: -1)
dest.writeInt(this.position ?: 0)
dest.writeInt(this.position)
dest.writeValue(this.up)
dest.writeValue(this.down)
dest.writeByte(if (this.completed) 1.toByte() else 0.toByte())

View file

@ -1,17 +1,9 @@
package com.habitrpg.android.habitica.models.user
import com.habitrpg.android.habitica.models.inventory.Egg
import com.habitrpg.android.habitica.models.inventory.Food
import com.habitrpg.android.habitica.models.inventory.HatchingPotion
import com.habitrpg.android.habitica.models.inventory.Mount
import com.habitrpg.android.habitica.models.inventory.Pet
import com.habitrpg.android.habitica.models.inventory.QuestContent
import java.util.Date
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import java.util.*
open class Items : RealmObject {

View file

@ -1,6 +1,5 @@
package com.habitrpg.android.habitica.receivers
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.BroadcastReceiver
@ -9,19 +8,14 @@ import android.content.Intent
import android.media.RingtoneManager
import android.os.Build
import androidx.core.app.NotificationCompat
import com.habitrpg.android.habitica.HabiticaApplication
import com.habitrpg.android.habitica.HabiticaBaseApplication
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.data.TagRepository
import com.habitrpg.android.habitica.data.TaskRepository
import com.habitrpg.android.habitica.helpers.AmplitudeManager
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.helpers.TaskAlarmManager
import com.habitrpg.android.habitica.helpers.notifications.createOrUpdateHabiticaChannel
import com.habitrpg.android.habitica.ui.activities.MainActivity
import io.reactivex.functions.Consumer
import java.util.HashMap
import java.util.NoSuchElementException
import java.util.*
import javax.inject.Inject

View file

@ -78,7 +78,7 @@ class ItemDetailDialog(context: Context) : AlertDialog(context) {
setView(contentViewLayout)
this.setButton(AlertDialog.BUTTON_NEGATIVE, context.getText(R.string.reward_dialog_dismiss)) { clickedDialog, _ -> clickedDialog.dismiss() }
this.setButton(BUTTON_NEGATIVE, context.getText(R.string.reward_dialog_dismiss)) { clickedDialog, _ -> clickedDialog.dismiss() }
}
fun setDescription(description: CharSequence) {

View file

@ -6,7 +6,6 @@ import android.content.Context
import android.os.Build
import android.util.AttributeSet
import android.util.DisplayMetrics
import android.view.View
import android.view.WindowManager
import android.widget.LinearLayout
import com.habitrpg.android.habitica.R
@ -54,7 +53,7 @@ class MaxHeightLinearLayout : LinearLayout {
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as? WindowManager
windowManager?.defaultDisplay?.getMetrics(displaymetrics)
val height = (displaymetrics.heightPixels * maxHeight).toInt()
heightMeasurement = Math.min(heightMeasurement, View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.AT_MOST))
heightMeasurement = Math.min(heightMeasurement, MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST))
super.onMeasure(widthMeasureSpec, heightMeasurement)

View file

@ -16,7 +16,7 @@ import com.mikepenz.aboutlibraries.LibsBuilder
class AboutActivity : BaseActivity() {
private val pager: androidx.viewpager.widget.ViewPager by bindView(R.id.pager)
private val pager: ViewPager by bindView(R.id.pager)
private val tabLayout: TabLayout by bindView(R.id.tab_layout)
override fun getLayoutResId(): Int {
@ -80,9 +80,9 @@ class AboutActivity : BaseActivity() {
return super.onOptionsItemSelected(item)
}
private inner class PagerAdapter(fm: androidx.fragment.app.FragmentManager, internal var mNumOfTabs: Int) : FragmentStatePagerAdapter(fm) {
private inner class PagerAdapter(fm: FragmentManager, internal var mNumOfTabs: Int) : FragmentStatePagerAdapter(fm) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
return when (position) {
0 -> AboutFragment()
1 -> LibsBuilder()

View file

@ -1,25 +1,22 @@
package com.habitrpg.android.habitica.ui.activities
import android.app.ProgressDialog
import android.content.Context
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.util.AttributeSet
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.Toolbar
import androidx.core.content.ContextCompat
import androidx.navigation.navArgs
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.user.*
import com.habitrpg.android.habitica.ui.AvatarView

View file

@ -271,7 +271,7 @@ class GemPurchaseActivity : BaseActivity(), InAppMessageListener {
}
@Subscribe
public fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
if (isActive) {
consumePurchase(event.purchase)
}

View file

@ -243,7 +243,7 @@ class GiftIAPActivity: BaseActivity() {
@Subscribe
public fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
consumePurchase(event.purchase)
runOnUiThread {
displayConfirmationDialog()

View file

@ -29,7 +29,7 @@ class HabitButtonWidgetActivity : BaseActivity() {
@field:[Inject Named(AppModule.NAMED_USER_ID)]
lateinit var userId: String
internal val recyclerView: androidx.recyclerview.widget.RecyclerView by bindView(R.id.recyclerView)
internal val recyclerView: RecyclerView by bindView(R.id.recyclerView)
private var widgetId: Int = 0
private var adapter: SkillTasksRecyclerViewAdapter? = null
@ -56,10 +56,10 @@ class HabitButtonWidgetActivity : BaseActivity() {
finish()
}
var layoutManager: androidx.recyclerview.widget.LinearLayoutManager? = recyclerView.layoutManager as? androidx.recyclerview.widget.LinearLayoutManager
var layoutManager: LinearLayoutManager? = recyclerView.layoutManager as? LinearLayoutManager
if (layoutManager == null) {
layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this)
layoutManager = LinearLayoutManager(this)
recyclerView.layoutManager = layoutManager
}

View file

@ -3,19 +3,17 @@ package com.habitrpg.android.habitica.ui.activities
import android.content.Intent
import android.os.Build
import android.os.Bundle
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.viewpager.widget.ViewPager
import android.view.View
import android.view.WindowManager
import android.widget.Button
import com.habitrpg.android.habitica.HabiticaBaseApplication
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.ContentRepository
import com.habitrpg.android.habitica.data.InventoryRepository
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.ui.fragments.setup.IntroFragment
@ -25,12 +23,12 @@ import com.viewpagerindicator.IconPagerAdapter
import io.reactivex.functions.Consumer
import javax.inject.Inject
class IntroActivity : BaseActivity(), View.OnClickListener, androidx.viewpager.widget.ViewPager.OnPageChangeListener {
class IntroActivity : BaseActivity(), View.OnClickListener, ViewPager.OnPageChangeListener {
@Inject
lateinit var contentRepository: InventoryRepository
private val pager: androidx.viewpager.widget.ViewPager by bindView(R.id.viewPager)
private val pager: ViewPager by bindView(R.id.viewPager)
private val indicator: IconPageIndicator by bindView(R.id.view_pager_indicator)
private val skipButton: Button by bindView(R.id.skipButton)
private val finishButton: Button by bindView(R.id.finishButton)
@ -99,9 +97,9 @@ class IntroActivity : BaseActivity(), View.OnClickListener, androidx.viewpager.w
}
private inner class PagerAdapter(fm: androidx.fragment.app.FragmentManager) : FragmentPagerAdapter(fm), IconPagerAdapter {
private inner class PagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm), IconPagerAdapter {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
val fragment = IntroFragment()
when (position) {

View file

@ -9,10 +9,6 @@ import android.content.SharedPreferences
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import com.google.android.material.snackbar.Snackbar
import androidx.core.content.ContextCompat
import androidx.appcompat.app.AlertDialog
import androidx.preference.PreferenceManager
import android.text.InputType
import android.text.SpannableString
import android.text.style.UnderlineSpan
@ -23,7 +19,10 @@ import android.view.Window
import android.view.WindowManager
import android.view.inputmethod.EditorInfo
import android.widget.*
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.edit
import androidx.preference.PreferenceManager
import com.facebook.*
import com.facebook.login.LoginManager
import com.facebook.login.LoginResult
@ -31,7 +30,11 @@ import com.google.android.gms.auth.GoogleAuthException
import com.google.android.gms.auth.GoogleAuthUtil
import com.google.android.gms.auth.GooglePlayServicesAvailabilityException
import com.google.android.gms.auth.UserRecoverableAuthException
import com.google.android.gms.common.*
import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.GoogleApiAvailability
import com.google.android.gms.common.GooglePlayServicesUtil
import com.google.android.gms.common.Scopes
import com.google.android.material.snackbar.Snackbar
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.api.HostConfig
import com.habitrpg.android.habitica.components.AppComponent
@ -42,7 +45,6 @@ import com.habitrpg.android.habitica.helpers.AmplitudeManager
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.auth.UserAuthResponse
import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator
import com.habitrpg.android.habitica.ui.helpers.KeyboardUtil
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard
import com.habitrpg.android.habitica.ui.views.login.LockableScrollView
@ -433,7 +435,7 @@ class LoginActivity : BaseActivity(), Consumer<UserAuthResponse> {
@Suppress("DEPRECATION")
GooglePlayServicesUtil.showErrorDialogFragment(statusCode,
this@LoginActivity,
REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR) { _ ->
REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR) {
}
} else if (e is UserRecoverableAuthException) {

View file

@ -21,7 +21,6 @@ import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.modules.AppModule
import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator
import com.habitrpg.android.habitica.ui.fragments.social.party.PartyInviteFragment
import com.habitrpg.android.habitica.ui.helpers.KeyboardUtil
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard
import io.reactivex.functions.Consumer
@ -87,11 +86,11 @@ class PartyInviteActivity : BaseActivity() {
val intent = Intent()
val fragment = fragments[viewPager.currentItem]
if (viewPager.currentItem == 1) {
intent.putExtra(PartyInviteActivity.IS_EMAIL_KEY, true)
intent.putExtra(PartyInviteActivity.EMAILS_KEY, fragment.values)
intent.putExtra(IS_EMAIL_KEY, true)
intent.putExtra(EMAILS_KEY, fragment.values)
} else {
intent.putExtra(PartyInviteActivity.IS_EMAIL_KEY, false)
intent.putExtra(PartyInviteActivity.USER_IDS_KEY, fragment.values)
intent.putExtra(IS_EMAIL_KEY, false)
intent.putExtra(USER_IDS_KEY, fragment.values)
}
return intent
}

View file

@ -75,7 +75,7 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
compositeSubscription.add(userRepository.getUser(hostConfig.user ?: "")
compositeSubscription.add(userRepository.getUser(hostConfig.user)
.subscribe(Consumer { this.onUserReceived(it) }, RxErrorHandler.handleEmptyError()))
val additionalData = HashMap<String, Any>()

View file

@ -16,7 +16,7 @@ import io.reactivex.functions.Consumer
import javax.inject.Inject
class SkillMemberActivity : BaseActivity() {
private val recyclerView: androidx.recyclerview.widget.RecyclerView by bindView(R.id.recyclerView)
private val recyclerView: RecyclerView by bindView(R.id.recyclerView)
private var viewAdapter: PartyMemberRecyclerViewAdapter? = null
@ -39,7 +39,7 @@ class SkillMemberActivity : BaseActivity() {
}
private fun loadMemberList() {
recyclerView.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this)
recyclerView.layoutManager = LinearLayoutManager(this)
viewAdapter = PartyMemberRecyclerViewAdapter(null, true)
viewAdapter?.getUserClickedEvents()?.subscribe(Consumer { userId ->
val resultIntent = Intent()

View file

@ -27,7 +27,7 @@ class SkillTasksActivity : BaseActivity() {
@field:[Inject Named(AppModule.NAMED_USER_ID)]
lateinit var userId: String
private val viewPager: androidx.viewpager.widget.ViewPager by bindView(R.id.viewPager)
private val viewPager: ViewPager by bindView(R.id.viewPager)
private val tabLayout: TabLayout by bindView(R.id.tab_layout)
internal var viewFragmentsDictionary = SparseArray<SkillTasksRecyclerViewFragment>()
@ -50,7 +50,7 @@ class SkillTasksActivity : BaseActivity() {
viewPager.adapter = object : FragmentPagerAdapter(fragmentManager) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
val fragment = SkillTasksRecyclerViewFragment()
when (position) {
0 -> fragment.taskType = Task.TYPE_HABIT

View file

@ -1,11 +1,10 @@
package com.habitrpg.android.habitica.ui.adapter
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.recyclerview.widget.RecyclerView
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.extensions.inflate
import com.habitrpg.android.habitica.ui.helpers.bindOptionalView
@ -15,7 +14,7 @@ import io.reactivex.Flowable
import io.reactivex.subjects.PublishSubject
class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): RecyclerView.Adapter<RecyclerView.ViewHolder>() {
var tintColor: Int = tintColor
set(value) {
@ -64,7 +63,7 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): android
notifyDataSetChanged()
}
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val drawerItem = getItem(position)
if (getItemViewType(position) == 0) {
val itemHolder = holder as? DrawerItemViewHolder
@ -84,7 +83,7 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): android
override fun getItemViewType(position: Int): Int = if (getItem(position).isHeader) 1 else 0
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return if (viewType == 0) {
DrawerItemViewHolder(parent.inflate(R.layout.drawer_main_item))
} else {
@ -92,7 +91,7 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): android
}
}
class DrawerItemViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class DrawerItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var tintColor: Int = 0
var backgroundTintColor: Int = 0
@ -145,7 +144,7 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): android
}
}
class SectionHeaderViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class SectionHeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var backgroundTintColor: Int = 0

View file

@ -47,7 +47,7 @@ class SkillTasksRecyclerViewAdapter(data: OrderedRealmCollection<Task>?, autoUpd
return taskSelectionEvents.toFlowable(BackpressureStrategy.DROP)
}
inner class TaskViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
inner class TaskViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
var task: Task? = null

View file

@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
import org.greenrobot.eventbus.EventBus
class SkillsRecyclerViewAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<SkillsRecyclerViewAdapter.SkillViewHolder>() {
class SkillsRecyclerViewAdapter : RecyclerView.Adapter<SkillsRecyclerViewAdapter.SkillViewHolder>() {
var mana: Double = 0.toDouble()
set(value) {
@ -46,7 +46,7 @@ class SkillsRecyclerViewAdapter : androidx.recyclerview.widget.RecyclerView.Adap
return skillList.size
}
inner class SkillViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
inner class SkillViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
private val magicDrawable: Drawable
private val skillImageView: SimpleDraweeView by bindView(R.id.skill_image)

View file

@ -77,7 +77,7 @@ class ItemRecyclerAdapter(data: OrderedRealmCollection<OwnedItem>?, autoUpdate:
notifyDataSetChanged()
}
inner class ItemViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
var ownedItem: OwnedItem? = null
var item: Item? = null

View file

@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.ui.helpers.bindView
import org.greenrobot.eventbus.EventBus
import java.util.*
internal class CustomizationSetupAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<CustomizationSetupAdapter.CustomizationViewHolder>() {
internal class CustomizationSetupAdapter : RecyclerView.Adapter<CustomizationSetupAdapter.CustomizationViewHolder>() {
var userSize: String? = null
var user: User? = null
@ -75,7 +75,7 @@ internal class CustomizationSetupAdapter : androidx.recyclerview.widget.Recycler
return false
}
internal inner class CustomizationViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
internal inner class CustomizationViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
private val imageView: ImageView by bindView(R.id.imageView)
private val textView: TextView by bindView(R.id.textView)

View file

@ -15,7 +15,7 @@ import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.ui.helpers.bindView
import java.util.*
class TaskSetupAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<TaskSetupAdapter.TaskViewHolder>() {
class TaskSetupAdapter : RecyclerView.Adapter<TaskSetupAdapter.TaskViewHolder>() {
var checkedList: MutableList<Boolean> = mutableListOf()
private var taskList: List<List<String>> = emptyList()
@ -40,7 +40,7 @@ class TaskSetupAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<TaskS
return this.taskList.size
}
inner class TaskViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
inner class TaskViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
private val icon: Drawable?
private val textView: TextView by bindView(R.id.textView)

View file

@ -19,7 +19,7 @@ import com.habitrpg.android.habitica.ui.activities.MainActivity
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.viewHolders.SectionViewHolder
class AchievementAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
class AchievementAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
var itemType: String? = null
var activity: MainActivity? = null
@ -30,7 +30,7 @@ class AchievementAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<and
this.notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return if (viewType == 0) {
SectionViewHolder(parent.inflate(R.layout.profile_achievement_category))
} else {
@ -38,7 +38,7 @@ class AchievementAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<and
}
}
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val obj = this.itemList[position]
if (obj.javaClass == String::class.java) {
(holder as SectionViewHolder).bind(obj as String)
@ -59,7 +59,7 @@ class AchievementAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<and
return itemList.size
}
internal class AchievementViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
internal class AchievementViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
private var achievement: Achievement? = null
private val draweeView: SimpleDraweeView by bindView(R.id.achievement_drawee)

View file

@ -84,7 +84,7 @@ class ChallengesListViewAdapter(data: OrderedRealmCollection<Challenge>?, autoUp
return openChallengeFragmentEvents.toFlowable(BackpressureStrategy.DROP)
}
class ChallengeViewHolder internal constructor(itemView: View, private val viewUserChallengesOnly: Boolean) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class ChallengeViewHolder internal constructor(itemView: View, private val viewUserChallengesOnly: Boolean) : RecyclerView.ViewHolder(itemView) {
private val challengeName: EmojiTextView by bindView(R.id.challenge_name)
private val challengeDescription: TextView by bindView(R.id.challenge_shorttext)

View file

@ -52,7 +52,7 @@ class ChatRecyclerViewAdapter(data: OrderedRealmCollection<ChatMessage>?, autoUp
this.uuid = user?.id ?: ""
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return if (viewType == 0) {
SystemChatMessageViewHolder(parent.inflate(R.layout.system_chat_message))
} else {
@ -60,7 +60,7 @@ class ChatRecyclerViewAdapter(data: OrderedRealmCollection<ChatMessage>?, autoUp
}
}
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
data.notNull {
if (it[position].isSystemMessage) {
(holder as? SystemChatMessageViewHolder)?.bind(it[position])
@ -98,7 +98,7 @@ class ChatRecyclerViewAdapter(data: OrderedRealmCollection<ChatMessage>?, autoUp
return copyMessageEvents.toFlowable(BackpressureStrategy.DROP)
}
inner class SystemChatMessageViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
inner class SystemChatMessageViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val textView: TextView by bindView(R.id.text_view)
fun bind(chatMessage: ChatMessage?) {
@ -107,7 +107,7 @@ class ChatRecyclerViewAdapter(data: OrderedRealmCollection<ChatMessage>?, autoUp
}
inner class ChatRecyclerViewHolder(itemView: View, private var userId: String, private val isTavern: Boolean) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
inner class ChatRecyclerViewHolder(itemView: View, private var userId: String, private val isTavern: Boolean) : RecyclerView.ViewHolder(itemView) {
private val messageWrapper: ViewGroup by bindView(R.id.message_wrapper)
private val avatarView: AvatarView by bindView(R.id.avatar_view)

View file

@ -92,13 +92,13 @@ class PublicGuildsRecyclerViewAdapter(data: OrderedRealmCollection<Group>?, auto
override fun getFilter(): Filter {
return object : Filter() {
override fun performFiltering(constraint: CharSequence): Filter.FilterResults {
val results = Filter.FilterResults()
override fun performFiltering(constraint: CharSequence): FilterResults {
val results = FilterResults()
results.values = constraint
return Filter.FilterResults()
return FilterResults()
}
override fun publishResults(constraint: CharSequence, results: Filter.FilterResults) {
override fun publishResults(constraint: CharSequence, results: FilterResults) {
unfilteredData.notNull {
if (constraint.isNotEmpty()) {
updateData(it.where()
@ -110,7 +110,7 @@ class PublicGuildsRecyclerViewAdapter(data: OrderedRealmCollection<Group>?, auto
}
}
class GuildViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class GuildViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val nameTextView: TextView by bindView(R.id.nameTextView)
private val memberCountTextView: TextView by bindView(R.id.memberCountTextView)

View file

@ -17,7 +17,7 @@ import io.reactivex.Flowable
import io.reactivex.subjects.PublishSubject
class ChallengeTasksRecyclerViewAdapter(taskFilterHelper: TaskFilterHelper?, layoutResource: Int,
newContext: Context, userID: String, sortCallback: SortableTasksRecyclerViewAdapter.SortTasksCallback?,
newContext: Context, userID: String, sortCallback: SortTasksCallback?,
private val openTaskDisabled: Boolean, private val taskActionsDisabled: Boolean) : SortableTasksRecyclerViewAdapter<BaseTaskViewHolder>("", taskFilterHelper, layoutResource, newContext, userID, sortCallback) {
private val addItemSubject = PublishSubject.create<Task>()

View file

@ -11,11 +11,11 @@ import com.habitrpg.android.habitica.models.social.Group
import com.habitrpg.android.habitica.ui.helpers.bindView
import java.util.*
class ChallengesFilterRecyclerViewAdapter(entries: Collection<Group>) : androidx.recyclerview.widget.RecyclerView.Adapter<ChallengesFilterRecyclerViewAdapter.ChallengeViewHolder>() {
class ChallengesFilterRecyclerViewAdapter(entries: Collection<Group>) : RecyclerView.Adapter<ChallengesFilterRecyclerViewAdapter.ChallengeViewHolder>() {
private val entries: List<Group>
private val holderList: MutableList<ChallengesFilterRecyclerViewAdapter.ChallengeViewHolder>
private val holderList: MutableList<ChallengeViewHolder>
val checkedEntries: List<Group>
get() {
val result = ArrayList<Group>()
@ -35,7 +35,7 @@ class ChallengesFilterRecyclerViewAdapter(entries: Collection<Group>) : androidx
this.holderList = ArrayList()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChallengesFilterRecyclerViewAdapter.ChallengeViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChallengeViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.dialog_challenge_filter_group_item, parent, false)
@ -45,7 +45,7 @@ class ChallengesFilterRecyclerViewAdapter(entries: Collection<Group>) : androidx
return challengeViewHolder
}
override fun onBindViewHolder(holder: ChallengesFilterRecyclerViewAdapter.ChallengeViewHolder, position: Int) {
override fun onBindViewHolder(holder: ChallengeViewHolder, position: Int) {
holder.bind(entries[position])
}
@ -71,7 +71,7 @@ class ChallengesFilterRecyclerViewAdapter(entries: Collection<Group>) : androidx
}
}
class ChallengeViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class ChallengeViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
internal val checkbox: CheckBox by bindView(itemView, R.id.challenge_filter_group_checkbox)
var group: Group? = null

View file

@ -22,7 +22,7 @@ import java.util.*
import javax.inject.Inject
abstract class BaseTasksRecyclerViewAdapter<VH : BaseTaskViewHolder>(var taskType: String, private val taskFilterHelper: TaskFilterHelper?, private val layoutResource: Int,
newContext: Context, private val userID: String?) : androidx.recyclerview.widget.RecyclerView.Adapter<VH>() {
newContext: Context, private val userID: String?) : RecyclerView.Adapter<VH>() {
@Inject
lateinit var crashlyticsProxy: CrashlyticsProxy
@Inject

View file

@ -2,23 +2,18 @@ package com.habitrpg.android.habitica.ui.fragments
import android.content.Context
import android.os.Bundle
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.appbar.CollapsingToolbarLayout
import com.google.android.material.tabs.TabLayout
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.tabs.TabLayout
import com.habitrpg.android.habitica.data.ApiClient
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.helpers.SoundManager
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.ui.activities.MainActivity
import com.habitrpg.android.habitica.ui.views.bottombar.BottomBar
import io.reactivex.functions.Consumer
import javax.inject.Inject
abstract class BaseMainFragment : BaseFragment() {

View file

@ -28,9 +28,6 @@ class NewsFragment : BaseMainFragment() {
webSettings.javaScriptEnabled = true
webSettings.domStorageEnabled = true
newsWebview.webChromeClient = object : WebChromeClient() {
override fun onConsoleMessage(consoleMessage: ConsoleMessage): Boolean {
return super.onConsoleMessage(consoleMessage)
}
}
newsWebview.loadUrl("$address/static/new-stuff")
}

View file

@ -33,7 +33,7 @@ class AvatarCustomizationFragment : BaseMainFragment() {
private var activeCustomization: String? = null
internal var adapter: CustomizationRecyclerViewAdapter = CustomizationRecyclerViewAdapter()
internal var layoutManager: androidx.recyclerview.widget.GridLayoutManager = androidx.recyclerview.widget.GridLayoutManager(activity, 2)
internal var layoutManager: GridLayoutManager = GridLayoutManager(activity, 2)
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
@ -82,8 +82,8 @@ class AvatarCustomizationFragment : BaseMainFragment() {
setGridSpanCount(view.width)
if (recyclerView.layoutManager == null) {
layoutManager = androidx.recyclerview.widget.GridLayoutManager(activity, 2)
layoutManager.spanSizeLookup = object : androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup() {
layoutManager = GridLayoutManager(activity, 2)
layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return if (adapter.getItemViewType(position) == 0) {
layoutManager.spanCount

View file

@ -57,8 +57,8 @@ class EquipmentDetailFragment : BaseMainFragment() {
}
recyclerView.adapter = this.adapter
recyclerView.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
recyclerView.addItemDecoration(androidx.recyclerview.widget.DividerItemDecoration(getActivity(), androidx.recyclerview.widget.DividerItemDecoration.VERTICAL))
recyclerView.layoutManager = LinearLayoutManager(activity)
recyclerView.addItemDecoration(DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL))
recyclerView.itemAnimator = SafeDefaultItemAnimator()
type?.let { type -> inventoryRepository.getOwnedEquipment(type).firstElement().subscribe(Consumer<RealmResults<Equipment>> { this.adapter.updateData(it) }, RxErrorHandler.handleEmptyError()) }

View file

@ -23,7 +23,6 @@ import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.helpers.resetViews
import io.reactivex.functions.Consumer
import io.realm.OrderedRealmCollection
import javax.inject.Inject
class ItemRecyclerFragment : BaseFragment() {

View file

@ -15,7 +15,7 @@ class APIPreferenceFragment: BasePreferencesFragment() {
private val apiPreferences: List<String>
get() = Arrays.asList(getString(R.string.SP_APIToken), getString(R.string.SP_userID))
lateinit private var qrCodeManager: QrCodeManager
private lateinit var qrCodeManager: QrCodeManager
override fun onCreate(savedInstanceState: Bundle?) {

View file

@ -184,7 +184,7 @@ class AuthenticationPreferenceFragment: BasePreferencesFragment() {
}
.setNegativeButton(R.string.nevermind) { thisDialog, _ -> thisDialog.dismiss() }
.create()
dialog.setOnShowListener { _ -> dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(context, R.color.red_10)) }
dialog.setOnShowListener { dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(context, R.color.red_10)) }
dialog.setView(input)
dialog.show()
}
@ -240,7 +240,7 @@ class AuthenticationPreferenceFragment: BasePreferencesFragment() {
}
.setNegativeButton(R.string.nevermind) { thisDialog, _ -> thisDialog.dismiss() }
.create()
dialog.setOnShowListener { _ -> dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(context, R.color.red_10)) }
dialog.setOnShowListener { dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(context, R.color.red_10)) }
dialog.show()
}
}
@ -264,7 +264,7 @@ class AuthenticationPreferenceFragment: BasePreferencesFragment() {
private fun resetAccount() {
@Suppress("DEPRECATION")
val dialog = ProgressDialog.show(context, context?.getString(R.string.resetting_account), null, true)
userRepository.resetAccount().subscribe({ _ -> dialog.dismiss() }) { throwable ->
userRepository.resetAccount().subscribe({ dialog.dismiss() }) { throwable ->
dialog.dismiss()
RxErrorHandler.reportError(throwable)
}

View file

@ -102,7 +102,7 @@ class DayStartPreferenceDialogFragment : PreferenceDialogFragmentCompat() {
preferenceFragment: PreferenceFragmentCompat, key: String): DayStartPreferenceDialogFragment {
val fragment = DayStartPreferenceDialogFragment()
val arguments = Bundle(1)
arguments.putString(PreferenceDialogFragmentCompat.ARG_KEY, key)
arguments.putString(ARG_KEY, key)
fragment.arguments = arguments
fragment.setTargetFragment(preferenceFragment, 0)
return fragment

View file

@ -77,7 +77,7 @@ class TimePreferenceDialogFragment : PreferenceDialogFragmentCompat() {
preferenceFragment: PreferenceFragmentCompat, key: String): TimePreferenceDialogFragment {
val fragment = TimePreferenceDialogFragment()
val arguments = Bundle(1)
arguments.putString(PreferenceDialogFragmentCompat.ARG_KEY, key)
arguments.putString(ARG_KEY, key)
fragment.arguments = arguments
fragment.setTargetFragment(preferenceFragment, 0)
return fragment

View file

@ -41,7 +41,7 @@ class AvatarSetupFragment : BaseFragment() {
var activity: SetupActivity? = null
var width: Int = 0
private val avatarView: AvatarView? by bindOptionalView(R.id.avatarView)
private val customizationList: androidx.recyclerview.widget.RecyclerView? by bindOptionalView(R.id.customization_list)
private val customizationList: RecyclerView? by bindOptionalView(R.id.customization_list)
private val subCategoryTabs: TabLayout? by bindOptionalView(R.id.subcategory_tabs)
private val bodyButton: AvatarCategoryView? by bindOptionalView(R.id.body_button)
private val skinButton: AvatarCategoryView? by bindOptionalView(R.id.skin_button)
@ -52,7 +52,7 @@ class AvatarSetupFragment : BaseFragment() {
private val randomizeButton: Button? by bindOptionalView(R.id.randomize_button)
internal var adapter: CustomizationSetupAdapter? = null
internal var layoutManager: androidx.recyclerview.widget.LinearLayoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
internal var layoutManager: LinearLayoutManager = LinearLayoutManager(activity)
private var user: User? = null
private var subcategories: List<String> = emptyList()
@ -80,8 +80,8 @@ class AvatarSetupFragment : BaseFragment() {
this.adapter?.userSize = this.user?.preferences?.size ?: "slim"
this.adapter?.user = this.user
this.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
this.layoutManager.orientation = androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL
this.layoutManager = LinearLayoutManager(activity)
this.layoutManager.orientation = LinearLayoutManager.HORIZONTAL
this.customizationList?.layoutManager = this.layoutManager
this.customizationList?.adapter = this.adapter

View file

@ -31,10 +31,10 @@ class SkillTasksRecyclerViewFragment : BaseFragment() {
@field:[Inject Named(AppModule.NAMED_USER_ID)]
lateinit var userId: String
private val recyclerView: androidx.recyclerview.widget.RecyclerView? by bindView(R.id.recyclerView)
private val recyclerView: RecyclerView? by bindView(R.id.recyclerView)
var adapter: SkillTasksRecyclerViewAdapter = SkillTasksRecyclerViewAdapter(null, true)
internal var layoutManager: androidx.recyclerview.widget.LinearLayoutManager? = null
internal var layoutManager: LinearLayoutManager? = null
var taskType: String? = null
val taskSelectionEvents: Flowable<Task>
@ -55,10 +55,10 @@ class SkillTasksRecyclerViewFragment : BaseFragment() {
compositeSubscription.add(taskRepository.getTasks(taskType ?: "", userId).firstElement().subscribe(Consumer { tasks -> adapter.updateData(tasks) }, RxErrorHandler.handleEmptyError()))
recyclerView?.adapter = adapter
layoutManager = recyclerView?.layoutManager as? androidx.recyclerview.widget.LinearLayoutManager
layoutManager = recyclerView?.layoutManager as? LinearLayoutManager
if (layoutManager == null) {
layoutManager = androidx.recyclerview.widget.LinearLayoutManager(context)
layoutManager = LinearLayoutManager(context)
recyclerView?.layoutManager = layoutManager
}

View file

@ -5,22 +5,22 @@ import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import androidx.appcompat.app.AlertDialog
import androidx.recyclerview.widget.LinearLayoutManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.core.net.toUri
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.habitrpg.android.habitica.MainNavDirections
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.helpers.AppConfigManager
import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.social.ChatMessage
import com.habitrpg.android.habitica.models.user.User
@ -114,10 +114,10 @@ class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener {
super.onViewCreated(view, savedInstanceState)
refreshLayout.setOnRefreshListener(this)
layoutManager = recyclerView.layoutManager as? androidx.recyclerview.widget.LinearLayoutManager
layoutManager = recyclerView.layoutManager as? LinearLayoutManager
if (layoutManager == null) {
layoutManager = androidx.recyclerview.widget.LinearLayoutManager(context)
layoutManager = LinearLayoutManager(context)
recyclerView.layoutManager = layoutManager
}

View file

@ -127,7 +127,7 @@ class GuildDetailFragment : BaseFragment() {
}
private fun updateGuild(guild: Group?) {
guildTitleView?.text = guild?.name
guildTitleView.text = guild?.name
guildDescriptionView.text = MarkdownParser.parseMarkdown(guild?.description)
//gemCountWrapper.visibility = if (group?.balance != null && group.balance > 0) View.VISIBLE else View.GONE
//gemCountTextView.text = (group?.balance ?: 0 * 4.0).toInt().toString()

View file

@ -65,11 +65,6 @@ class InboxFragment : BaseMainFragment(), androidx.swiperefreshlayout.widget.Swi
super.onDestroy()
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
//this.activity?.menuInflater?.inflate(R.menu.inbox, menu)
super.onCreateOptionsMenu(menu, inflater)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val id = item.itemId

View file

@ -71,7 +71,7 @@ class PublicGuildsFragment : BaseMainFragment(), SearchView.OnQueryTextListener
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_public_guild, menu)
val searchItem = menu?.findItem(R.id.action_guild_search)
val searchItem = menu.findItem(R.id.action_guild_search)
val guildSearchView = searchItem?.actionView as? SearchView
val theTextArea = guildSearchView?.findViewById<SearchView.SearchAutoComplete>(R.id.search_src_text)
context.notNull { theTextArea?.setHintTextColor(ContextCompat.getColor(it, R.color.white)) }

View file

@ -113,7 +113,7 @@ class TavernDetailFragment : BaseFragment() {
}
private fun bindButtons() {
innButton.setOnClickListener { _ ->
innButton.setOnClickListener {
user?.notNull { user -> userRepository.sleep(user).subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) }
}
guidelinesButton.setOnClickListener {

View file

@ -58,7 +58,7 @@ class TavernFragment : BaseMainFragment() {
}
viewPager.adapter = object : FragmentPagerAdapter(fragmentManager) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
return when (position) {
0 -> {
tavernDetailFragment

View file

@ -17,7 +17,7 @@ import java.util.*
internal class ChallengeFilterDialogHolder private constructor(view: View, private val context: Activity) {
private val groupRecyclerView: androidx.recyclerview.widget.RecyclerView? by bindView(view, R.id.challenge_filter_recycler_view)
private val groupRecyclerView: RecyclerView? by bindView(view, R.id.challenge_filter_recycler_view)
private val allButton: Button? by bindView(view, R.id.challenge_filter_button_all)
private val noneButton: Button? by bindView(view, R.id.challenge_filter_button_none)
private val checkboxOwned: CheckBox? by bindView(view, R.id.challenge_filter_owned)
@ -51,7 +51,7 @@ internal class ChallengeFilterDialogHolder private constructor(view: View, priva
}
private fun fillChallengeGroups() {
this.groupRecyclerView?.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(context)
this.groupRecyclerView?.layoutManager = LinearLayoutManager(context)
adapter = ChallengesFilterRecyclerViewAdapter(getGroups(challengesViewed))
if (currentFilter != null && currentFilter?.showByGroups != null) {
adapter?.selectAll(currentFilter?.showByGroups ?: emptyList())

View file

@ -1,11 +1,9 @@
package com.habitrpg.android.habitica.ui.fragments.social.challenges
import android.content.Intent
import android.os.Bundle
import android.view.*
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.core.view.MenuItemCompat
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
@ -18,7 +16,6 @@ import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.social.Challenge
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.modules.AppModule
import com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity
import com.habitrpg.android.habitica.ui.adapter.social.ChallengesListViewAdapter
import com.habitrpg.android.habitica.ui.fragments.BaseFragment
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport

View file

@ -8,17 +8,13 @@ import android.widget.TextView
import androidx.core.view.MenuItemCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentStatePagerAdapter
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.ChallengeRepository
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.helpers.resetViews
import com.habitrpg.android.habitica.utils.Action1
import javax.inject.Inject
class ChallengesOverviewFragment : BaseMainFragment() {
@ -27,7 +23,7 @@ class ChallengesOverviewFragment : BaseMainFragment() {
internal lateinit var challengeRepository: ChallengeRepository
private val viewPager: androidx.viewpager.widget.ViewPager? by bindView(R.id.viewPager)
var statePagerAdapter: androidx.fragment.app.FragmentStatePagerAdapter? = null
var statePagerAdapter: FragmentStatePagerAdapter? = null
private var userChallengesFragment: ChallengeListFragment? = ChallengeListFragment()
private var availableChallengesFragment: ChallengeListFragment? = ChallengeListFragment()
@ -113,7 +109,7 @@ class ChallengesOverviewFragment : BaseMainFragment() {
statePagerAdapter = object : FragmentStatePagerAdapter(fragmentManager) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
return if (position == 0) {
userChallengesFragment
} else {

View file

@ -33,7 +33,7 @@ class PartyFragment : BaseMainFragment() {
private var firstFragment: Fragment? = null
private var partyMemberListFragment: PartyMemberListFragment? = null
private var chatFragment: ChatFragment? = null
private var viewPagerAdapter: androidx.fragment.app.FragmentPagerAdapter? = null
private var viewPagerAdapter: FragmentPagerAdapter? = null
internal lateinit var viewModel: PartyViewModel
@ -232,7 +232,7 @@ class PartyFragment : BaseMainFragment() {
viewPagerAdapter = object : FragmentPagerAdapter(fragmentManager) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
override fun getItem(position: Int): Fragment {
return when (position) {
0 -> {
firstFragment = if (user?.hasParty() == true) {
@ -293,7 +293,7 @@ class PartyFragment : BaseMainFragment() {
}
this.viewPager?.adapter = viewPagerAdapter
viewPager?.addOnPageChangeListener(object : androidx.viewpager.widget.ViewPager.OnPageChangeListener {
viewPager?.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
if (position == 1) {
chatFragment?.setNavigatedToFragment()

View file

@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.Observer
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.SocialRepository

View file

@ -29,10 +29,10 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
(layoutManager as androidx.recyclerview.widget.GridLayoutManager).spanSizeLookup = object : androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup() {
(layoutManager as GridLayoutManager).spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return if (recyclerAdapter?.getItemViewType(position) ?: 0 < 2) {
(layoutManager as androidx.recyclerview.widget.GridLayoutManager).spanCount
(layoutManager as GridLayoutManager).spanCount
} else {
1
}
@ -50,8 +50,8 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() {
}, RxErrorHandler.handleEmptyError())
}
override fun getLayoutManager(context: Context?): androidx.recyclerview.widget.LinearLayoutManager =
androidx.recyclerview.widget.GridLayoutManager(context, 4)
override fun getLayoutManager(context: Context?): LinearLayoutManager =
GridLayoutManager(context, 4)
override fun onRefresh() {
refreshLayout.isRefreshing = true
@ -73,7 +73,7 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() {
if (spanCount == 0) {
spanCount = 1
}
(layoutManager as androidx.recyclerview.widget.GridLayoutManager).spanCount = spanCount
(layoutManager as GridLayoutManager).spanCount = spanCount
}
companion object {

View file

@ -138,7 +138,7 @@ open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayou
//defines the enabled move directions in each state (idle, swiping, dragging).
override fun getMovementFlags(recyclerView: androidx.recyclerview.widget.RecyclerView, viewHolder: androidx.recyclerview.widget.RecyclerView.ViewHolder): Int {
return ItemTouchHelper.Callback.makeFlag(ItemTouchHelper.ACTION_STATE_DRAG,
return makeFlag(ItemTouchHelper.ACTION_STATE_DRAG,
ItemTouchHelper.DOWN or ItemTouchHelper.UP)
}

View file

@ -11,18 +11,16 @@ import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.extensions.dpToPx
import com.habitrpg.android.habitica.extensions.inflate
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.auth.LocalAuthentication
import com.habitrpg.android.habitica.models.social.ChatMessage
import com.habitrpg.android.habitica.models.social.FindUsernameResult
import com.habitrpg.android.habitica.models.user.Authentication
import com.habitrpg.android.habitica.models.user.Profile
import com.habitrpg.android.habitica.ui.views.social.UsernameLabel
import io.reactivex.functions.Consumer
import net.pherth.android.emoji_library.EmojiMap
import net.pherth.android.emoji_library.EmojiParser
import net.pherth.android.emoji_library.EmojiTextView
import java.util.Date
import java.util.*
class AutocompleteAdapter(val context: Context, val socialRepository: SocialRepository? = null, var autocompleteContext: String? = null, var groupID: String? = null, val remoteAutocomplete: Boolean = false) : BaseAdapter(), Filterable {
var chatMessages: List<ChatMessage> = arrayListOf()

View file

@ -84,7 +84,7 @@ public class FloatingActionMenuBehavior extends CoordinatorLayout.Behavior {
@Override
public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, View child, View directTargetChild, View target, int nestedScrollAxes) {
ViewGroup fabContainer = (ViewGroup) child.findViewById(R.id.floating_menu_wrapper);
ViewGroup fabContainer = child.findViewById(R.id.floating_menu_wrapper);
if (fabContainer.getChildCount() > 0) {
if (fabContainer.getChildAt(0).getClass().equals(FloatingActionMenu.class)) {
fab = (FloatingActionMenu) fabContainer.getChildAt(0);

View file

@ -18,10 +18,9 @@ package com.habitrpg.android.habitica.ui.helpers
import android.app.Activity
import android.graphics.Rect
import android.os.Build
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.view.ViewTreeObserver
import android.view.inputmethod.InputMethodManager
/**
* Created by mikepenz on 14.03.15.

View file

@ -22,8 +22,8 @@ fun <V : View> Activity.bindView(@IdRes id: Int)
fun <V : View> Dialog.bindView(@IdRes id: Int)
: ReadOnlyProperty<Dialog, V> = required(id, viewFinder)
fun <V : View> androidx.fragment.app.Fragment.bindView(@IdRes id: Int)
: ReadOnlyProperty<androidx.fragment.app.Fragment, V> = required(id, viewFinder)
fun <V : View> Fragment.bindView(@IdRes id: Int)
: ReadOnlyProperty<Fragment, V> = required(id, viewFinder)
fun <V : View> ViewHolder.bindView(@IdRes id: Int)
: ReadOnlyProperty<ViewHolder, V> = required(id, viewFinder)
@ -37,8 +37,8 @@ fun <V : View> Activity.bindOptionalView(@IdRes id: Int)
fun <V : View> Dialog.bindOptionalView(@IdRes id: Int)
: ReadOnlyProperty<Dialog, V?> = optional(id, viewFinder)
fun <V : View> androidx.fragment.app.Fragment.bindOptionalView(@IdRes id: Int)
: ReadOnlyProperty<androidx.fragment.app.Fragment, V?> = optional(id, viewFinder)
fun <V : View> Fragment.bindOptionalView(@IdRes id: Int)
: ReadOnlyProperty<Fragment, V?> = optional(id, viewFinder)
fun <V : View> ViewHolder.bindOptionalView(@IdRes id: Int)
: ReadOnlyProperty<ViewHolder, V?> = optional(id, viewFinder)
@ -59,7 +59,7 @@ fun bindColor(context: Context, @ColorRes res: Int) : Lazy<Int> {
return lazy(LazyThreadSafetyMode.NONE) { ContextCompat.getColor(context, res) }
}
fun androidx.fragment.app.Fragment.resetViews() {
fun Fragment.resetViews() {
LazyRegistry.reset(this)
}
@ -70,7 +70,7 @@ private val Activity.viewFinder: Activity.(Int) -> View?
get() = { findViewById(it) }
private val Dialog.viewFinder: Dialog.(Int) -> View?
get() = { findViewById(it) }
private val androidx.fragment.app.Fragment.viewFinder: androidx.fragment.app.Fragment.(Int) -> View?
private val Fragment.viewFinder: Fragment.(Int) -> View?
get() = { view?.findViewById(it) }
private val ViewHolder.viewFinder: ViewHolder.(Int) -> View?
get() = { itemView.findViewById(it) }

View file

@ -2,21 +2,17 @@ package com.habitrpg.android.habitica.ui.helpers
import android.graphics.Color
import android.text.Html
import com.commonsware.cwac.anddown.AndDown
import net.pherth.android.emoji_library.EmojiParser
import android.text.Html.FROM_HTML_MODE_LEGACY
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.text.style.ForegroundColorSpan
import android.text.style.StyleSpan
import com.commonsware.cwac.anddown.AndDown
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import io.reactivex.Single
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers
import net.pherth.android.emoji_library.EmojiParser
import java.util.regex.Pattern
/**

View file

@ -1,15 +1,14 @@
package com.habitrpg.android.habitica.ui.helpers
import android.content.Context
import android.content.res.Configuration
import android.content.res.Resources
import android.graphics.Point
import android.os.Build
import androidx.annotation.IntRange
import android.util.DisplayMetrics
import android.view.*
import androidx.annotation.IntegerRes
import android.view.KeyCharacterMap
import android.view.KeyEvent
import android.view.ViewConfiguration
import android.view.WindowManager
import androidx.annotation.IntRange
import com.habitrpg.android.habitica.R
object NavbarUtils {

View file

@ -1,11 +1,9 @@
package com.habitrpg.android.habitica.ui.helpers
import android.content.Context
import androidx.recyclerview.widget.RecyclerView
import android.util.AttributeSet
import android.view.View
import android.view.WindowInsets
import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.ui.views.PaddedRecylerView
//http://stackoverflow.com/a/27801394/1315039

View file

@ -27,7 +27,7 @@ public class BottomSheetMenuItem {
public View inflate(Context context, LayoutInflater inflater, ViewGroup contentView) {
LinearLayout menuItemView = (LinearLayout) inflater.inflate(R.layout.menu_bottom_sheet_item, contentView, false);
TextView textView = (TextView) menuItemView.findViewById(R.id.textView);
TextView textView = menuItemView.findViewById(R.id.textView);
textView.setText(this.title);
if (this.isDestructive) {
textView.setTextColor(ContextCompat.getColor(context, R.color.red_50));

View file

@ -11,7 +11,7 @@ import android.widget.TextView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.ui.helpers.bindView
class SectionViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
class SectionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val label: TextView by bindView(itemView, R.id.label)
private val purchaseSetButton: Button? by bindView(itemView, R.id.purchaseSetButton)

View file

@ -16,7 +16,7 @@ import com.habitrpg.android.habitica.ui.views.CurrencyView
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog
class ShopItemViewHolder(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
class ShopItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
private val imageView: SimpleDraweeView by bindView(itemView, R.id.imageView)
private val buyButton: View by bindView(itemView, R.id.buyButton)

View file

@ -21,7 +21,7 @@ import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers
import org.greenrobot.eventbus.EventBus
abstract class BaseTaskViewHolder constructor(itemView: View) : androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView), View.OnClickListener {
abstract class BaseTaskViewHolder constructor(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
var task: Task? = null

View file

@ -116,8 +116,8 @@ abstract class ChecklistedViewHolder(itemView: View) : BaseTaskViewHolder(itemVi
private fun onChecklistIndicatorClicked() {
expandedChecklistRow = if (this.shouldDisplayExpandedChecklist()) null else adapterPosition
if (this.shouldDisplayExpandedChecklist()) {
val recyclerView = this.checklistView.parent.parent as? androidx.recyclerview.widget.RecyclerView
val layoutManager = recyclerView?.layoutManager as? androidx.recyclerview.widget.LinearLayoutManager
val recyclerView = this.checklistView.parent.parent as? RecyclerView
val layoutManager = recyclerView?.layoutManager as? LinearLayoutManager
layoutManager?.scrollToPositionWithOffset(this.adapterPosition, 15)
}
updateChecklistDisplay()

View file

@ -6,17 +6,12 @@ import androidx.lifecycle.ViewModel
import com.habitrpg.android.habitica.HabiticaBaseApplication
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.extensions.Optional
import com.habitrpg.android.habitica.extensions.filterOptionalDoOnEmpty
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.social.Group
import com.habitrpg.android.habitica.models.user.User
import io.reactivex.BackpressureStrategy
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.functions.Consumer
import io.reactivex.subjects.BehaviorSubject
import javax.inject.Inject
abstract class BaseViewModel: ViewModel() {

View file

@ -1,14 +1,9 @@
package com.habitrpg.android.habitica.ui.viewmodels
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.inventory.Quest
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.fragment_chat.*
class PartyViewModel: GroupViewModel() {

View file

@ -109,7 +109,7 @@ class CollapsibleSectionView(context: Context?, attrs: AttributeSet?) : LinearLa
context.notNull {
caretColor = ContextCompat.getColor(it, R.color.black_50_alpha)
}
orientation = LinearLayout.VERTICAL
orientation = VERTICAL
titleView.setOnClickListener {
isCollapsed = !isCollapsed
}

View file

@ -3,11 +3,11 @@ package com.habitrpg.android.habitica.ui.views
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.BitmapDrawable
import androidx.core.content.ContextCompat
import android.util.AttributeSet
import android.util.TypedValue
import android.view.Gravity
import android.view.View
import androidx.core.content.ContextCompat
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.helpers.NumberAbbreviator
@ -119,7 +119,7 @@ class CurrencyView : androidx.appcompat.widget.AppCompatTextView {
visibility = if ("hourglasses" == this.currency) {
if ("0" == text) View.GONE else View.VISIBLE
} else {
View.VISIBLE;
View.VISIBLE
}
}
}

View file

@ -1,7 +1,6 @@
package com.habitrpg.android.habitica.ui.views
import android.content.Context
import android.os.Build
import android.util.AttributeSet
import android.util.TypedValue
import android.widget.LinearLayout
@ -52,11 +51,8 @@ class CurrencyViews : LinearLayout {
private fun setupView(view: CurrencyView, margin: Int) {
this.addView(view)
val params = view.layoutParams as LayoutParams
params.setMargins(margin, 0, 0, 0)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
params.marginStart = margin
}
val params = view.layoutParams as? LayoutParams
params?.marginStart = margin
view.layoutParams = params
}
}

View file

@ -13166,25 +13166,25 @@ public class HabiticaIcons {
class PaintCodeColor extends Color {
private static float[] ColorToHSV(int originalColor) {
float hsv[] = new float[3];
float[] hsv = new float[3];
RGBToHSV(red(originalColor), green(originalColor), blue(originalColor), hsv);
return hsv;
}
public static int colorByChangingHue(int originalColor, float newHue) {
float hsv[] = ColorToHSV(originalColor);
float[] hsv = ColorToHSV(originalColor);
hsv[0] = newHue;
return HSVToColor(alpha(originalColor), hsv);
}
public static int colorByChangingSaturation(int originalColor, float newSaturation) {
float hsv[] = ColorToHSV(originalColor);
float[] hsv = ColorToHSV(originalColor);
hsv[1] = newSaturation;
return HSVToColor(alpha(originalColor), hsv);
}
public static int colorByChangingValue(int originalColor, float newValue) {
float hsv[] = ColorToHSV(originalColor);
float[] hsv = ColorToHSV(originalColor);
hsv[2] = newValue;
return HSVToColor(alpha(originalColor), hsv);
}

Some files were not shown because too many files have changed in this diff Show more