diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt index d6a811794..44f02a7e2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt @@ -49,7 +49,7 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli override fun taskChecked(user: User?, task: Task, up: Boolean, force: Boolean): Observable { val now = Date().time if (lastTaskAction > now - 500 && !force) { - return Observable.just(null) + return Observable.just(TaskScoringResult()) } lastTaskAction = now return this.apiClient.postTaskDirection(task.id, (if (up) TaskDirection.up else TaskDirection.down).toString()) @@ -185,7 +185,7 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli if (task.isValid) { return@flatMap apiClient.postTaskNewPosition(task.id, newPosition) } - return@flatMap Observable.just>(null) + return@flatMap Observable.just>(ArrayList()) } .doOnNext({ localRepository.updateTaskPositions(it) }) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt index 1eac1f0be..d8fd83153 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt @@ -35,7 +35,7 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli override fun updateUser(user: User?, updateData: Map): Observable { return if (user == null) { - Observable.just(null) + Observable.just(User()) } else apiClient.updateUser(updateData).map { newUser -> mergeUser(user, newUser) } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt index d715b5c65..9e536b085 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt @@ -77,11 +77,7 @@ class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { } } - - if (view == null) { - return inflater.inflate(R.layout.fragment_chat, container, false) - } - return view + return inflater.inflate(R.layout.fragment_chat, container, false) } override fun onDestroy() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java index f99df860f..41382cc56 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java @@ -144,10 +144,12 @@ public class ChallengeListFragment extends BaseMainFragment implements SwipeRefr RelativeLayout badgeLayout = (RelativeLayout) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); - TextView filterCountTextView = (TextView) badgeLayout.findViewById(R.id.badge_textview); - filterCountTextView.setText(null); - filterCountTextView.setVisibility(View.GONE); - badgeLayout.setOnClickListener(view -> showFilterDialog()); + if (badgeLayout != null) { + TextView filterCountTextView = badgeLayout.findViewById(R.id.badge_textview); + filterCountTextView.setText(null); + filterCountTextView.setVisibility(View.GONE); + badgeLayout.setOnClickListener(view -> showFilterDialog()); + } } private void showFilterDialog() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt index 5c2ef0196..5ee3463f4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt @@ -21,10 +21,8 @@ import java.util.* class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - val view = super.onCreateView(inflater, container, savedInstanceState) - inventoryRepository.retrieveInAppRewards().subscribe(Action1 { }, RxErrorHandler.handleEmptyError()) - return view + return super.onCreateView(inflater, container, savedInstanceState) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -60,7 +58,7 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() { userRepository.retrieveUser(true, true) .flatMap> { inventoryRepository.retrieveInAppRewards() } .doOnTerminate { - refreshLayout.isRefreshing = false + refreshLayout?.isRefreshing = false }.subscribe(Action1 { }, RxErrorHandler.handleEmptyError()) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java index 625ef53e9..8034bdb2d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java @@ -29,7 +29,10 @@ public class PetListDeserializer implements JsonDeserializer> { for (Pet item : existingItems) { if (object.has(item.getKey())) { JsonElement itemObject = object.get(item.getKey()); - item.setTrained(itemObject.getAsInt()); + try { + item.setTrained(itemObject.getAsInt()); + } catch (UnsupportedOperationException ignored) { + } vals.add(item); object.remove(item.getKey()); } @@ -43,7 +46,10 @@ public class PetListDeserializer implements JsonDeserializer> { if (entry.getValue().isJsonNull()) { pet.setTrained(0); } else { - pet.setTrained(entry.getValue().getAsInt()); + try { + pet.setTrained(entry.getValue().getAsInt()); + } catch (UnsupportedOperationException ignored) { + } } vals.add(pet); }