Skip to content

Commit

Permalink
🚀 Update nas regras de verificação de conexão, adicionado icon e botã…
Browse files Browse the repository at this point in the history
…o de back em algumas view.
  • Loading branch information
charlesmoreira authored and charlesmoreira committed Sep 1, 2019
1 parent 3b86448 commit a3b2525
Show file tree
Hide file tree
Showing 62 changed files with 440 additions and 312 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.example.mangavinek.detail.presentation.view.activity.DetailActivity"
<activity android:name="com.example.mangavinek.feature.detail.presentation.view.activity.DetailActivity"
android:configChanges="screenSize|orientation"/>
<activity android:name=".catalog.presentation.view.activity.CatalogActivity"
<activity android:name="com.example.mangavinek.feature.catalog.presentation.view.activity.CatalogActivity"
android:configChanges="screenSize|orientation"/>
<activity android:name=".catalog.presentation.view.activity.SearchActivity"
<activity android:name="com.example.mangavinek.feature.catalog.presentation.view.activity.SearchActivity"
android:configChanges="screenSize|orientation"/>
</application>

Expand Down
Binary file added app/src/main/ic_launcher-web.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions app/src/main/java/com/example/mangavinek/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentTransaction
import com.example.mangavinek.catalog.presentation.view.activity.SearchActivity
import com.example.mangavinek.favorite.presentation.view.fragment.FavoriteFragment
import com.example.mangavinek.home.presentation.view.fragment.HomeFragment
import com.example.mangavinek.publishing.presentation.view.fragment.PublishingFragment
import com.example.mangavinek.feature.catalog.presentation.view.activity.SearchActivity
import com.example.mangavinek.feature.favorite.presentation.view.fragment.FavoriteFragment
import com.example.mangavinek.feature.home.presentation.view.fragment.HomeFragment
import com.example.mangavinek.feature.publishing.presentation.view.fragment.PublishingFragment
import com.google.android.material.bottomnavigation.LabelVisibilityMode
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_main.*
Expand Down Expand Up @@ -80,8 +80,8 @@ class MainActivity : AppCompatActivity() {
}

