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

Commit 269780fb authored by Ling Ma's avatar Ling Ma
Browse files

Add removeDataDisallowedReason

Partners such as MTK need this method to skip soft one or mores soft disallowed reasons(such as VSIM, IMS…) in special cases.

Test: build succeed
Bug: 216351396
Change-Id: I26340e769ab1b88a0edc78bde1c710626daa8b12
parent 42719a30
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -69,6 +69,16 @@ public class DataEvaluation {
        mEvaluatedTime = System.currentTimeMillis();
    }

    /**
     * Remove a data disallowed reason if one exists.
     *
     * @param reason Disallowed reason.
     */
    public void removeDataDisallowedReason(DataDisallowedReason reason) {
        mDataDisallowedReasons.remove(reason);
        mEvaluatedTime = System.currentTimeMillis();
    }

    /**
     * Add a data allowed reason. Note that adding an allowed reason will clean up the disallowed
     * reasons because they are mutual exclusive.
+61 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 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.data;

import com.android.internal.telephony.TelephonyTest;

import static com.google.common.truth.Truth.assertThat;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class DataEvaluationTest extends TelephonyTest {
    DataEvaluation mDataEvaluationUT;
    @Before
    public void setUp() throws Exception {
        logd("DataEvaluationTest +Setup!");
        super.setUp(getClass().getSimpleName());
        logd("DataEvaluationTest -Setup!");
    }

    @After
    public void tearDown() throws Exception {
        logd("tearDown");
        super.tearDown();
    }

    @Test
    public void testModifyDataDisallowedReasonSet() {
        mDataEvaluationUT = new DataEvaluation(DataEvaluation.DataEvaluationReason.DATA_RETRY);
        mDataEvaluationUT.addDataDisallowedReason(
                DataEvaluation.DataDisallowedReason.DATA_DISABLED);
        mDataEvaluationUT.addDataDisallowedReason(
                DataEvaluation.DataDisallowedReason.ROAMING_DISABLED);

        assertThat(mDataEvaluationUT.getDataDisallowedReasons().size()).isEqualTo(2);

        //remove nonexistent disallowed reason
        mDataEvaluationUT.removeDataDisallowedReason(
                DataEvaluation.DataDisallowedReason.DEFAULT_DATA_UNSELECTED);
        assertThat(mDataEvaluationUT.getDataDisallowedReasons().size()).isEqualTo(2);

        mDataEvaluationUT.removeDataDisallowedReason(
                DataEvaluation.DataDisallowedReason.DATA_DISABLED);
        assertThat(mDataEvaluationUT.getDataDisallowedReasons().size()).isEqualTo(1);
    }
}