Skip to content

Instantly share code, notes, and snippets.

View SamueldaCostaAraujoNunes's full-sized avatar
🏠
Working from home

Samuel da Costa Araujo Nunes SamueldaCostaAraujoNunes

🏠
Working from home
View GitHub Profile
package br.com.samuelnunes.rickandmortyapp.ui.characters
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
@Query("SELECT * FROM Character WHERE id = :id")
suspend fun getCharacter(id: Int): Character
package br.com.samuelnunes.rickandmortyapp.data.repository
import androidx.paging.ExperimentalPagingApi
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import br.com.samuelnunes.rickandmorty.data.local.CharacterDao
import br.com.samuelnunes.rickandmortyapp.data.entities.Character
import br.com.samuelnunes.rickandmortyapp.data.remote.CharacterRemoteMediador
import br.com.samuelnunes.rickandmortyapp.data.remote.CharacterService
package br.com.samuelnunes.rickandmortyapp.ui.characterDetail
import androidx.lifecycle.ViewModel
import androidx.paging.ExperimentalPagingApi
import br.com.samuelnunes.rickandmortyapp.data.entities.Character
import br.com.samuelnunes.rickandmortyapp.data.repository.CharacterRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
@HiltViewModel
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph.xml"
app:startDestination="@id/charactersFragment">
<fragment
android:id="@+id/charactersFragment"
android:name="br.com.samuelnunes.rickandmortyapp.ui.characters.CharactersFragment"
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="character"
type="br.com.samuelnunes.rickandmortyapp.data.entities.Character" />
</data>
<TextView
package br.com.samuelnunes.rickandmortyapp.ui.characterDetail
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.navArgs
val onActionExpandListener = object: MenuItem.OnActionExpandListener{
override fun onMenuItemActionExpand(item: MenuItem?): Boolean = true
override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
_query.postValue("")
return true
}
}
item?.setOnActionExpandListener(viewModel.onActionExpandListener)
@GET("character")
suspend fun getAllCharacters(
@Query("page") page: Int? = null,
@Query("name") name: String? = null
): CharacterList