ComplexCondition:AutocompleteAdapter.kt$AutocompleteAdapter.<no name provided>$constraint[0] == '@' && constraint.length >= 3 && socialRepository != null && remoteAutocomplete ComplexCondition:AvatarStatsWidgetProvider.kt$AvatarStatsWidgetProvider$showManaBar && (stats.habitClass == null || (stats.lvl ?: 0) < 10 || user.preferences?.disableClasses == true) ComplexCondition:AvatarStatsWidgetProvider.kt$AvatarStatsWidgetProvider$user == null || stats == null || context == null || appWidgetManager == null ComplexCondition:ChallengeListFragment.kt$ChallengeListFragment$(!forced && binding?.refreshLayout?.isRefreshing == true) || loadedAllData || !this::challengeRepository.isInitialized ComplexCondition:ChatRecyclerViewHolder.kt$ChatRecyclerMessageViewHolder$(name != null && msg.text?.contains("@$name") == true) || (username != null && msg.text?.contains(username) == true) ComplexCondition:HabitViewHolder.kt$HabitViewHolder$data.counterUp != null && data.counterUp ?: 0 > 0 && data.counterDown != null && data.counterDown ?: 0 > 0 ComplexCondition:LoginActivity.kt$LoginActivity$username.isEmpty() || password.isEmpty() || email.isEmpty() || confirmPassword.isEmpty() ComplexCondition:LoginBackgroundView.kt$LoginBackgroundView$viewWidth <= 0 || viewHeight <= 0 || didLayoutStars || starViews?.size == 0 ComplexCondition:NavigationDrawerFragment.kt$NavigationDrawerFragment$adapter.selectedItem != null && adapter.selectedItem == transitionId && bundle == null && preventReselection ComplexCondition:PurchaseDialog.kt$PurchaseDialog$(shopItem.currency != "gold" || shopItem.canAfford(user, purchaseQuantity)) && !shopItem.locked && purchaseQuantity >= 1 ComplexCondition:PurchaseDialog.kt$PurchaseDialog$shopIdentifier != null && shopIdentifier == Shop.TIME_TRAVELERS_SHOP || "mystery_set" == shopItem.purchaseType || shopItem.currency == "hourglasses" ComplexCondition:PurchaseDialog.kt$PurchaseDialog$shopItem.habitClass != null && shopItem.habitClass != "special" && shopItem.habitClass != "armoire" && user?.stats?.habitClass != shopItem.habitClass ComplexCondition:PushNotificationManager.kt$PushNotificationManager$this.refreshedToken.isEmpty() || this.user == null || this.userHasPushDevice() || !this.userIsSubscribedToNotifications() ComplexCondition:QuestProgressView.kt$QuestProgressView$quest == null || progress == null || !quest.isValid || !progress.isValid ComplexCondition:RealmTaskLocalRepository.kt$RealmTaskLocalRepository$firstTask != null && secondTask != null && firstTask.isValid && secondTask.isValid ComplexCondition:RxErrorHandler.kt$RxErrorHandler.Companion$!IOException::class.java.isAssignableFrom(throwable.javaClass) && !HttpException::class.java.isAssignableFrom(throwable.javaClass) && !retrofit2.HttpException::class.java.isAssignableFrom(throwable.javaClass) && !EOFException::class.java.isAssignableFrom(throwable.javaClass) && throwable !is ConnectionShutdownException ComplexCondition:SafeDefaultItemAnimator.kt$SafeDefaultItemAnimator$!removalsPending && !movesPending && !additionsPending && !changesPending ComplexCondition:SubscriptionFragment.kt$SubscriptionFragment$user?.purchased?.plan?.paymentMethod == "Google" && user?.purchased?.plan?.isActive == true && user?.purchased?.plan?.dateTerminated == null && (newestSubscription?.isAutoRenewing == false) ComplexMethod:AccountPreferenceFragment.kt$AccountPreferenceFragment$override fun onPreferenceTreeClick(preference: Preference): Boolean ComplexMethod:AvatarStatsWidgetProvider.kt$AvatarStatsWidgetProvider$private fun updateData(widgetIds: IntArray? = null) ComplexMethod:AvatarView.kt$AvatarView$@Suppress("ReturnCount") private fun getAvatarLayerMap(avatar: Avatar, substitutions: Map<String, Map<String, String>>): EnumMap<LayerType, String> ComplexMethod:AvatarView.kt$AvatarView$private fun getLayerBounds(layerType: LayerType, layerName: String, drawable: Drawable): Rect ComplexMethod:BaseActivity.kt$BaseActivity$internal open fun loadTheme(sharedPreferences: SharedPreferences, forced: Boolean = false) ComplexMethod:BaseTaskViewHolder.kt$BaseTaskViewHolder$override fun bind(data: Task, position: Int, displayMode: String) ComplexMethod:ChatMessageDeserializer.kt$ChatMessageDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): ChatMessage ComplexMethod:ChatRecyclerViewHolder.kt$ChatRecyclerMessageViewHolder$fun bind(msg: ChatMessage, uuid: String, user: User?, isExpanded: Boolean) ComplexMethod:ChecklistedViewHolder.kt$ChecklistedViewHolder$private fun updateChecklistDisplay() ComplexMethod:CustomizationSetupAdapter.kt$CustomizationSetupAdapter$private fun isCustomizationActive(customization: SetupCustomization): Boolean ComplexMethod:GroupSerialization.kt$GroupSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Group ComplexMethod:HabitViewHolder.kt$HabitViewHolder$override fun bind(data: Task, position: Int, displayMode: String) ComplexMethod:ItemRecyclerAdapter.kt$ItemRecyclerAdapter.ItemViewHolder$override fun onClick(v: View) ComplexMethod:LocalNotificationActionReceiver.kt$LocalNotificationActionReceiver$private fun handleLocalNotificationAction(action: String?) ComplexMethod:MemberSerialization.kt$MemberSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Member ComplexMethod:NavigationDrawerFragment.kt$NavigationDrawerFragment$private fun updateUser(user: User) ComplexMethod:Notification.kt$Notification$fun getDataType(): java.lang.reflect.Type? ComplexMethod:NotificationsManager.kt$NotificationsManager$private fun handlePopupNotifications(notifications: List<Notification>): Boolean ComplexMethod:PetSuggestHatchDialog.kt$PetSuggestHatchDialog$fun configure( pet: Animal, egg: Egg?, potion: HatchingPotion?, eggCount: Int, potionCount: Int, hasUnlockedEgg: Boolean, hasUnlockedPotion: Boolean, hasMount: Boolean ) ComplexMethod:PreferencesFragment.kt$PreferencesFragment$override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) ComplexMethod:PurchaseDialog.kt$PurchaseDialog$private fun buyItem(quantity: Int) ComplexMethod:SafeDefaultItemAnimator.kt$SafeDefaultItemAnimator$override fun runPendingAnimations() ComplexMethod:SetupCustomizationRepositoryImpl.kt$SetupCustomizationRepositoryImpl$override fun getCustomizations(type: String, subtype: String?, user: User): List<SetupCustomization> ComplexMethod:ShowNotificationInteractor.kt$ShowNotificationInteractor$fun handleNotification(notification: Notification): Boolean ComplexMethod:StableRecyclerFragment.kt$StableRecyclerFragment$private fun mapAnimals(unsortedAnimals: List<Animal>, ownedAnimals: Map<String, OwnedObject>): ArrayList<Any> ComplexMethod:StatsFragment.kt$StatsFragment$private fun updateStats(user: User) ComplexMethod:SubscriptionDetailsView.kt$SubscriptionDetailsView$fun setPlan(plan: SubscriptionPlan) ComplexMethod:Task.kt$Task$fun isBeingEdited(task: Task): Boolean ComplexMethod:TaskFormActivity.kt$TaskFormActivity$override fun onCreate(savedInstanceState: Bundle?) ComplexMethod:TaskFormActivity.kt$TaskFormActivity$private fun fillForm(task: Task) ComplexMethod:TaskRecyclerViewFragment.kt$TaskRecyclerViewFragment$private fun setInnerAdapter() ComplexMethod:TaskRepositoryImpl.kt$TaskRepositoryImpl$private fun handleTaskResponse( user: User, res: TaskDirectionData, task: Task, up: Boolean, localDelta: Float ) ComplexMethod:TaskSchedulingControls.kt$TaskSchedulingControls$private fun generateSummary() ComplexMethod:TaskSerializer.kt$TaskSerializer$override fun deserialize( json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext ): Task ComplexMethod:UserDeserializer.kt$UserDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): User ComplexMethod:UserStatComputer.kt$UserStatComputer$fun computeClassBonus(equipmentList: List<Equipment>, user: Avatar): List<StatsRow> ComplexMethod:WorldStateSerialization.kt$WorldStateSerialization$override fun deserialize( json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext? ): WorldState ConstructorParameterNaming:Days.kt$Days$`in`: Parcel ConstructorParameterNaming:Task.kt$Task$`in`: Parcel DuplicateCaseInWhenExpression:Notification.kt$Notification$when (type) { Type.LOGIN_INCENTIVE.type -> LoginIncentiveData::class.java Type.NEW_STUFF.type -> NewStuffData::class.java Type.NEW_CHAT_MESSAGE.type -> NewChatMessageData::class.java Type.GROUP_TASK_NEEDS_WORK.type -> GroupTaskNeedsWorkData::class.java Type.GROUP_TASK_APPROVED.type -> GroupTaskApprovedData::class.java Type.GROUP_TASK_REQUIRES_APPROVAL.type -> GroupTaskRequiresApprovalData::class.java Type.UNALLOCATED_STATS_POINTS.type -> UnallocatedPointsData::class.java Type.GUILD_INVITATION.type -> GuildInvitationData::class.java Type.PARTY_INVITATION.type -> PartyInvitationData::class.java Type.QUEST_INVITATION.type -> QuestInvitationData::class.java Type.FIRST_DROP.type -> FirstDropData::class.java Type.ACHIEVEMENT_GENERIC.type -> AchievementData::class.java Type.WON_CHALLENGE.type -> ChallengeWonData::class.java Type.ACHIEVEMENT_ALL_YOUR_BASE.type -> AchievementData::class.java Type.ACHIEVEMENT_BACK_TO_BASICS.type -> AchievementData::class.java Type.ACHIEVEMENT_JUST_ADD_WATER.type -> AchievementData::class.java Type.ACHIEVEMENT_LOST_MASTERCLASSER.type -> AchievementData::class.java Type.ACHIEVEMENT_MIND_OVER_MATTER.type -> AchievementData::class.java Type.ACHIEVEMENT_DUST_DEVIL.type -> AchievementData::class.java Type.ACHIEVEMENT_ARID_AUTHORITY.type -> AchievementData::class.java Type.ACHIEVEMENT_MONSTER_MAGUS.type -> AchievementData::class.java Type.ACHIEVEMENT_UNDEAD_UNDERTAKER.type -> AchievementData::class.java Type.ACHIEVEMENT_PRIMED_FOR_PAINTING.type -> AchievementData::class.java Type.ACHIEVEMENT_PEARLY_PRO.type -> AchievementData::class.java Type.ACHIEVEMENT_TICKLED_PINK.type -> AchievementData::class.java Type.ACHIEVEMENT_ROSY_OUTLOOK.type -> AchievementData::class.java Type.ACHIEVEMENT_BUG_BONANZA.type -> AchievementData::class.java Type.ACHIEVEMENT_BARE_NECESSITIES.type -> AchievementData::class.java Type.ACHIEVEMENT_FRESHWATER_FRIENDS.type -> AchievementData::class.java Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> AchievementData::class.java Type.ACHIEVEMENT_ALL_THAT_GLITTERS.type -> AchievementData::class.java Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> AchievementData::class.java Type.ACHIEVEMENT_BONE_COLLECTOR.type -> AchievementData::class.java Type.ACHIEVEMENT_SKELETON_CREW.type -> AchievementData::class.java Type.ACHIEVEMENT_SEEING_RED.type -> AchievementData::class.java Type.ACHIEVEMENT_RED_LETTER_DAY.type -> AchievementData::class.java else -> null } DuplicateCaseInWhenExpression:NotificationsManager.kt$NotificationsManager$when (it.type) { Notification.Type.ACHIEVEMENT_PARTY_UP.type -> true Notification.Type.ACHIEVEMENT_PARTY_ON.type -> true Notification.Type.ACHIEVEMENT_BEAST_MASTER.type -> true Notification.Type.ACHIEVEMENT_MOUNT_MASTER.type -> true Notification.Type.ACHIEVEMENT_TRIAD_BINGO.type -> true Notification.Type.ACHIEVEMENT_GUILD_JOINED.type -> true Notification.Type.ACHIEVEMENT_CHALLENGE_JOINED.type -> true Notification.Type.ACHIEVEMENT_INVITED_FRIEND.type -> true Notification.Type.ACHIEVEMENT_ALL_YOUR_BASE.type -> true Notification.Type.ACHIEVEMENT_BACK_TO_BASICS.type -> true Notification.Type.ACHIEVEMENT_JUST_ADD_WATER.type -> true Notification.Type.ACHIEVEMENT_LOST_MASTERCLASSER.type -> true Notification.Type.ACHIEVEMENT_MIND_OVER_MATTER.type -> true Notification.Type.ACHIEVEMENT_DUST_DEVIL.type -> true Notification.Type.ACHIEVEMENT_ARID_AUTHORITY.type -> true Notification.Type.ACHIEVEMENT_MONSTER_MAGUS.type -> true Notification.Type.ACHIEVEMENT_UNDEAD_UNDERTAKER.type -> true Notification.Type.ACHIEVEMENT_PRIMED_FOR_PAINTING.type -> true Notification.Type.ACHIEVEMENT_PEARLY_PRO.type -> true Notification.Type.ACHIEVEMENT_TICKLED_PINK.type -> true Notification.Type.ACHIEVEMENT_ROSY_OUTLOOK.type -> true Notification.Type.ACHIEVEMENT_BUG_BONANZA.type -> true Notification.Type.ACHIEVEMENT_BARE_NECESSITIES.type -> true Notification.Type.ACHIEVEMENT_FRESHWATER_FRIENDS.type -> true Notification.Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> true Notification.Type.ACHIEVEMENT_ALL_THAT_GLITTERS.type -> true Notification.Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> true Notification.Type.ACHIEVEMENT_BONE_COLLECTOR.type -> true Notification.Type.ACHIEVEMENT_SKELETON_CREW.type -> true Notification.Type.ACHIEVEMENT_SEEING_RED.type -> true Notification.Type.ACHIEVEMENT_RED_LETTER_DAY.type -> true Notification.Type.ACHIEVEMENT_GENERIC.type -> true Notification.Type.ACHIEVEMENT_ONBOARDING_COMPLETE.type -> true Notification.Type.LOGIN_INCENTIVE.type -> true else -> false } DuplicateCaseInWhenExpression:ShowNotificationInteractor.kt$ShowNotificationInteractor$when (notification.type) { Notification.Type.LOGIN_INCENTIVE.type -> showCheckinDialog(notification) Notification.Type.ACHIEVEMENT_PARTY_UP.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_PARTY_ON.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_BEAST_MASTER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_MOUNT_MASTER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_TRIAD_BINGO.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_GUILD_JOINED.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_CHALLENGE_JOINED.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_INVITED_FRIEND.type -> showAchievementDialog(notification) Notification.Type.WON_CHALLENGE.type -> showWonChallengeDialog(notification) Notification.Type.ACHIEVEMENT_ALL_YOUR_BASE.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_BACK_TO_BASICS.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_JUST_ADD_WATER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_LOST_MASTERCLASSER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_MIND_OVER_MATTER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_DUST_DEVIL.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_ARID_AUTHORITY.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_MONSTER_MAGUS.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_UNDEAD_UNDERTAKER.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_PRIMED_FOR_PAINTING.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_PEARLY_PRO.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_TICKLED_PINK.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_ROSY_OUTLOOK.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_BUG_BONANZA.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_BARE_NECESSITIES.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_FRESHWATER_FRIENDS.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_ALL_THAT_GLITTERS.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_GOOD_AS_GOLD.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_BONE_COLLECTOR.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_SKELETON_CREW.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_SEEING_RED.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_RED_LETTER_DAY.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_GENERIC.type -> showAchievementDialog(notification) Notification.Type.ACHIEVEMENT_ONBOARDING_COMPLETE.type -> showAchievementDialog(notification) Notification.Type.FIRST_DROP.type -> showFirstDropDialog(notification) else -> return false } EmptyCatchBlock:AmplitudeManager.kt$AmplitudeManager${ } EmptyCatchBlock:WorldStateSerialization.kt$WorldStateSerialization${ } EmptyDefaultConstructor:AuthenticationViewModel.kt$AuthenticationViewModel$() EmptyDefaultConstructor:CustomizationRecyclerViewAdapter.kt$CustomizationRecyclerViewAdapter$() EmptyFunctionBlock:AccountPreferenceFragment.kt$AccountPreferenceFragment${ } EmptyFunctionBlock:FallExtraGemsHabiticaPromotion.kt$FallExtraGemsHabiticaPromotion${ } EmptyFunctionBlock:GiftOneGetOneHabiticaPromotion.kt$GiftOneGetOneHabiticaPromotion${ } EmptyFunctionBlock:HabiticaBaseApplication.kt$HabiticaBaseApplication${ } EmptyFunctionBlock:MainActivity.kt$MainActivity.<no name provided>${ } EmptyFunctionBlock:RealmInventoryLocalRepository.kt$RealmInventoryLocalRepository${ } EmptyFunctionBlock:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor.Companion${ } EmptyFunctionBlock:SpookyExtraGemsHabiticaPromotion.kt$SpookyExtraGemsHabiticaPromotion${ } EmptyFunctionBlock:Survey2021Promotion.kt$Survey2021Promotion${ } EmptySecondaryConstructor:Server.kt$Server${} ForbiddenComment:ShopRecyclerAdapter.kt$ShopRecyclerAdapter$// TODO: Enable this again when we have a nicer design FunctionParameterNaming:BaseLocalRepository.kt$BaseLocalRepository$`object`: T FunctionParameterNaming:DragLinearLayout.kt$DragLinearLayout.Companion$`val`: Float FunctionParameterNaming:FullProfileActivity.kt$FullProfileActivity$`val`: Float LargeClass:ApiClientImpl.kt$ApiClientImpl : ConsumerApiClient LongMethod:AvatarView.kt$AvatarView$@Suppress("ReturnCount") private fun getAvatarLayerMap(avatar: Avatar, substitutions: Map<String, Map<String, String>>): EnumMap<LayerType, String> LongMethod:BaseTaskViewHolder.kt$BaseTaskViewHolder$override fun bind(data: Task, position: Int, displayMode: String) LongMethod:ChallengeDetailFragment.kt$ChallengeDetailFragment$@Suppress("ReturnCount") override fun onViewCreated(view: View, savedInstanceState: Bundle?) LongMethod:ChatRecyclerViewHolder.kt$ChatRecyclerMessageViewHolder$fun bind(msg: ChatMessage, uuid: String, user: User?, isExpanded: Boolean) LongMethod:ContentDeserializer.kt$ContentDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): ContentResult LongMethod:GroupSerialization.kt$GroupSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Group LongMethod:HabitViewHolder.kt$HabitViewHolder$override fun bind(data: Task, position: Int, displayMode: String) LongMethod:NavigationDrawerFragment.kt$NavigationDrawerFragment$@OptIn(ExperimentalTime::class) override fun onViewCreated(view: View, savedInstanceState: Bundle?) LongMethod:NavigationDrawerFragment.kt$NavigationDrawerFragment$private fun updateUser(user: User) LongMethod:NoPartyFragmentFragment.kt$NoPartyFragmentFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?) LongMethod:PetSuggestHatchDialog.kt$PetSuggestHatchDialog$fun configure( pet: Animal, egg: Egg?, potion: HatchingPotion?, eggCount: Int, potionCount: Int, hasUnlockedEgg: Boolean, hasUnlockedPotion: Boolean, hasMount: Boolean ) LongMethod:PreferencesFragment.kt$PreferencesFragment$override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) LongMethod:PurchaseDialog.kt$PurchaseDialog$private fun buyItem(quantity: Int) LongMethod:SafeDefaultItemAnimator.kt$SafeDefaultItemAnimator$override fun endAnimations() LongMethod:SafeDefaultItemAnimator.kt$SafeDefaultItemAnimator$override fun runPendingAnimations() LongMethod:TaskFormActivity.kt$TaskFormActivity$override fun onCreate(savedInstanceState: Bundle?) LongMethod:UserDeserializer.kt$UserDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): User LongMethod:UserStatComputer.kt$UserStatComputer$fun computeClassBonus(equipmentList: List<Equipment>, user: Avatar): List<StatsRow> LongParameterList:FullProfileActivity.kt$FullProfileActivity$( label: String, strVal: Float, intVal: Float, conVal: Float, perVal: Float, roundDown: Boolean, isSummary: Boolean ) LongParameterList:HabiticaSnackbar.kt$HabiticaSnackbar.Companion$( container: ViewGroup, leftImage: Drawable, title: CharSequence?, content: CharSequence?, displayType: SnackbarDisplayType, isCelebratory: Boolean = false ) LongParameterList:HabiticaSnackbar.kt$HabiticaSnackbar.Companion$( container: ViewGroup, leftImage: Drawable?, title: CharSequence?, content: CharSequence?, specialView: View?, rightIcon: Drawable?, rightTextColor: Int?, rightText: String?, displayType: SnackbarDisplayType, isCelebratory: Boolean = false ) LongParameterList:HabiticaSnackbar.kt$HabiticaSnackbar.Companion$( container: ViewGroup, title: CharSequence?, content: CharSequence?, rightIcon: Drawable, rightTextColor: Int?, rightText: String, displayType: SnackbarDisplayType, isCelebratory: Boolean = false ) LongParameterList:HabiticaSnackbar.kt$HabiticaSnackbar.Companion$( container: ViewGroup, title: CharSequence?, content: CharSequence?, specialView: View?, displayType: SnackbarDisplayType, isCelebratory: Boolean = false ) LongParameterList:HabiticaSnackbar.kt$SnackbarActivity$( leftImage: Drawable? = null, title: CharSequence? = null, content: CharSequence? = null, specialView: View? = null, rightIcon: Drawable? = null, rightTextColor: Int? = null, rightText: String? = null, displayType: HabiticaSnackbar.SnackbarDisplayType = HabiticaSnackbar.SnackbarDisplayType.NORMAL, isCelebratory: Boolean = false ) LongParameterList:NotifyUserUseCase.kt$NotifyUserUseCase.Companion$( context: Context, xp: Double?, hp: Double?, gold: Double?, mp: Double?, questDamage: Double?, user: User? ) LongParameterList:NotifyUserUseCase.kt$NotifyUserUseCase.RequestValues$( val context: BaseActivity, val snackbarTargetView: ViewGroup, val user: User?, val xp: Double?, val hp: Double?, val gold: Double?, val mp: Double?, val questDamage: Double?, val hasLeveledUp: Boolean?, val level: Int? ) LongParameterList:PetDetailRecyclerAdapter.kt$PetDetailRecyclerAdapter.CanHatchViewHolder$( item: Pet, eggCount: Int, potionCount: Int, hasUnlockedEgg: Boolean, hasUnlockedPotion: Boolean, hasMount: Boolean, ) LongParameterList:PetSuggestHatchDialog.kt$PetSuggestHatchDialog$( pet: Animal, egg: Egg?, potion: HatchingPotion?, eggCount: Int, potionCount: Int, hasUnlockedEgg: Boolean, hasUnlockedPotion: Boolean, hasMount: Boolean ) LongParameterList:PetViewHolder.kt$PetViewHolder$( item: Pet, trained: Int, eggCount: Int, potionCount: Int, canRaiseToMount: Boolean, ownsSaddles: Boolean, hasUnlockedEgg: Boolean, hasUnlockedPotion: Boolean, hasMount: Boolean, currentPet: String? ) LongParameterList:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor.Companion$( result: TaskDirectionData, delta: Double, stats: Stats, computedStats: Stats, task: Task, direction: TaskDirection ) LongParameterList:SocialRepository.kt$SocialRepository$( name: String?, description: String?, leader: String?, type: String?, privacy: String?, leaderCreateChallenge: Boolean? ) LongParameterList:UserRepositoryModule.kt$UserRepositoryModule$( localRepository: UserLocalRepository, apiClient: ApiClient, @Named(AppModule.NAMED_USER_ID) userId: String, taskRepository: TaskRepository, appConfigManager: AppConfigManager, analyticsManager: AnalyticsManager ) MatchingDeclarationName:Date-Extensions.kt$DateUtils MemberNameEqualsClassName:KeyHelper.kt$KeyHelper.Companion$private var keyHelper: KeyHelper? = null MemberNameEqualsClassName:Status.kt$Status$var status: String? = null NestedBlockDepth:AvatarView.kt$AvatarView$private fun getLayerBounds(layerType: LayerType, layerName: String, drawable: Drawable): Rect NestedBlockDepth:BaseTaskViewHolder.kt$BaseTaskViewHolder$override fun bind(data: Task, position: Int, displayMode: String) NestedBlockDepth:BaseTaskViewHolder.kt$BaseTaskViewHolder$override fun onTouch(view: View?, motionEvent: MotionEvent?): Boolean NestedBlockDepth:ChallengeDeserializer.kt$ChallengeDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Challenge NestedBlockDepth:ChecklistedViewHolder.kt$ChecklistedViewHolder$private fun updateChecklistDisplay() NestedBlockDepth:CustomizationDeserializer.kt$CustomizationDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): List<Customization> NestedBlockDepth:GroupSerialization.kt$GroupSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Group NestedBlockDepth:GuildDetailFragment.kt$GuildDetailFragment$private fun getGroupChallenges(): List<Challenge> NestedBlockDepth:InsufficientGemsDialog.kt$InsufficientGemsDialog$override fun onAttachedToWindow() NestedBlockDepth:ItemRecyclerAdapter.kt$ItemRecyclerAdapter.ItemViewHolder$override fun onClick(v: View) NestedBlockDepth:MemberSerialization.kt$MemberSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): Member NestedBlockDepth:NavigationDrawerFragment.kt$NavigationDrawerFragment$private fun updateUser(user: User) NestedBlockDepth:PartyDetailFragment.kt$PartyDetailFragment$private fun getGroupChallenges(): List<Challenge> NestedBlockDepth:PartyDetailFragment.kt$PartyDetailFragment$private fun updateUser(user: User?) NestedBlockDepth:PurchaseDialog.kt$PurchaseDialog$private fun onBuyButtonClicked() NestedBlockDepth:QuestDetailFragment.kt$QuestDetailFragment$private fun setQuestParticipants(participants: List<Member>?) NestedBlockDepth:QuestDropItemsListSerialization.kt$QuestDropItemsListSerialization$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): RealmList<QuestDropItem> NestedBlockDepth:SafeDefaultItemAnimator.kt$SafeDefaultItemAnimator$override fun endAnimation(item: RecyclerView.ViewHolder) NestedBlockDepth:ShopRecyclerAdapter.kt$ShopRecyclerAdapter$@Suppress("ReturnCount") override fun onBindViewHolder( holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int ) NestedBlockDepth:Task.kt$Task$fun getDaysOfMonth(): List<Int>? NestedBlockDepth:Task.kt$Task$fun getWeeksOfMonth(): List<Int>? NestedBlockDepth:TaskListDeserializer.kt$TaskListDeserializer$override fun deserialize(json: JsonElement, typeOfT: Type, ctx: JsonDeserializationContext): TaskList NestedBlockDepth:TaskListDeserializer.kt$TaskListDeserializer$private fun handleTags( databaseTags: List<Tag>, json: JsonArray?, context: JsonDeserializationContext ): RealmList<Tag> NestedBlockDepth:TaskTagDeserializer.kt$TaskTagDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): List<Tag> NestedBlockDepth:TasksViewModel.kt$TasksViewModel$fun createQuery(unfilteredData: OrderedRealmCollection<Task>): RealmQuery<Task>? NestedBlockDepth:UserDeserializer.kt$UserDeserializer$@Throws(JsonParseException::class) override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): User NestedBlockDepth:WorldStateSerialization.kt$WorldStateSerialization$override fun deserialize( json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext? ): WorldState ProtectedMemberInFinalClass:InboxViewModel.kt$InboxViewModel$protected var memberIDSubject = BehaviorSubject.create<Optional<String>>() ReturnCount:AccountPreferenceFragment.kt$AccountPreferenceFragment$override fun onPreferenceTreeClick(preference: Preference): Boolean ReturnCount:ApiClientImpl.kt$ApiClientImpl$override fun accept(throwable: Throwable) ReturnCount:AppConfigManager.kt$AppConfigManager$fun activePromo(): HabiticaPromotion? ReturnCount:BaseTaskViewHolder.kt$BaseTaskViewHolder$override fun onTouch(view: View?, motionEvent: MotionEvent?): Boolean ReturnCount:Customization.kt$Customization$fun getImageName(userSize: String?, hairColor: String?): String ReturnCount:DragLinearLayout.kt$DragLinearLayout$override fun onInterceptTouchEvent(event: MotionEvent): Boolean ReturnCount:DragLinearLayout.kt$DragLinearLayout$override fun onTouchEvent(event: MotionEvent): Boolean ReturnCount:PetDetailRecyclerAdapter.kt$PetDetailRecyclerAdapter$private fun canRaiseToMount(pet: Pet): Boolean ReturnCount:PreferencesFragment.kt$PreferencesFragment$override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) ReturnCount:RealmBaseLocalRepository.kt$RealmBaseLocalRepository$override fun <T : BaseObject> getLiveObject(obj: T): T? ReturnCount:RealmInventoryLocalRepository.kt$RealmInventoryLocalRepository$override fun feedPet(foodKey: String, petKey: String, feedValue: Int, userID: String) ReturnCount:RealmInventoryLocalRepository.kt$RealmInventoryLocalRepository$override fun getLiveObject(obj: OwnedItem): OwnedItem? ReturnCount:RealmInventoryLocalRepository.kt$RealmInventoryLocalRepository$override fun hatchPet(eggKey: String, potionKey: String, userID: String) ReturnCount:RealmInventoryLocalRepository.kt$RealmInventoryLocalRepository$override fun unhatchPet(eggKey: String, potionKey: String, userID: String) ReturnCount:StableRecyclerAdapter.kt$StableRecyclerAdapter$private fun canRaiseToMount(pet: Pet): Boolean ReturnCount:Task.kt$Task$fun isBeingEdited(task: Task): Boolean ThrowingExceptionsWithoutMessageOrCause:EllipsisTextView.kt$EllipsisTextView$NullPointerException() TooGenericExceptionCaught:AuthenticationViewModel.kt$AuthenticationViewModel$e: Exception TooGenericExceptionCaught:CustomizationDeserializer.kt$CustomizationDeserializer$e: Exception TooGenericExceptionCaught:KeyHelper.kt$KeyHelper$e: Exception TooGenericExceptionCaught:MainActivityViewModel.kt$MainActivityViewModel$e: Exception TooGenericExceptionCaught:MainNavigationController.kt$MainNavigationController$error: Exception TooGenericExceptionCaught:SectionViewHolder.kt$SectionViewHolder$e: Exception TooGenericExceptionCaught:SetupCustomizationRepositoryImpl.kt$SetupCustomizationRepositoryImpl$e: Exception TooGenericExceptionCaught:SoundFile.kt$SoundFile$e: Exception TooGenericExceptionCaught:TaskListDeserializer.kt$TaskListDeserializer$e: RuntimeException TooGenericExceptionCaught:TaskTagDeserializer.kt$TaskTagDeserializer$e: RuntimeException TooGenericExceptionCaught:WorldStateSerialization.kt$WorldStateSerialization$e: Exception TooManyFunctions:ApiClient.kt$ApiClient TooManyFunctions:ApiClientImpl.kt$ApiClientImpl : ConsumerApiClient TooManyFunctions:ApiService.kt$ApiService TooManyFunctions:InventoryRepository.kt$InventoryRepository : BaseRepository TooManyFunctions:InventoryRepositoryImpl.kt$InventoryRepositoryImpl : BaseRepositoryImplInventoryRepository TooManyFunctions:SocialRepository.kt$SocialRepository : BaseRepository TooManyFunctions:SocialRepositoryImpl.kt$SocialRepositoryImpl : BaseRepositoryImplSocialRepository TooManyFunctions:UserRepository.kt$UserRepository : BaseRepository TooManyFunctions:UserRepositoryImpl.kt$UserRepositoryImpl : BaseRepositoryImplUserRepository UnnecessaryAbstractClass:HabiticaLocalNotification.kt$HabiticaLocalNotification UnusedPrivateMember:AppTestingLevel.kt$AppTestingLevel$identifier: String UnusedPrivateMember:BaseTasksRecyclerViewAdapter.kt$BaseTasksRecyclerViewAdapter$private fun updateTask(task: Task) UnusedPrivateMember:BaseTasksRecyclerViewAdapter.kt$BaseTasksRecyclerViewAdapter$private val userID: String? UnusedPrivateMember:DragLinearLayout.kt$DragLinearLayout.Companion$`val`: Float UnusedPrivateMember:EquipmentOverviewViewModel.kt$EquipmentOverviewViewModel$savedStateHandle: SavedStateHandle UnusedPrivateMember:FullProfileActivity.kt$FullProfileActivity$`val`: Float UnusedPrivateMember:GroupFormActivity.kt$GroupFormActivity$private var autocompleteAdapter: AutocompleteAdapter? = null UnusedPrivateMember:GuildFragment.kt$GuildFragment$group: Group? UnusedPrivateMember:LoginActivity.kt$LoginActivity$user: User UnusedPrivateMember:NotificationOpenHandler.kt$NotificationOpenHandler.Companion$private fun openQuestDetailSCreen() UnusedPrivateMember:PurchaseDialog.kt$PurchaseDialog$val sub = maybe.flatMap { for (thisItem in it) { if (thisItem.key == item.key) { ownedCount += thisItem.numberOwned } } inventoryRepository.getOwnedMounts().firstElement() }.flatMap { for (mount in it) { if (mount.key?.contains(item.key) == true) { ownedCount += if (mount.owned) 1 else 0 } } inventoryRepository.getOwnedPets().firstElement() }.subscribe( { for (pet in it) { if (pet.key?.contains(item.key) == true) { ownedCount += if (pet.trained > 0) 1 else 0 } } if (calledResult) return@subscribe calledResult = true if (!shouldWarn) { onResult(-1) return@subscribe } val remaining = totalCount - ownedCount onResult(max(0, remaining)) }, ExceptionHandler.rx(), { if (calledResult) return@subscribe calledResult = true if (!shouldWarn) { onResult(-1) return@subscribe } val remaining = totalCount - ownedCount onResult(max(0, remaining)) } ) UnusedPrivateMember:PurchaseDialog.kt$PurchaseDialog$val subscription = observable .doOnNext { val text = if (snackbarText[0].isNotEmpty()) { snackbarText[0] } else { context.getString(R.string.successful_purchase, shopItem.text) } val rightTextColor = when (item.currency) { "gold" -> ContextCompat.getColor(context, R.color.text_yellow) "gems" -> ContextCompat.getColor(context, R.color.text_green) "hourglasses" -> ContextCompat.getColor(context, R.color.text_brand) else -> 0 } ((application?.currentActivity?.get() ?: getActivity() ?: ownerActivity) as? SnackbarActivity)?.showSnackbar( content = text, rightIcon = priceLabel.compoundDrawables[0], rightTextColor = rightTextColor, rightText = "-" + priceLabel.text ) } .flatMap { userRepository.retrieveUser(withTasks = false, forced = true) } .flatMap { inventoryRepository.retrieveInAppRewards() } .subscribe({ if (item.isTypeGear || item.currency == "hourglasses") { onGearPurchased?.invoke(item) } }) { throwable -> if (throwable.javaClass.isAssignableFrom(retrofit2.HttpException::class.java)) { val error = throwable as retrofit2.HttpException if (error.code() == 401 && shopItem.currency == "gems") { MainNavigationController.navigate(R.id.gemPurchaseActivity, bundleOf(Pair("openSubscription", false))) } } } UnusedPrivateMember:PurchaseHandler.kt$PurchaseHandler$purchase: Purchase UnusedPrivateMember:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor.Companion$direction: TaskDirection UnusedPrivateMember:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor.Companion$task: Task UnusedPrivateMember:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor.Companion$user: User UnusedPrivateMember:SubscriptionFragment.kt$SubscriptionFragment.Companion$iSG1G1: Boolean UnusedPrivateMember:TaskAlarmManager.kt$TaskAlarmManager$private fun removeAlarmsForTask(task: Task) UnusedPrivateMember:UserRepositoryModule.kt$UserRepositoryModule$context: Context? UtilityClassWithPublicConstructor:AprilFoolsHandler.kt$AprilFoolsHandler UtilityClassWithPublicConstructor:Date-Extensions.kt$DateUtils UtilityClassWithPublicConstructor:HapticFeedbackManager.kt$HapticFeedbackManager UtilityClassWithPublicConstructor:KeyboardUtil.kt$KeyboardUtil UtilityClassWithPublicConstructor:NotificationOpenHandler.kt$NotificationOpenHandler UtilityClassWithPublicConstructor:ScoreTaskLocallyInteractor.kt$ScoreTaskLocallyInteractor VariableNaming:Buffs.kt$Buffs$@SerializedName("int") var _int: Float? = null VariableNaming:Equipment.kt$Equipment$@SerializedName("int") var _int: Int = 0 VariableNaming:InboxAdapter.kt$InboxAdapter$private val FIRST_MESSAGE = 0 VariableNaming:InboxAdapter.kt$InboxAdapter$private val NORMAL_MESSAGE = 1 VariableNaming:Quest.kt$Quest$var RSVPNeeded: Boolean = false VariableNaming:TaskDirectionData.kt$TaskDirectionData$var _tmp: TaskDirectionDataTemp? = null VariableNaming:Training.kt$Training$@SerializedName("int") var _int: Float = 0f VariableNaming:UserAuthSocialTokens.kt$UserAuthSocialTokens$var access_token: String? = null VariableNaming:UserAuthSocialTokens.kt$UserAuthSocialTokens$var client_id: String? = null