mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-13 17:51:57 +00:00
Fix various code style warnings
This commit is contained in:
parent
b94549684d
commit
d64e07ae51
130 changed files with 269 additions and 443 deletions
|
|
@ -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 -> {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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() }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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)
|
||||
|
|
@ -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") {
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ class GemPurchaseActivity : BaseActivity(), InAppMessageListener {
|
|||
}
|
||||
|
||||
@Subscribe
|
||||
public fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
|
||||
fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
|
||||
if (isActive) {
|
||||
consumePurchase(event.purchase)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ class GiftIAPActivity: BaseActivity() {
|
|||
|
||||
|
||||
@Subscribe
|
||||
public fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
|
||||
fun onConsumablePurchased(event: ConsumablePurchasedEvent) {
|
||||
consumePurchase(event.purchase)
|
||||
runOnUiThread {
|
||||
displayConfirmationDialog()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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>()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()) }
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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?) {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)) }
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in a new issue