Skip to content

Commit

Permalink
Using include tag
Browse files Browse the repository at this point in the history
  • Loading branch information
sLee0306 committed Nov 29, 2023
1 parent a0acd06 commit 4641e8e
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 153 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,13 @@ import com.sample.android.tmdb.databinding.ActivityDetailBinding
import com.sample.android.tmdb.util.addFragmentToActivity
import dagger.android.support.DaggerFragment

abstract class BaseDetailActivity: BaseActivity() {
abstract class BaseDetailActivity : BaseActivity() {

private lateinit var binding: ActivityDetailBinding

override val networkStatusLayout: View
get() = binding.networkStatusLayout
override val networkStatusLayout: View by lazy { binding.itemContainer.networkStatusLayout }

override val textViewNetworkStatus: TextView
get() = binding.textViewNetworkStatus
override val textViewNetworkStatus: TextView by lazy { binding.itemContainer.textViewNetworkStatus }

protected abstract val fragment: DaggerFragment

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,9 @@ class FeedActivity : BaseNavTypeActivity() {
override val toolbar: Toolbar
get() = binding.toolbar

override val networkStatusLayout: View
get() = binding.networkStatusLayout
override val networkStatusLayout: View by lazy { binding.itemContainer.networkStatusLayout }

override val textViewNetworkStatus: TextView
get() = binding.textViewNetworkStatus
override val textViewNetworkStatus: TextView by lazy { binding.itemContainer.textViewNetworkStatus }

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import com.sample.android.tmdb.ui.base.BaseNavTypeActivity
import com.sample.android.tmdb.util.addFragmentToActivity
import com.sample.android.tmdb.util.setupActionBar

abstract class MainActivity<T: TmdbItem> : BaseNavTypeActivity() {
abstract class MainActivity<T : TmdbItem> : BaseNavTypeActivity() {

private lateinit var binding: ActivityMainBinding

Expand All @@ -23,11 +23,9 @@ abstract class MainActivity<T: TmdbItem> : BaseNavTypeActivity() {
override val toolbar: Toolbar
get() = binding.toolbar

override val networkStatusLayout: View
get() = binding.networkStatusLayout
override val networkStatusLayout: View by lazy { binding.itemContainer.networkStatusLayout }

override val textViewNetworkStatus: TextView
get() = binding.textViewNetworkStatus
override val textViewNetworkStatus: TextView by lazy { binding.itemContainer.textViewNetworkStatus }

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,17 @@ import com.sample.android.tmdb.databinding.ActivitySearchBinding
import com.sample.android.tmdb.ui.base.BaseActivity
import com.sample.android.tmdb.util.replaceFragmentInActivity

abstract class SearchActivity<T: TmdbItem> : BaseActivity() {
abstract class SearchActivity<T : TmdbItem> : BaseActivity() {

protected abstract val fragment: BaseSearchFragment<T>

protected abstract val hintId: Int

private lateinit var binding: ActivitySearchBinding

override val networkStatusLayout: View
get() = binding.networkStatusLayout
override val networkStatusLayout: View by lazy { binding.itemContainer.networkStatusLayout }

override val textViewNetworkStatus: TextView
get() = binding.textViewNetworkStatus
override val textViewNetworkStatus: TextView by lazy { binding.itemContainer.textViewNetworkStatus }

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -57,10 +55,10 @@ abstract class SearchActivity<T: TmdbItem> : BaseActivity() {

override fun onQueryTextChange(query: String): Boolean {
if (query.isNotEmpty()) {
fragmentContainer.visibility = View.VISIBLE
itemContainer.fragmentContainer.visibility = View.VISIBLE
fragment.search(query)
} else {
fragmentContainer.visibility = View.GONE
itemContainer.fragmentContainer.visibility = View.GONE
fragment.observeRefreshState()
}
return true
Expand Down
39 changes: 7 additions & 32 deletions app/src/main/res/layout/activity_detail.xml
Original file line number Diff line number Diff line change
@@ -1,41 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<layout xmlns:android="http://schemas.android.com/apk/res/android">

<androidx.constraintlayout.widget.ConstraintLayout
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:id="@+id/networkStatusLayout"
style="@style/StatusView"
<include
android:id="@+id/item_container"
layout="@layout/item_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:animateLayoutChanges="true"
android:background="@color/colorStatusNotConnected"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:layout_height="match_parent" />

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/textViewNetworkStatus"
style="@style/StatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/failed_network_msg"
tools:text="@string/failed_network_msg" />
</LinearLayout>

<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/networkStatusLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

</layout>
37 changes: 4 additions & 33 deletions app/src/main/res/layout/activity_feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,41 +29,12 @@

</com.google.android.material.appbar.AppBarLayout>

<androidx.constraintlayout.widget.ConstraintLayout
<include
android:id="@+id/item_container"
layout="@layout/item_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<LinearLayout
android:id="@+id/networkStatusLayout"
style="@style/StatusView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:animateLayoutChanges="true"
android:background="@color/colorStatusNotConnected"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/textViewNetworkStatus"
style="@style/StatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/failed_network_msg"
tools:text="@string/failed_network_msg" />
</LinearLayout>

<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/networkStatusLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Expand Down
37 changes: 4 additions & 33 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,41 +22,12 @@

</com.google.android.material.appbar.AppBarLayout>

<androidx.constraintlayout.widget.ConstraintLayout
<include
android:id="@+id/item_container"
layout="@layout/item_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<LinearLayout
android:id="@+id/networkStatusLayout"
style="@style/StatusView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:animateLayoutChanges="true"
android:background="@color/colorStatusNotConnected"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/textViewNetworkStatus"
style="@style/StatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/failed_network_msg"
tools:text="@string/failed_network_msg" />
</LinearLayout>

<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/networkStatusLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Expand Down
38 changes: 4 additions & 34 deletions app/src/main/res/layout/activity_search.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,42 +56,12 @@

</com.google.android.material.appbar.AppBarLayout>

<androidx.constraintlayout.widget.ConstraintLayout
<include
android:id="@+id/item_container"
layout="@layout/item_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<LinearLayout
android:id="@+id/networkStatusLayout"
style="@style/StatusView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:animateLayoutChanges="true"
android:background="@color/colorStatusNotConnected"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/textViewNetworkStatus"
style="@style/StatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/failed_network_msg"
tools:text="@string/failed_network_msg" />
</LinearLayout>

<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/networkStatusLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Expand Down
41 changes: 41 additions & 0 deletions app/src/main/res/layout/item_container.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<layout 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">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:id="@+id/networkStatusLayout"
style="@style/StatusView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:animateLayoutChanges="true"
android:background="@color/colorStatusNotConnected"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/textViewNetworkStatus"
style="@style/StatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/failed_network_msg"
tools:text="@string/failed_network_msg" />
</LinearLayout>

<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/networkStatusLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>

</layout>

0 comments on commit 4641e8e

Please sign in to comment.