Add the resetIms interface between framework and ImsService.

Add the resetIms interface between framework and ImsService.

Bug: b/268251541
Test: atest ImsEnablementTrackerTest
Test:
1. AT&T activated, Fi deactivated
2. AT&T activated, Fi activated
3. AT&T deactivated, Fi activated
4. AT&T activated, Fi activated
5. repeat from step 1

Merged-In: I0574091723aab1f6ab7406ae851cd44c11616f3e
Change-Id: I0574091723aab1f6ab7406ae851cd44c11616f3e
(cherry picked from commit 58f76c37a6)
This commit is contained in:
joonhunshin
2023-02-15 05:51:57 +00:00
committed by Joonhun Shin
parent 6e2dd42d12
commit 20f7fd985a
2 changed files with 27 additions and 1 deletions

View File

@@ -398,7 +398,11 @@ public class ImsService extends Service {
ImsService.this.disableImsForSubscription(slotId, subId), "disableIms");
}
@Override
public void resetIms(int slotId, int subId) {
executeMethodAsync(() ->
ImsService.this.resetImsInternal(slotId, subId), "resetIms");
}
};
private final IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
@@ -634,6 +638,14 @@ public class ImsService extends Service {
}
}
private void resetImsInternal(int slotId, int subId) {
try {
resetIms(slotId);
} catch (UnsupportedOperationException e) {
disableImsForSubscription(slotId, subId);
}
}
/**
* When called, provide the {@link ImsFeatureConfiguration} that this {@link ImsService}
* currently supports. This will trigger the framework to set up the {@link ImsFeature}s that
@@ -750,6 +762,19 @@ public class ImsService extends Service {
public void disableIms(int slotId) {
}
/**
* The framework has reset IMS for the slot specified. The ImsService must deregister
* and release all resources for IMS. After resetIms is called, either
* {@link #enableImsForSubscription(int, int)} or {@link #disableImsForSubscription(int, int)}
* will be called for the same slotId.
*
* @param slotId The slot ID that IMS will be reset for.
* @hide
*/
public void resetIms(int slotId) {
throw new UnsupportedOperationException();
}
/**
* When called, the framework is requesting that a new {@link MmTelFeature} is created for the
* specified subscription.

View File

@@ -47,4 +47,5 @@ interface IImsServiceController {
ISipTransport getSipTransport(int slotId);
oneway void enableIms(int slotId, int subId);
oneway void disableIms(int slotId, int subId);
oneway void resetIms(int slotId, int subId);
}