private fun finishApp() {
Snackbar.make(constraint_main, "Sair do app?", Snackbar.LENGTH_LONG)
.setAction("Sim") {
Snackbar.make(constraint_main, R.string.title_snack_bar, Snackbar.LENGTH_LONG)
.setAction(R.string.subtitle_confirmation_snack_bar) {
System.exit(0)
}.show()
}
Expand Down
20 changes: 10 additions & 10 deletions app/src/main/java/com/example/mangavinek/core/di/module/Module.kt
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.example.mangavinek.core.di.module

import com.example.mangavinek.catalog.repository.CatalogRepository
import com.example.mangavinek.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.feature.catalog.repository.CatalogRepository
import com.example.mangavinek.feature.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.data.source.local.AppDatabase
import com.example.mangavinek.data.source.local.FavoriteDao
import com.example.mangavinek.data.source.remote.ApiServiceSoup
import com.example.mangavinek.detail.repository.DetailRepository
import com.example.mangavinek.detail.presentation.viewmodel.DetailViewModel
import com.example.mangavinek.favorite.presentation.viewmodel.FavoriteViewModel
import com.example.mangavinek.favorite.repository.FavoriteRepository
import com.example.mangavinek.home.repository.HomeRepository
import com.example.mangavinek.home.presentation.viewmodel.HomeViewModel
import com.example.mangavinek.publishing.repository.PublishingRepository
import com.example.mangavinek.publishing.presentation.viewmodel.PublishingViewModel
import com.example.mangavinek.feature.detail.repository.DetailRepository
import com.example.mangavinek.feature.detail.presentation.viewmodel.DetailViewModel
import com.example.mangavinek.feature.favorite.presentation.viewmodel.FavoriteViewModel
import com.example.mangavinek.feature.favorite.repository.FavoriteRepository
import com.example.mangavinek.feature.home.repository.HomeRepository
import com.example.mangavinek.feature.home.presentation.viewmodel.HomeViewModel
import com.example.mangavinek.feature.publishing.repository.PublishingRepository
import com.example.mangavinek.feature.publishing.presentation.viewmodel.PublishingViewModel
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@ data class DetailChapterResponse(var element: Element) {
val linkChapter = element.select("a").attr("href").toString()
}

data class StatusChapter(val status: String, val number: String)
data class StatusChapter(val status: String, val number: String) {
companion object {
const val AVALAIBLE = "AVAILABLE"
const val TRANSLATED = "TRANSLATED"
const val UNAVAILABLE = "UNAVAILABLE"
}
}

fun Elements.getItems(): MutableList<DetailChapterResponse> {
val transformedElements = mutableListOf<DetailChapterResponse>()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
package com.example.mangavinek.catalog.presentation.view.activity
package com.example.mangavinek.feature.catalog.presentation.view.activity

import android.animation.ObjectAnimator
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.GridLayoutManager
import com.example.mangavinek.R
import com.example.mangavinek.catalog.presentation.view.adapter.CatalogAdapter
import com.example.mangavinek.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.core.constant.BASE_URL
import com.example.mangavinek.core.helper.PaginationScroll
import com.example.mangavinek.core.helper.observeResource
import com.example.mangavinek.core.util.maxNumberGridLayout
import com.example.mangavinek.data.model.catalog.entity.CatalogResponse
import com.example.mangavinek.detail.presentation.view.activity.DetailActivity
import com.example.mangavinek.feature.catalog.presentation.view.adapter.CatalogAdapter
import com.example.mangavinek.feature.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.feature.detail.presentation.view.activity.DetailActivity
import kotlinx.android.synthetic.main.activity_catalog.*
import kotlinx.android.synthetic.main.layout_screen_error.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
Expand All @@ -28,6 +30,7 @@ class CatalogActivity : AppCompatActivity(), AnkoLogger {
private val adapterItem: CatalogAdapter by lazy {
CatalogAdapter(itemList) {
startActivity<DetailActivity>("url" to BASE_URL.plus(it.link))
releasedLoad = true
}
}

Expand All @@ -41,14 +44,17 @@ class CatalogActivity : AppCompatActivity(), AnkoLogger {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_catalog)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_close_24dp)

url = intent.getStringExtra("url")

swipe_refresh.setOnRefreshListener {
GlobalScope.launch(context = Dispatchers.Main) {
if (releasedLoad) {
delay(1000)
page = 2
text_erro.visibility = View.GONE
include_layout_error.visibility = View.GONE
adapterItem.clear(itemList)
viewModel.fetchList(url)
}
Expand Down Expand Up @@ -105,27 +111,43 @@ class CatalogActivity : AppCompatActivity(), AnkoLogger {
}

override fun hideMoreItems() {
progress_bar.visibility = View.GONE
include_layout_loading.visibility = View.GONE
}
})
layoutManager = gridLayoutManager
}
}

override fun onSupportNavigateUp(): Boolean {
onBackPressed()
return true
}

private fun showSuccess() {
recycler_catalog.visibility = View.VISIBLE
progress_bottom.visibility = View.GONE
text_erro.visibility = View.GONE
include_layout_error.visibility = View.GONE
releasedLoad = true
}

private fun showLoading(isVisible: Boolean) {
progress_bar.visibility = if (isVisible) View.VISIBLE else View.GONE
include_layout_loading.visibility = if (isVisible) View.VISIBLE else View.GONE
}

