Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make app exit on back press when events screen is opened from the welcome screen #1098

Merged
merged 3 commits into from Feb 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -10,18 +10,15 @@ import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_main.navigation
import kotlinx.android.synthetic.main.activity_main.navigationAuth
import kotlinx.android.synthetic.main.activity_main.mainFragmentCoordinatorLayout
import org.fossasia.openevent.general.data.Preference
import org.fossasia.openevent.general.search.RC_CREDENTIALS_READ
import org.fossasia.openevent.general.search.RC_CREDENTIALS_SAVE
import org.fossasia.openevent.general.search.SAVED_LOCATION
import org.fossasia.openevent.general.search.SmartAuthViewModel
import org.fossasia.openevent.general.utils.Utils.navAnimGone
import org.fossasia.openevent.general.utils.Utils.navAnimVisible

class MainActivity : AppCompatActivity() {
private lateinit var navController: NavController
private var currentFragmentId: Int = 0
private val preference = Preference()

override fun onCreate(savedInstanceState: Bundle?) {
setTheme(R.style.AppTheme)
Expand All @@ -33,9 +30,6 @@ class MainActivity : AppCompatActivity() {
navController = hostFragment.navController
setupBottomNavigationMenu(navController)

if (preference.getString(SAVED_LOCATION).isNullOrEmpty())
navController.navigate(R.id.welcomeFragment)

navController.addOnDestinationChangedListener { _, destination, _ ->
currentFragmentId = destination.id
handleNavigationVisibility(currentFragmentId)
Expand Down
Expand Up @@ -24,6 +24,8 @@ import kotlinx.android.synthetic.main.fragment_events.view.progressBar
import kotlinx.android.synthetic.main.fragment_events.view.shimmerEvents
import kotlinx.android.synthetic.main.fragment_events.view.swiperefresh
import org.fossasia.openevent.general.R
import org.fossasia.openevent.general.data.Preference
import org.fossasia.openevent.general.search.SAVED_LOCATION
import org.fossasia.openevent.general.utils.Utils.getAnimFade
import org.fossasia.openevent.general.utils.Utils.getAnimSlide
import org.fossasia.openevent.general.utils.extensions.nonNull
Expand All @@ -39,6 +41,7 @@ class EventsFragment : Fragment() {
private val eventsRecyclerAdapter: EventsRecyclerAdapter = EventsRecyclerAdapter()
private val eventsViewModel by viewModel<EventsViewModel>()
private lateinit var rootView: View
private val preference = Preference()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -52,6 +55,10 @@ class EventsFragment : Fragment() {
): View? {
rootView = inflater.inflate(R.layout.fragment_events, container, false)

if (preference.getString(SAVED_LOCATION).isNullOrEmpty()) {
findNavController(requireActivity(), R.id.frameContainer).navigate(R.id.welcomeFragment)
}

val thisActivity = activity
if (thisActivity is AppCompatActivity) {
thisActivity.supportActionBar?.show()
Expand Down
Expand Up @@ -91,6 +91,6 @@ class WelcomeFragment : Fragment() {
}

private fun redirectToMain() {
Navigation.findNavController(rootView).navigate(R.id.eventsFragment, null, Utils.getAnimSlide())
Navigation.findNavController(rootView).popBackStack()
}
}