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

Commit b0eb2906 authored by Sukhwan Mun's avatar Sukhwan Mun
Browse files

add RAT related suggested actions to IMS registration with flagging

RAT_BLOCK and CLEAR_RAT_BLOCK are added to suggested action for handling
RAT block.

Bug: 290573256
Test: atest ImsServiceTest#testMmTelManagerRegistrationBlock
Change-Id: I96926a2aff1805e6066e2b2bb3a2602ef385c51b
parent 09eab22e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -16161,8 +16161,10 @@ package android.telephony.ims {
  public interface RegistrationManager {
    field public static final int SUGGESTED_ACTION_NONE = 0; // 0x0
    field @FlaggedApi("com.android.internal.telephony.flags.add_rat_related_suggested_action_to_ims_registration") public static final int SUGGESTED_ACTION_TRIGGER_CLEAR_RAT_BLOCK = 4; // 0x4
    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK = 1; // 0x1
    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2; // 0x2
    field @FlaggedApi("com.android.internal.telephony.flags.add_rat_related_suggested_action_to_ims_registration") public static final int SUGGESTED_ACTION_TRIGGER_RAT_BLOCK = 3; // 0x3
  }
  public static class RegistrationManager.RegistrationCallback {
+29 −3
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.telephony.ims;

import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -34,6 +35,8 @@ import android.telephony.ims.aidl.IImsRegistrationCallback;
import android.telephony.ims.stub.ImsRegistrationImplBase;
import android.util.Log;

import com.android.internal.telephony.flags.Flags;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Map;
@@ -79,7 +82,9 @@ public interface RegistrationManager {
            value = {
                SUGGESTED_ACTION_NONE,
                SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK,
            SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT
                SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT,
                SUGGESTED_ACTION_TRIGGER_RAT_BLOCK,
                SUGGESTED_ACTION_TRIGGER_CLEAR_RAT_BLOCK
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface SuggestedAction {}
@@ -109,6 +114,27 @@ public interface RegistrationManager {
    @SystemApi
    public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2;

    /**
     * Indicates that the IMS registration on current RAT failed multiple times.
     * The radio shall block the current RAT and search for other available RATs in the
     * background. If no other RAT is available that meets the carrier requirements, the
     * radio may remain on the current RAT for internet service. The radio clears all
     * RATs marked as unavailable if the IMS service is registered to the carrier network.
     * @hide
     */
    @SystemApi
    @FlaggedApi(Flags.FLAG_ADD_RAT_RELATED_SUGGESTED_ACTION_TO_IMS_REGISTRATION)
    int SUGGESTED_ACTION_TRIGGER_RAT_BLOCK = 3;

    /**
     * Indicates that the radio clears all RATs marked as unavailable and tries to find
     * an available RAT that meets the carrier requirements.
     * @hide
     */
    @SystemApi
    @FlaggedApi(Flags.FLAG_ADD_RAT_RELATED_SUGGESTED_ACTION_TO_IMS_REGISTRATION)
    int SUGGESTED_ACTION_TRIGGER_CLEAR_RAT_BLOCK = 4;

    /**@hide*/
    // Translate ImsRegistrationImplBase API to new AccessNetworkConstant because WLAN
    // and WWAN are more accurate constants.