private fun showError() {
text_erro.visibility = View.VISIBLE
include_layout_error.visibility = View.VISIBLE
progress_bottom.visibility = View.GONE
recycler_catalog.visibility = View.GONE

image_refresh_default.setOnClickListener {
ObjectAnimator.ofFloat(image_refresh_default, View.ROTATION, 0f, 360f).setDuration(300).start()
if (page > 2){
viewModel.fetchList(url, page-1)
} else {
page = 2
adapterItem.clear(itemList)
viewModel.fetchList(url)
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.example.mangavinek.catalog.presentation.view.activity
package com.example.mangavinek.feature.catalog.presentation.view.activity

import android.animation.ObjectAnimator
import android.app.SearchManager
import android.content.Context
import android.os.Bundle
Expand All @@ -11,16 +12,17 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.GridLayoutManager
import com.example.mangavinek.R
import com.example.mangavinek.catalog.presentation.view.adapter.CatalogAdapter
import com.example.mangavinek.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.core.constant.BASE_URL
import com.example.mangavinek.core.constant.BASE_URL_SEARCH
import com.example.mangavinek.core.helper.PaginationScroll
import com.example.mangavinek.core.helper.observeResource
import com.example.mangavinek.core.util.maxNumberGridLayout
import com.example.mangavinek.data.model.catalog.entity.CatalogResponse
import com.example.mangavinek.detail.presentation.view.activity.DetailActivity
import com.example.mangavinek.feature.catalog.presentation.view.adapter.CatalogAdapter
import com.example.mangavinek.feature.catalog.presentation.viewmodel.CatalogViewModel
import com.example.mangavinek.feature.detail.presentation.view.activity.DetailActivity
import kotlinx.android.synthetic.main.activity_search.*
import kotlinx.android.synthetic.main.layout_screen_error.*
import org.jetbrains.anko.startActivity
import org.koin.androidx.viewmodel.ext.android.viewModel

Expand All @@ -29,6 +31,7 @@ class SearchActivity : AppCompatActivity() {
private val adapterItem: CatalogAdapter by lazy {
CatalogAdapter(itemList) {
startActivity<DetailActivity>("url" to BASE_URL.plus(it.link))
releasedLoad = true
}
}

Expand All @@ -39,7 +42,6 @@ class SearchActivity : AppCompatActivity() {
private var page: Int = 2
private var lastPage: Int = 0
private var url: String = ""
private var textType: String = ""

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -97,7 +99,7 @@ class SearchActivity : AppCompatActivity() {
}

override fun hideMoreItems() {
progress_bar.visibility = View.GONE
include_layout_loading.visibility = View.GONE
}
})
layoutManager = gridLayoutManager
Expand All @@ -117,6 +119,7 @@ class SearchActivity : AppCompatActivity() {
override fun onQueryTextSubmit(s: String): Boolean {
if (s.length > 1) {
url = String.format(BASE_URL_SEARCH, s)
include_layout_error.visibility = View.GONE
text_type.visibility = View.GONE
fetchViewModel(url)
}
Expand Down Expand Up @@ -145,27 +148,36 @@ class SearchActivity : AppCompatActivity() {
private fun showSuccess() {
recycler_search.visibility = View.VISIBLE
progress_bottom.visibility = View.GONE
include_layout_error.visibility = View.GONE
text_type.visibility = View.GONE
releasedLoad = true

if (itemList.isEmpty()) {
textType = "Esse título não existe."
text_type.visibility = View.VISIBLE
text_type.text = textType
text_type.text = getString(R.string.type_message_not_comic)
}
}

private fun showLoading(isVisible: Boolean) {
progress_bar.visibility = if (isVisible) View.VISIBLE else View.GONE
include_layout_loading.visibility = if (isVisible) View.VISIBLE else View.GONE
}

private fun showError() {
text_type.visibility = View.VISIBLE
include_layout_error.visibility = View.VISIBLE
text_type.visibility = View.GONE
progress_bottom.visibility = View.GONE
recycler_search.visibility = View.GONE

textType = "Error."
text_type.text = textType
image_refresh_default.setOnClickListener {
ObjectAnimator.ofFloat(image_refresh_default, View.ROTATION, 0f, 360f).setDuration(300).start()
if (page > 2){
viewModel.fetchList(url, page-1)
} else {
page = 2
adapterItem.clear(itemList)
viewModel.fetchList(url)
}
}
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.mangavinek.catalog.presentation.view.adapter
package com.example.mangavinek.feature.catalog.presentation.view.adapter

import android.view.LayoutInflater
import android.view.View
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.example.mangavinek.catalog.presentation.viewmodel
package com.example.mangavinek.feature.catalog.presentation.viewmodel

import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.example.mangavinek.catalog.repository.CatalogRepository
import com.example.mangavinek.feature.catalog.repository.CatalogRepository
import com.example.mangavinek.core.base.BaseViewModel
import com.example.mangavinek.core.helper.Resource
import com.example.mangavinek.data.model.catalog.entity.CatalogResponse
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.mangavinek.catalog.repository
package com.example.mangavinek.feature.catalog.repository

import com.example.mangavinek.data.model.catalog.entity.CatalogResponse
import com.example.mangavinek.data.model.catalog.entity.getItems
Expand Down
Loading

0 comments on commit a3b2525

Please sign in to comment.