Write an app that finds your current location then displays the map so that it is always oriented to what's ahead of you (known as "course up" to sailors, and only wimpy sailors use course up, which means this app is not for real sailors :-). You must be able to move to a new location, but update the location on the map only if you have moved at least 1000m (see Location.distanceBetween).
To rotate the map when the app detects an orientation change, use a CameraPosition.Builder to build a CameraPosition that sets your current location, a zoom of 15, a tilt of 60 degrees, and a bearing to the direction you are facing. Then use the moveCamera method, creating the argument using CameraUpdateFactory.newCameraPosition to create the necessary CameraUpdate object.
Use best practices for all aspects of the code!