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

Commit 301603df authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Settings] init UI entry for Cross SIM calling"

parents c9dd92e9 0bff3346
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -12258,6 +12258,15 @@
    <!-- Summary for Wi-Fi calling to explain this feature [CHAR LIMIT=NONE] -->
    <string name="wifi_calling_summary">Use Wi\u2011Fi for calls to improve quality</string>
    <!-- Mobile network settings screen, title of Cross SIM calling setting.  [CHAR LIMIT=NONE] -->
    <string name="cross_sim_calling_settings_title">Cross SIM calling</string>
    <!-- Cross SIM calling summary.  [CHAR LIMIT=100] -->
    <string name="cross_sim_calling_setting_summary">Allow another SIM calls and SMSs over this SIM.</string>
    <!-- List of synonyms for the cross SIM calling titles, used to match in settings search [CHAR LIMIT=NONE] -->
    <string name="keywords_cross_sim_calling">cross sim calling</string>
    <!-- Title for enable MMS notification when trying to receive MMS.  [CHAR LIMIT=40] -->
    <string name="enable_receiving_mms_notification_title">Incoming MMS message</string>
    <!-- Title for enable MMS notification when trying to send MMS.  [CHAR LIMIT=40] -->
+8 −0
Original line number Diff line number Diff line
@@ -173,6 +173,14 @@
                android:persistent="true"
                settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController"/>

            <SwitchPreference
                android:key="cross_sim_calling_key"
                android:title="@string/cross_sim_calling_settings_title"
                android:persistent="false"
                android:summary="@string/cross_sim_calling_setting_summary"
                settings:keywords="@string/keywords_cross_sim_calling"
                settings:controller="com.android.settings.network.telephony.CrossSimCallingPreferenceController"/>

        </PreferenceCategory>

        <com.android.settings.network.telephony.cdma.CdmaListPreference
+65 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 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.settings.network.telephony;

import android.content.Context;

/**
 * Preference controller for "Cross SIM Calling"
 **/
public class CrossSimCallingPreferenceController extends TelephonyTogglePreferenceController {

    /**
     * Class constructor of cross sim calling.
     *
     * @param context of settings
     * @param key assigned within UI entry of XML file
     **/
    public CrossSimCallingPreferenceController(Context context, String key) {
        super(context, key);
    }

    /**
     * Initialization based on given subscription id.
     *
     * @param subId is the subscription id
     * @return this instance after initialization
     **/
    public CrossSimCallingPreferenceController init(int subId) {
        return this;
    }

    @Override
    public int getAvailabilityStatus(int subId) {
        return CONDITIONALLY_UNAVAILABLE;
    }

    /**
     * Implementation of abstract methods
     **/
    public boolean setChecked(boolean isChecked) {
        return false;
    }

    /**
     * Implementation of abstract methods
     **/
    public boolean isChecked() {
        return false;
    }

}
+4 −1
Original line number Diff line number Diff line
@@ -173,8 +173,11 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {

        final VideoCallingPreferenceController videoCallingPreferenceController =
                use(VideoCallingPreferenceController.class).init(mSubId);
        final CrossSimCallingPreferenceController crossSimCallingPreferenceController =
                use(CrossSimCallingPreferenceController.class).init(mSubId);
        use(CallingPreferenceCategoryController.class).setChildren(
                Arrays.asList(wifiCallingPreferenceController, videoCallingPreferenceController));
                Arrays.asList(wifiCallingPreferenceController, videoCallingPreferenceController,
                        crossSimCallingPreferenceController));
        use(Enhanced4gLtePreferenceController.class).init(mSubId)
                .addListener(videoCallingPreferenceController);
        use(Enhanced4gCallingPreferenceController.class).init(mSubId)
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 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.settings.network.telephony;

import static org.mockito.Mockito.spy;

import android.content.Context;

import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;

import org.junit.Before;
import org.junit.runner.RunWith;

@RunWith(AndroidJUnit4.class)
public class CrossSimCallingPreferenceControllerTest {
    private static final int SUB_ID = 2;

    private CrossSimCallingPreferenceController mController;
    private Context mContext;

    @Before
    public void setUp() {
        mContext = spy(ApplicationProvider.getApplicationContext());

        mController = new CrossSimCallingPreferenceController(mContext, "cross_sim_calling_key");
        mController.init(SUB_ID);
    }
}