Conception of an application with login
===

Say I have 4 Activities: `Login`, `Sync`, `Main`, `Details`.

`Main` and `Details` can only be accessed if the user is logged in and passed the synchronization phase. `Main` can be accessed from an icon on the drawer. `Details` can be accessed from `Main` and from the notifications. 

The user is logged off after 30 minutes of inactivity (with a timer on a Service).

I am not sure which way I should take to make sure the user is logged in. Here are my two scenarios:

 - The icon launches `Login` which checks if the user is logged in, then launches `Synch`, which does the same and launches `Main`.
 - The icon launchs `Main` which checks is the user is logged in, if not, launch `Login`. `Login` closes itself to show `Main` that was on the back stack.

And then there is also `Details` that needs to checks if the user is logged in.

The second scenario seems more correct to me, because it allows to launch other Activities than `Main`, but it will force me to duplicate the check code in every Activity that needs to have the user logged in. (I have more than 2 activities).

Why way should I take? Why?