Skip to content

Commit

Permalink
Visual adjustments: light and dark_mode toolbar logo setting
Browse files Browse the repository at this point in the history
Inspect code adjustments
Added creen rotation layouts
  • Loading branch information
manununhez committed Dec 2, 2020
1 parent 034dc84 commit f21d7ed
Show file tree
Hide file tree
Showing 45 changed files with 771 additions and 368 deletions.
4 changes: 2 additions & 2 deletions app/src/androidTest/java/today/kinema/BottomNavigationTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ private fun assertDeeperSecondScreen() {

private fun assertDeeperFirstScreen() {
onView(withId(R.id.toolbar))
.check(matches(hasDescendant(withText(R.string.movie_details_title))));
.check(matches(hasDescendant(withText(R.string.movie_details_title))))
}

private fun openFirstScreen() {
Expand All @@ -244,7 +244,7 @@ private fun openThirdScreen() {

private fun assertThirdScreen() {
onView(withId(R.id.toolbar))
.check(matches(hasDescendant(withText(R.string.filter_title))));
.check(matches(hasDescendant(withText(R.string.filter_title))))

}

Expand Down
9 changes: 3 additions & 6 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--networkSecurityConfig fix error: "HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.1.10 not permitted by network security policy"-->
<!--networkSecurityConfig fix error: "HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.1.10 not permitted by network security policy"-->
<application
android:name=".CinemaPLApplication"
android:allowBackup="true"
Expand All @@ -15,7 +15,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/CinePL.Metropolis">
<activity android:name=".SplashScreenActivity">
<activity
android:name=".SplashScreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Expand All @@ -26,9 +27,5 @@
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ object KinemaTypeConverters {
***********/
@TypeConverter
@JvmStatic //fix this: https://stackoverflow.com/questions/51438926/typeconverter-has-private-access-in-typeconverter-error-with-room-in-android
fun toMovie(data: String?): Movie? = gson.fromJson<Movie>(data, Movie::class.java)
fun toMovie(data: String?): Movie? = gson.fromJson(data, Movie::class.java)


@TypeConverter
Expand Down
36 changes: 30 additions & 6 deletions app/src/main/java/today/kinema/ui/filter/FilterFragment.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package today.kinema.ui.filter

import android.content.res.Configuration
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.content.res.AppCompatResources
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.google.android.material.transition.MaterialSharedAxis
Expand Down Expand Up @@ -43,14 +45,36 @@ class FilterFragment : Fragment() {
): View? {

binding = FragmentFilterBinding.inflate(inflater, container, false)
// .apply {
// toolbar.setNavigationOnClickListener {

setupToolbar()

return binding.root
}

private fun setupToolbar() {
binding.toolbar.apply {
title = resources.getString(R.string.filter_title)

when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_NO -> { // Night mode is not active, we're using the light theme
logo =
AppCompatResources.getDrawable(
requireContext(),
R.drawable.ic_kinema_toolbar
)
}
Configuration.UI_MODE_NIGHT_YES -> { // Night mode is active, we're using dark theme
logo = AppCompatResources.getDrawable(
requireContext(),
R.drawable.ic_kinema_toolbar_dark
)
}
}

// setNavigationOnClickListener {
// findNavController().navigateUp()
// }
// toolbar.title = resources.getString(R.string.filter_title)
//
// }
return binding.root
}
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
Expand Down
37 changes: 26 additions & 11 deletions app/src/main/java/today/kinema/ui/movie/MovieFragment.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package today.kinema.ui.movie

import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar
import androidx.appcompat.content.res.AppCompatResources.getDrawable
import androidx.core.view.doOnPreDraw
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
Expand All @@ -26,7 +26,7 @@ import today.kinema.vo.Movie
* A simple [Fragment] subclass as the default destination in the navigation.
*/
@AndroidEntryPoint
class MovieFragment : Fragment(), Toolbar.OnMenuItemClickListener {
class MovieFragment : Fragment() {
private lateinit var attributes: Attribute
private lateinit var binding: FragmentMovieBinding
private lateinit var movieListAdapter: MovieListAdapter
Expand All @@ -52,13 +52,35 @@ class MovieFragment : Fragment(), Toolbar.OnMenuItemClickListener {
): View? {

binding = FragmentMovieBinding.inflate(inflater, container, false)
binding.toolbar.setOnMenuItemClickListener(this)

setupToolbar()

sharedElementReturnTransition =
TransitionInflater.from(context).inflateTransition(R.transition.move)
return binding.root
}

private fun setupToolbar() {
binding.toolbar.apply {

when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_NO -> { // Night mode is not active, we're using the light theme
logo = getDrawable(requireContext(), R.drawable.ic_kinema_logo)
}
Configuration.UI_MODE_NIGHT_YES -> { // Night mode is active, we're using dark theme
logo = getDrawable(requireContext(), R.drawable.ic_kinema_logo_dark)
}
}
setOnMenuItemClickListener {
when (it?.itemId) {
R.id.sortMoviesMenu -> viewModelShared.onSortMovielistBtnClicked()
}
true
}
}

}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// Postpone enter transitions to allow shared element transitions to run.
// https://github.com/googlesamples/android-architecture-components/issues/495
Expand Down Expand Up @@ -157,13 +179,6 @@ class MovieFragment : Fragment(), Toolbar.OnMenuItemClickListener {

}

override fun onMenuItemClick(item: MenuItem?): Boolean {
when (item?.itemId) {
R.id.sortMoviesMenu -> viewModelShared.onSortMovielistBtnClicked()
}
return true
}

private fun navigateToMovieDetailsFragment(view: View, movie: Movie) {
// Set exit and reenter transitions here as opposed to in onCreate because these transitions
// will be set and overwritten on HomeFragment for other navigation actions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ class MovieDetailsFragment : Fragment() {
isCurrentMovieInWatchlist = it
binding.textWatchlist.apply {
text = if (it) {
setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_watchlist_btn, 0, 0)
setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_watchlist, 0, 0)
resources.getString(R.string.watchlist_added)
} else {
setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_watchlist_add, 0, 0)
Expand Down
54 changes: 37 additions & 17 deletions app/src/main/java/today/kinema/ui/watchlist/WatchlistFragment.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package today.kinema.ui.watchlist

import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.view.doOnPreDraw
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
Expand All @@ -21,7 +21,7 @@ import today.kinema.vo.Movie
import today.kinema.vo.WatchlistMovie

@AndroidEntryPoint
class WatchlistFragment : Fragment(), Toolbar.OnMenuItemClickListener {
class WatchlistFragment : Fragment() {
private lateinit var binding: FragmentWatchlistBinding
private lateinit var watchlistAdapter: WatchlistAdapter

Expand All @@ -46,17 +46,44 @@ class WatchlistFragment : Fragment(), Toolbar.OnMenuItemClickListener {
): View? {

binding = FragmentWatchlistBinding.inflate(inflater, container, false)
// .apply {
// toolbar.setNavigationOnClickListener {
// findNavController().navigateUp()
// }
// toolbar.title = resources.getString(R.string.watchlist_title)

// }
binding.toolbar.setOnMenuItemClickListener(this)
setupToolbar()

return binding.root
}

private fun setupToolbar() {
binding.toolbar.apply {
title = resources.getString(R.string.watchlist_title)

when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_NO -> { // Night mode is not active, we're using the light theme
logo =
AppCompatResources.getDrawable(
requireContext(),
R.drawable.ic_kinema_toolbar
)
}
Configuration.UI_MODE_NIGHT_YES -> { // Night mode is active, we're using dark theme
logo = AppCompatResources.getDrawable(
requireContext(),
R.drawable.ic_kinema_toolbar_dark
)
}
}
setOnMenuItemClickListener {
when (it?.itemId) {
R.id.sortWatchlistMenu -> viewModelShared.onSortMovieWatchlistBtnClicked()
}
true
}

// setNavigationOnClickListener {
// findNavController().navigateUp()
// }
}
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// Postpone enter transitions to allow shared element transitions to run.
// https://github.com/googlesamples/android-architecture-components/issues/495
Expand Down Expand Up @@ -127,11 +154,4 @@ class WatchlistFragment : Fragment(), Toolbar.OnMenuItemClickListener {
findNavController().navigate(WatchlistFragmentDirections.showDetailsMovie(movie))
}
}

override fun onMenuItemClick(item: MenuItem?): Boolean {
when (item?.itemId) {
R.id.sortWatchlistMenu -> viewModelShared.onSortMovieWatchlistBtnClicked()
}
return true
}
}
2 changes: 1 addition & 1 deletion app/src/main/res/drawable/ic_calendar.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorOnPrimary"
android:tint="?attr/colorSecondary"
android:viewportWidth="24"
android:viewportHeight="24">
<path
Expand Down
Loading

0 comments on commit f21d7ed

Please sign in to comment.