Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20f7fd98 authored by joonhunshin's avatar joonhunshin Committed by Joonhun Shin
Browse files

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 58f76c37)
parent 6e2dd42d
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -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.
+1 −0
Original line number Diff line number Diff line
@@ -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);
}