NavigationManagerCallback.java
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.car.app.navigation;
import androidx.car.app.CarContext;
import androidx.car.app.navigation.model.Trip;
/**
* Callback for events from the {@link NavigationManager}.
*
* @see NavigationManager
*/
public interface NavigationManagerCallback {
/**
* Notifies the app to stop active navigation, which may occurs when another source such as the
* car head unit starts navigating.
*
* <p>When receiving this callback, the app must stop all routing including navigation voice
* guidance, routing-related notifications, and updating trip information via {@link
* NavigationManager#updateTrip(Trip)}.
*/
default void onStopNavigation() {
}
/**
* Notifies the app that, from this point onwards, when the user chooses to navigate to a
* destination, the app should start simulating a drive towards that destination.
*
* <p>This mode should remain active until {@link CarContext#finishCarApp()} is called.
*
* <p>This functionality is used to allow verifying the app's navigation capabilities without
* being in an actual car.
*/
default void onAutoDriveEnabled() {
}
}