blob: 996dc9e20545fc60c960df54f3d65bcb3a57c77e [file] [log] [blame]
/*
* Copyright (C) 2017 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 android.car.cluster.renderer;
import android.graphics.Rect;
import android.os.Bundle;
/**
* This interface defines the communication channel between the cluster vendor implementation and
* Car Service.
*
* @hide
*/
interface IInstrumentClusterCallback {
/**
* Notify Car Service how to launch an activity for particular category.
*
* @param category cluster activity category,
* see {@link android.car.cluster.CarInstrumentClusterManager} for details.
* @param activityOptions this bundle will be converted to {@link android.app.ActivityOptions}
* and used when starting an activity. It may contain information such as virtual display
* id or activity stack id where to start cluster activity.
*
* @hide
*/
void setClusterActivityLaunchOptions(String category, in Bundle activityOptions);
/**
* Activities launched on virtual display will be in onPause state most of the time, so they
* can't really know whether they visible on the screen or not. We need to propagate this
* information along with unobscured bounds (and possible other info) from instrument cluster
* vendor implementation to activity.
*
* @param category cluster activity category to which this state applies,
* see {@link android.car.cluster.CarInstrumentClusterManager} for details.
* @param clusterActivityState is a {@link Bundle} object,
* see {@link android.car.cluster.ClusterActivityState} for how to construct the bundle.
* @hide
*/
void setClusterActivityState(String category, in Bundle clusterActivityState);
}