From c43958bc8e12be686b3989a60e4d5174cc74289d Mon Sep 17 00:00:00 2001 From: Nelson Glauber Date: Fri, 4 May 2018 22:18:19 -0300 Subject: [PATCH] Necessary changes to make the application run :) --- app/src/main/AndroidManifest.xml | 4 ++- .../model/api/entity/ImageViewExtensions.kt | 8 ----- .../model/api/entity/StringExtensions.kt | 20 ----------- .../view/characterslist/CharactersActivity.kt | 27 +++++++-------- .../characterslist/CharactersViewModel.kt | 2 +- .../main/res/layout/activity_characters.xml | 14 ++++---- app/src/main/res/layout/item_character.xml | 34 +++++++++++++++++++ 7 files changed, 57 insertions(+), 52 deletions(-) delete mode 100644 app/src/main/java/br/com/nglauber/marvel/model/api/entity/ImageViewExtensions.kt delete mode 100644 app/src/main/java/br/com/nglauber/marvel/model/api/entity/StringExtensions.kt create mode 100644 app/src/main/res/layout/item_character.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 11ed5be..44d676c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + - + diff --git a/app/src/main/java/br/com/nglauber/marvel/model/api/entity/ImageViewExtensions.kt b/app/src/main/java/br/com/nglauber/marvel/model/api/entity/ImageViewExtensions.kt deleted file mode 100644 index 643481b..0000000 --- a/app/src/main/java/br/com/nglauber/marvel/model/api/entity/ImageViewExtensions.kt +++ /dev/null @@ -1,8 +0,0 @@ -import android.widget.ImageView -import com.bumptech.glide.Glide - -fun ImageView.load(url: String) { - Glide.with(context) - .load(url) - .into(this) -} \ No newline at end of file diff --git a/app/src/main/java/br/com/nglauber/marvel/model/api/entity/StringExtensions.kt b/app/src/main/java/br/com/nglauber/marvel/model/api/entity/StringExtensions.kt deleted file mode 100644 index 99e79bf..0000000 --- a/app/src/main/java/br/com/nglauber/marvel/model/api/entity/StringExtensions.kt +++ /dev/null @@ -1,20 +0,0 @@ -import java.security.NoSuchAlgorithmException - -fun String.md5(): String { - try { - val digest = java.security.MessageDigest.getInstance("MD5") - digest.update(toByteArray()) - val messageDigest = digest.digest() - val hexString = StringBuilder() - for (aMessageDigest in messageDigest) { - var h = Integer.toHexString(0xFF and aMessageDigest.toInt()) - while (h.length < 2) - h = "0" + h - hexString.append(h) - } - return hexString.toString() - } catch (e: NoSuchAlgorithmException) { - e.printStackTrace() - } - return "" -} \ No newline at end of file diff --git a/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersActivity.kt b/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersActivity.kt index b416ff2..97cb525 100644 --- a/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersActivity.kt +++ b/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersActivity.kt @@ -1,5 +1,6 @@ package br.com.nglauber.marvel.view.characterslist +import android.arch.lifecycle.Observer import android.arch.lifecycle.ViewModelProviders import android.os.Bundle import android.os.Parcelable @@ -9,6 +10,7 @@ import android.support.v7.widget.RecyclerView import android.util.Log import br.com.nglauber.marvel.R import br.com.nglauber.marvel.model.api.MarvelApi.loadCharacters +import kotlinx.android.synthetic.main.activity_characters.* class CharactersActivity : AppCompatActivity() { @@ -28,21 +30,26 @@ class CharactersActivity : AppCompatActivity() { val llm = LinearLayoutManager(this) recyclerCharacters.layoutManager = llm -// recyclerCharacters.adapter = Companion.adapter - recyclerCharacters.adapter = adapter recyclerCharacters.addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView?, newState: Int) { super.onScrollStateChanged(recyclerView, newState) val lastVisibleItemPosition = llm.findLastVisibleItemPosition() -// if (lastVisibleItemPosition == Companion.adapter.itemCount - 1 && !viewModel.isLoading) { if (lastVisibleItemPosition == adapter.itemCount - 1 && !viewModel.isLoading) { - Log.d("NGVL", "Loading more...") loadCharacters(viewModel.currentPage + 1) } } }) + viewModel.getCharacters().observe(this, Observer { characters -> + characters?.let { + adapter.setItems(characters) + } + if (recyclerState != null) { + recyclerCharacters.layoutManager.onRestoreInstanceState(recyclerState) + recyclerState = null + } + }) loadCharacters(0) } @@ -57,16 +64,6 @@ class CharactersActivity : AppCompatActivity() { } private fun loadCharacters(page: Int) { -// viewModel.load(page) - viewModel.load(page, { characters -> - characters.forEach{ character -> - Log.d("NGVL", "${character.id} - ${character.name}") - adapter.add(character) - } - if (recyclerState != null) { - recyclerCharacters.layoutManager.onRestoreInstanceState(recyclerState) - recyclerState = null - } - }) + viewModel.load(page) } } diff --git a/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersViewModel.kt b/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersViewModel.kt index 910f59d..3069786 100644 --- a/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersViewModel.kt +++ b/app/src/main/java/br/com/nglauber/marvel/view/characterslist/CharactersViewModel.kt @@ -27,7 +27,7 @@ class CharactersViewModel : ViewModel() { characters.value = emptyList() } - fun load(page: Int, param: (Any) -> Unit) { + fun load(page: Int) { launch(UI) { isLoading = true if (page > currentPage) { diff --git a/app/src/main/res/layout/activity_characters.xml b/app/src/main/res/layout/activity_characters.xml index 2973824..af24a5c 100644 --- a/app/src/main/res/layout/activity_characters.xml +++ b/app/src/main/res/layout/activity_characters.xml @@ -4,15 +4,15 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".CharactersActivity"> + tools:context="br.com.nglauber.marvel.view.characterslist.CharactersActivity"> - \ No newline at end of file diff --git a/app/src/main/res/layout/item_character.xml b/app/src/main/res/layout/item_character.xml new file mode 100644 index 0000000..04d1ee5 --- /dev/null +++ b/app/src/main/res/layout/item_character.xml @@ -0,0 +1,34 @@ + + + + + + + \ No newline at end of file