Merge "Make Conferenceable an abstract class" into mnc-dev
diff --git a/api/current.txt b/api/current.txt
index dcce5f4..fbb6554 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -30051,7 +30051,7 @@
     field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
   }
 
-  public abstract class Conference implements android.telecom.Conferenceable {
+  public abstract class Conference extends android.telecom.Conferenceable {
     ctor public Conference(android.telecom.PhoneAccountHandle);
     method public final boolean addConnection(android.telecom.Connection);
     method public final void destroy();
@@ -30090,10 +30090,10 @@
     field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
   }
 
-  public abstract interface Conferenceable {
+  public abstract class Conferenceable {
   }
 
-  public abstract class Connection implements android.telecom.Conferenceable {
+  public abstract class Connection extends android.telecom.Conferenceable {
     ctor public Connection();
     method public static java.lang.String capabilitiesToString(int);
     method public static android.telecom.Connection createCanceledConnection();
diff --git a/api/system-current.txt b/api/system-current.txt
index d0ce53a..07fb2d7 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -32204,7 +32204,7 @@
     field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
   }
 
-  public abstract class Conference implements android.telecom.Conferenceable {
+  public abstract class Conference extends android.telecom.Conferenceable {
     ctor public Conference(android.telecom.PhoneAccountHandle);
     method public final boolean addConnection(android.telecom.Connection);
     method public final void destroy();
@@ -32248,10 +32248,10 @@
     field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
   }
 
-  public abstract interface Conferenceable {
+  public abstract class Conferenceable {
   }
 
-  public abstract class Connection implements android.telecom.Conferenceable {
+  public abstract class Connection extends android.telecom.Conferenceable {
     ctor public Connection();
     method public static java.lang.String capabilitiesToString(int);
     method public static android.telecom.Connection createCanceledConnection();
diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java
index d8d9ab6..dfbb67a 100644
--- a/telecomm/java/android/telecom/Conference.java
+++ b/telecomm/java/android/telecom/Conference.java
@@ -30,7 +30,7 @@
 /**
  * Represents a conference call which can contain any number of {@link Connection} objects.
  */
-public abstract class Conference implements Conferenceable {
+public abstract class Conference extends Conferenceable {
 
     /**
      * Used to indicate that the conference connection time is not specified.  If not specified,
diff --git a/telecomm/java/android/telecom/Conferenceable.java b/telecomm/java/android/telecom/Conferenceable.java
index 5c4cbc5..bb6f2b8 100644
--- a/telecomm/java/android/telecom/Conferenceable.java
+++ b/telecomm/java/android/telecom/Conferenceable.java
@@ -21,6 +21,6 @@
  * call with.  The {@link ConnectionService} implementation will only recognize
  * {@link Conferenceable}s which are {@link Connection}s or {@link Conference}s.
  */
-public interface Conferenceable {
-
+public abstract class Conferenceable {
+    Conferenceable() {}
 }
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index f39f813..fba4e6a 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -47,7 +47,7 @@
  * must call {@link #destroy()} to signal to the framework that the {@code Connection} is no
  * longer used and associated resources may be recovered.
  */
-public abstract class Connection implements Conferenceable {
+public abstract class Connection extends Conferenceable {
 
     public static final int STATE_INITIALIZING = 0;
 
diff --git a/telecomm/java/android/telecom/IConferenceable.java b/telecomm/java/android/telecom/IConferenceable.java
deleted file mode 100644
index a664baa..0000000
--- a/telecomm/java/android/telecom/IConferenceable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2014 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.telecom;
-
-/**
- * Interface used to identify entities with which another entity can participate in a conference
- * call with.  The {@link ConnectionService} implementation will only recognize
- * {@link Conferenceable}s which are {@link Connection}s or {@link Conference}s.
- * <p>
- * @deprecated use {@link Conferenceable} instead.
- * @hide
- */
-public interface IConferenceable extends Conferenceable {
-}