1af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock/* 2af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Copyright (C) 2014 The Android Open Source Project 3af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 4af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Licensed under the Apache License, Version 2.0 (the "License"); 5af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * you may not use this file except in compliance with the License. 6af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * You may obtain a copy of the License at 7af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 8af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * http://www.apache.org/licenses/LICENSE-2.0 9af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * 10af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * Unless required by applicable law or agreed to in writing, software 11af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * distributed under the License is distributed on an "AS IS" BASIS, 12af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * See the License for the specific language governing permissions and 14af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock * limitations under the License. 15af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock */ 16af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 17af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlockpackage com.android.systemui.statusbar.policy; 18af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 191e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlockimport java.util.Set; 201e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock 21af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlockpublic interface CastController { 22af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock void addCallback(Callback callback); 23af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock void removeCallback(Callback callback); 24af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock void setDiscovering(boolean request); 25af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock void setCurrentUserId(int currentUserId); 261e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock Set<CastDevice> getCastDevices(); 271e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock void startCasting(CastDevice device); 2878b8c8fbde12b214314cc2ab2644350b5d5189a5John Spurlock void stopCasting(CastDevice device); 29af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock 30af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock public interface Callback { 311e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock void onCastDevicesChanged(); 321e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock } 331e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock 341e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public static final class CastDevice { 351e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public static final int STATE_DISCONNECTED = 0; 361e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public static final int STATE_CONNECTING = 1; 371e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public static final int STATE_CONNECTED = 2; 381e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock 391e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public String id; 401e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public String name; 411e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public String description; 421e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public int state = STATE_DISCONNECTED; 431e6eb17a22056529601c8e413c2da0541d59d93bJohn Spurlock public Object tag; 44af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock } 45af8d6c44f06d2f8baac2c5774a9efdae3fc36797John Spurlock} 46