Merge "Add the resetIms interface between framework and ImsService." into udc-dev
This commit is contained in:
@@ -398,7 +398,11 @@ public class ImsService extends Service {
|
|||||||
ImsService.this.disableImsForSubscription(slotId, subId), "disableIms");
|
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() {
|
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}
|
* 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
|
* 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) {
|
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
|
* When called, the framework is requesting that a new {@link MmTelFeature} is created for the
|
||||||
* specified subscription.
|
* specified subscription.
|
||||||
|
|||||||
@@ -47,4 +47,5 @@ interface IImsServiceController {
|
|||||||
ISipTransport getSipTransport(int slotId);
|
ISipTransport getSipTransport(int slotId);
|
||||||
oneway void enableIms(int slotId, int subId);
|
oneway void enableIms(int slotId, int subId);
|
||||||
oneway void disableIms(int slotId, int subId);
|
oneway void disableIms(int slotId, int subId);
|
||||||
|
oneway void resetIms(int slotId, int subId);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user