diff options
Diffstat (limited to 'telecomm/java/android')
-rw-r--r-- | telecomm/java/android/telecom/InCallService.java | 19 | ||||
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 18 |
2 files changed, 35 insertions, 2 deletions
diff --git a/telecomm/java/android/telecom/InCallService.java b/telecomm/java/android/telecom/InCallService.java index fb985ce..0f8ac63 100644 --- a/telecomm/java/android/telecom/InCallService.java +++ b/telecomm/java/android/telecom/InCallService.java @@ -39,7 +39,24 @@ import java.util.List; /** * This service is implemented by any app that wishes to provide the user-interface for managing * phone calls. Telecom binds to this service while there exists a live (active or incoming) call, - * and uses it to notify the in-call app of any live and and recently disconnected calls. + * and uses it to notify the in-call app of any live and recently disconnected calls. An app must + * first be set as the default phone app (See {@link TelecomManager#getDefaultDialerPackage()}) + * before the telecom service will bind to its {@code InCallService} implementation. + * <p> + * Below is an example manifest registration for an {@code InCallService}. The meta-data + * ({@link TelecomManager#METADATA_IN_CALL_SERVICE_UI}) indicates that this particular + * {@code InCallService} implementation intends to replace the built-in in-call UI. + * <pre> + * {@code + * <service android:name="your.package.YourInCallServiceImplementation" + * android:permission="android.permission.BIND_IN_CALL_SERVICE"> + * <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" /> + * <intent-filter> + * <action android:name="android.telecom.InCallService"/> + * </intent-filter> + * </service> + * } + * </pre> */ public abstract class InCallService extends Service { diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index a0669e4..11f206a 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -187,7 +187,7 @@ public class TelecomManager { * Optional extra for {@link android.content.Intent#ACTION_CALL} and * {@link android.content.Intent#ACTION_DIAL} {@code Intent} containing a {@link Bundle} * which contains metadata about the call. This {@link Bundle} will be saved into - * {@code Call.Details}. + * {@code Call.Details} and passed to the {@link ConnectionService} when placing the call. */ public static final String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS"; @@ -256,6 +256,14 @@ public class TelecomManager { public static final String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER"; /** + * A boolean meta-data value indicating whether an {@link InCallService} implements an + * in-call user interface. Dialer implementations (see {@link #getDefaultDialerPackage()}) which + * would also like to replace the in-call interface should set this meta-data to {@code true} in + * the manifest registration of their {@link InCallService}. + */ + public static final String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI"; + + /** * The dual tone multi-frequency signaling character sent to indicate the dialing system should * pause for a predefined period. */ @@ -1166,6 +1174,14 @@ public class TelecomManager { * telecomManager.placeCall(uri, extras); * </pre> * + * The following keys are supported in the supplied extras. + * <ul> + * <li>{@link #EXTRA_OUTGOING_CALL_EXTRAS}</li> + * <li>{@link #EXTRA_PHONE_ACCOUNT_HANDLE}</li> + * <li>{@link #EXTRA_START_CALL_WITH_SPEAKERPHONE}</li> + * <li>{@link #EXTRA_START_CALL_WITH_VIDEO_STATE}</li> + * </ul> + * * @param address The address to make the call to. * @param extras Bundle of extras to use with the call. */ |