summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Holly Jiuyu Sun <jiuyu@google.com> 2018-01-18 04:14:54 +0000
committer android-build-merger <android-build-merger@google.com> 2018-01-18 04:14:54 +0000
commitbeacd5e4facb9ea34cb28e83d6569b7b62ca02a7 (patch)
tree1b149e8d6e4bc5e13886ed3d821ab6fdc5266a13
parent1ed2bee762f5eb8c9d157d657104211dca2d2890 (diff)
parentf07319a6dff874a1b7747afc5f2d2b846dbf3205 (diff)
Merge "Add APIs to EuiccCardManager." am: a5bc474e2c
am: f07319a6df Change-Id: I71b5ea764f306a8a852f08a99f6a7247109e3511
-rw-r--r--Android.bp9
-rw-r--r--Android.mk3
-rw-r--r--telephony/java/android/telephony/euicc/EuiccCardManager.java237
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl23
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl25
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl23
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl21
-rw-r--r--telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl23
13 files changed, 467 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp
index 56962b24da3d..4d781125f56a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -514,19 +514,28 @@ java_library {
"telephony/java/com/android/internal/telephony/IWapPushManager.aidl",
"telephony/java/com/android/internal/telephony/euicc/IAuthenticateServerCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ICancelSessionCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl",
"telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetAllProfilesCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccChallengeCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo1Callback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetEuiccInfo2Callback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IGetRulesAuthTableCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IListNotificationsCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/ILoadBoundProfilePackageCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IPrepareDownloadCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRemoveNotificationFromListCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationCallback.aidl",
"telephony/java/com/android/internal/telephony/euicc/IRetrieveNotificationListCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl",
+ "telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl",
"wifi/java/android/net/wifi/IWifiManager.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl",
"wifi/java/android/net/wifi/aware/IWifiAwareManager.aidl",
diff --git a/Android.mk b/Android.mk
index cf6aa2a0c298..7d5afcdd45b8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -698,4 +698,5 @@ ifeq (,$(ONE_SHOT_MAKEFILE))
include $(call first-makefiles-under,$(LOCAL_PATH))
endif
-endif # ANDROID_BUILD_EMBEDDED \ No newline at end of file
+endif # ANDROID_BUILD_EMBEDDED
+
diff --git a/telephony/java/android/telephony/euicc/EuiccCardManager.java b/telephony/java/android/telephony/euicc/EuiccCardManager.java
index 6975354c8af1..b9ed0059a39a 100644
--- a/telephony/java/android/telephony/euicc/EuiccCardManager.java
+++ b/telephony/java/android/telephony/euicc/EuiccCardManager.java
@@ -25,18 +25,27 @@ import android.util.Log;
import com.android.internal.telephony.euicc.IAuthenticateServerCallback;
import com.android.internal.telephony.euicc.ICancelSessionCallback;
+import com.android.internal.telephony.euicc.IDeleteProfileCallback;
+import com.android.internal.telephony.euicc.IDisableProfileCallback;
import com.android.internal.telephony.euicc.IEuiccCardController;
import com.android.internal.telephony.euicc.IGetAllProfilesCallback;
+import com.android.internal.telephony.euicc.IGetDefaultSmdpAddressCallback;
import com.android.internal.telephony.euicc.IGetEuiccChallengeCallback;
import com.android.internal.telephony.euicc.IGetEuiccInfo1Callback;
import com.android.internal.telephony.euicc.IGetEuiccInfo2Callback;
+import com.android.internal.telephony.euicc.IGetProfileCallback;
import com.android.internal.telephony.euicc.IGetRulesAuthTableCallback;
+import com.android.internal.telephony.euicc.IGetSmdsAddressCallback;
import com.android.internal.telephony.euicc.IListNotificationsCallback;
import com.android.internal.telephony.euicc.ILoadBoundProfilePackageCallback;
import com.android.internal.telephony.euicc.IPrepareDownloadCallback;
import com.android.internal.telephony.euicc.IRemoveNotificationFromListCallback;
+import com.android.internal.telephony.euicc.IResetMemoryCallback;
import com.android.internal.telephony.euicc.IRetrieveNotificationCallback;
import com.android.internal.telephony.euicc.IRetrieveNotificationListCallback;
+import com.android.internal.telephony.euicc.ISetDefaultSmdpAddressCallback;
+import com.android.internal.telephony.euicc.ISetNicknameCallback;
+import com.android.internal.telephony.euicc.ISwitchToProfileCallback;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -80,6 +89,24 @@ public class EuiccCardManager {
*/
public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3;
+ /** Options for resetting eUICC memory */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = true, prefix = { "RESET_OPTION_" }, value = {
+ RESET_OPTION_DELETE_OPERATIONAL_PROFILES,
+ RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES,
+ RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS
+ })
+ public @interface ResetOption {}
+
+ /** Deletes all operational profiles. */
+ public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1;
+
+ /** Deletes all field-loaded testing profiles. */
+ public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 1 << 1;
+
+ /** Resets the default SM-DP+ address. */
+ public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 1 << 2;
+
/** Result code of execution with no error. */
public static final int RESULT_OK = 0;
@@ -115,7 +142,7 @@ public class EuiccCardManager {
/**
* Gets all the profiles on eUicc.
*
- * @param callback the callback to get the result code and all the profiles.
+ * @param callback The callback to get the result code and all the profiles.
*/
public void getAllProfiles(ResultCallback<EuiccProfileInfo[]> callback) {
try {
@@ -133,6 +160,214 @@ public class EuiccCardManager {
}
/**
+ * Gets the profile of the given iccid.
+ *
+ * @param iccid The iccid of the profile.
+ * @param callback The callback to get the result code and profile.
+ */
+ public void getProfile(String iccid, ResultCallback<EuiccProfileInfo> callback) {
+ try {
+ getIEuiccCardController().getProfile(mContext.getOpPackageName(), iccid,
+ new IGetProfileCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode, EuiccProfileInfo profile) {
+ callback.onComplete(resultCode, profile);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling getProfile", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Disables the profile of the given iccid.
+ *
+ * @param iccid The iccid of the profile.
+ * @param refresh Whether sending the REFRESH command to modem.
+ * @param callback The callback to get the result code.
+ */
+ public void disableProfile(String iccid, boolean refresh, ResultCallback<Void> callback) {
+ try {
+ getIEuiccCardController().disableProfile(mContext.getOpPackageName(), iccid, refresh,
+ new IDisableProfileCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode) {
+ callback.onComplete(resultCode, null);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling disableProfile", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Switches from the current profile to another profile. The current profile will be disabled
+ * and the specified profile will be enabled.
+ *
+ * @param iccid The iccid of the profile to switch to.
+ * @param refresh Whether sending the REFRESH command to modem.
+ * @param callback The callback to get the result code and the EuiccProfileInfo enabled.
+ */
+ public void switchToProfile(String iccid, boolean refresh,
+ ResultCallback<EuiccProfileInfo> callback) {
+ try {
+ getIEuiccCardController().switchToProfile(mContext.getOpPackageName(), iccid, refresh,
+ new ISwitchToProfileCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode, EuiccProfileInfo profile) {
+ callback.onComplete(resultCode, profile);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling switchToProfile", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Gets the EID of the eUICC.
+ *
+ * @return The EID.
+ */
+ public String getEid() {
+ try {
+ return getIEuiccCardController().getEid();
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling getEid", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Sets the nickname of the profile of the given iccid.
+ *
+ * @param iccid The iccid of the profile.
+ * @param nickname The nickname of the profile.
+ * @param callback The callback to get the result code.
+ */
+ public void setNickname(String iccid, String nickname, ResultCallback<Void> callback) {
+ try {
+ getIEuiccCardController().setNickname(mContext.getOpPackageName(), iccid, nickname,
+ new ISetNicknameCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode) {
+ callback.onComplete(resultCode, null);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling setNickname", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Deletes the profile of the given iccid from eUICC.
+ *
+ * @param iccid The iccid of the profile.
+ * @param callback The callback to get the result code.
+ */
+ public void deleteProfile(String iccid, ResultCallback<Void> callback) {
+ try {
+ getIEuiccCardController().deleteProfile(mContext.getOpPackageName(), iccid,
+ new IDeleteProfileCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode) {
+ callback.onComplete(resultCode, null);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling deleteProfile", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Resets the eUICC memory.
+ *
+ * @param options Bits of the options of resetting which parts of the eUICC memory. See
+ * EuiccCard for details.
+ * @param callback The callback to get the result code.
+ */
+ public void resetMemory(@ResetOption int options, ResultCallback<Void> callback) {
+ try {
+ getIEuiccCardController().resetMemory(mContext.getOpPackageName(), options,
+ new IResetMemoryCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode) {
+ callback.onComplete(resultCode, null);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling resetMemory", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Gets the default SM-DP+ address from eUICC.
+ *
+ * @param callback The callback to get the result code and the default SM-DP+ address.
+ */
+ public void getDefaultSmdpAddress(ResultCallback<String> callback) {
+ try {
+ getIEuiccCardController().getDefaultSmdpAddress(mContext.getOpPackageName(),
+ new IGetDefaultSmdpAddressCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode, String address) {
+ callback.onComplete(resultCode, address);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling getDefaultSmdpAddress", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Gets the SM-DS address from eUICC.
+ *
+ * @param callback The callback to get the result code and the SM-DS address.
+ */
+ public void getSmdsAddress(ResultCallback<String> callback) {
+ try {
+ getIEuiccCardController().getSmdsAddress(mContext.getOpPackageName(),
+ new IGetSmdsAddressCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode, String address) {
+ callback.onComplete(resultCode, address);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling getSmdsAddress", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Sets the default SM-DP+ address of eUICC.
+ *
+ * @param defaultSmdpAddress The default SM-DP+ address to set.
+ * @param callback The callback to get the result code.
+ */
+ public void setDefaultSmdpAddress(String defaultSmdpAddress, ResultCallback<Void> callback) {
+ try {
+ getIEuiccCardController().setDefaultSmdpAddress(mContext.getOpPackageName(),
+ defaultSmdpAddress,
+ new ISetDefaultSmdpAddressCallback.Stub() {
+ @Override
+ public void onComplete(int resultCode) {
+ callback.onComplete(resultCode, null);
+ }
+ });
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error calling setDefaultSmdpAddress", e);
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Gets Rules Authorisation Table.
*
* @param callback the callback to get the result code and the rule authorisation table.
diff --git a/telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl
new file mode 100644
index 000000000000..23a642e8167f
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IDeleteProfileCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface IDeleteProfileCallback {
+ void onComplete(int resultCode);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl
new file mode 100644
index 000000000000..3ee0b3a0fb69
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IDisableProfileCallback.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+import android.service.euicc.EuiccProfileInfo;
+
+/** @hide */
+oneway interface IDisableProfileCallback {
+ void onComplete(int resultCode);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl b/telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl
index ba9b05e2654f..abc55c77cc1f 100644
--- a/telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl
+++ b/telephony/java/com/android/internal/telephony/euicc/IEuiccCardController.aidl
@@ -17,6 +17,15 @@
package com.android.internal.telephony.euicc;
import com.android.internal.telephony.euicc.IGetAllProfilesCallback;
+import com.android.internal.telephony.euicc.IGetProfileCallback;
+import com.android.internal.telephony.euicc.IDisableProfileCallback;
+import com.android.internal.telephony.euicc.ISwitchToProfileCallback;
+import com.android.internal.telephony.euicc.ISetNicknameCallback;
+import com.android.internal.telephony.euicc.IDeleteProfileCallback;
+import com.android.internal.telephony.euicc.IResetMemoryCallback;
+import com.android.internal.telephony.euicc.IGetDefaultSmdpAddressCallback;
+import com.android.internal.telephony.euicc.IGetSmdsAddressCallback;
+import com.android.internal.telephony.euicc.ISetDefaultSmdpAddressCallback;
import com.android.internal.telephony.euicc.IAuthenticateServerCallback;
import com.android.internal.telephony.euicc.ICancelSessionCallback;
import com.android.internal.telephony.euicc.IGetEuiccChallengeCallback;
@@ -33,6 +42,22 @@ import com.android.internal.telephony.euicc.IRetrieveNotificationListCallback;
/** @hide */
interface IEuiccCardController {
oneway void getAllProfiles(String callingPackage, in IGetAllProfilesCallback callback);
+ oneway void getProfile(String callingPackage, String iccid, in IGetProfileCallback callback);
+ oneway void disableProfile(String callingPackage, String iccid, boolean refresh,
+ in IDisableProfileCallback callback);
+ oneway void switchToProfile(String callingPackage, String iccid, boolean refresh,
+ in ISwitchToProfileCallback callback);
+ String getEid();
+ oneway void setNickname(String callingPackage, String iccid, String nickname,
+ in ISetNicknameCallback callback);
+ oneway void deleteProfile(String callingPackage, String iccid,
+ in IDeleteProfileCallback callback);
+ oneway void resetMemory(String callingPackage, int options, in IResetMemoryCallback callback);
+ oneway void getDefaultSmdpAddress(String callingPackage,
+ in IGetDefaultSmdpAddressCallback callback);
+ oneway void getSmdsAddress(String callingPackage, in IGetSmdsAddressCallback callback);
+ oneway void setDefaultSmdpAddress(String callingPackage, String address,
+ in ISetDefaultSmdpAddressCallback callback);
oneway void getRulesAuthTable(String callingPackage, in IGetRulesAuthTableCallback callback);
oneway void getEuiccChallenge(String callingPackage, in IGetEuiccChallengeCallback callback);
oneway void getEuiccInfo1(String callingPackage, in IGetEuiccInfo1Callback callback);
diff --git a/telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl
new file mode 100644
index 000000000000..79b659d9316d
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface IGetDefaultSmdpAddressCallback {
+ void onComplete(int resultCode, String address);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl
new file mode 100644
index 000000000000..e9fc9e9d5e6e
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IGetProfileCallback.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+import android.service.euicc.EuiccProfileInfo;
+
+/** @hide */
+oneway interface IGetProfileCallback {
+ void onComplete(int resultCode, in EuiccProfileInfo profile);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl
new file mode 100644
index 000000000000..09a83aab3200
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IGetSmdsAddressCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface IGetSmdsAddressCallback {
+ void onComplete(int resultCode, String address);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl
new file mode 100644
index 000000000000..860c158e2b70
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/IResetMemoryCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface IResetMemoryCallback {
+ void onComplete(int resultCode);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl
new file mode 100644
index 000000000000..1e47125123ee
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface ISetDefaultSmdpAddressCallback {
+ void onComplete(int resultCode);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl
new file mode 100644
index 000000000000..589998069d92
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/ISetNicknameCallback.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+/** @hide */
+oneway interface ISetNicknameCallback {
+ void onComplete(int resultCode);
+}
diff --git a/telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl b/telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl
new file mode 100644
index 000000000000..21ff0848f65e
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/euicc/ISwitchToProfileCallback.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2018 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 com.android.internal.telephony.euicc;
+
+import android.service.euicc.EuiccProfileInfo;
+
+/** @hide */
+oneway interface ISwitchToProfileCallback {
+ void onComplete(int resultCode, in EuiccProfileInfo profile);
+}