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

Commit 6fe2f89f authored by Jacky Wang's avatar Jacky Wang
Browse files

Migrate "Baseband version" preference

Bug: 365886251
Flag: com.android.settings.flags.catalyst_firmware_version
Test: Unit
Change-Id: I8e4f946d01169e8008b8a336d308f5874ee918e6
parent 1a256c3f
Loading
Loading
Loading
Loading
+57 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.deviceinfo.firmwareversion

import android.content.Context
import android.os.SystemProperties
import androidx.preference.Preference
import com.android.settings.R
import com.android.settings.Utils
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.preference.PreferenceBinding

// LINT.IfChange
class BasebandVersionPreference :
    PreferenceMetadata,
    PreferenceSummaryProvider,
    PreferenceAvailabilityProvider,
    PreferenceBinding {

    override val key: String
        get() = "base_band"

    override val title: Int
        get() = R.string.baseband_version

    override fun getSummary(context: Context): CharSequence? =
        SystemProperties.get(BASEBAND_PROPERTY, context.getString(R.string.device_info_default))

    override fun isAvailable(context: Context) = !Utils.isWifiOnly(context)

    override fun bind(preference: Preference, metadata: PreferenceMetadata) {
        super.bind(preference, metadata)
        preference.isSelectable = false
        preference.isCopyingEnabled = true
    }

    companion object {
        const val BASEBAND_PROPERTY: String = "gsm.version.baseband"
    }
}
// LINT.ThenChange(BasebandVersionPreferenceController.java)
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;

// LINT.IfChange
public class BasebandVersionPreferenceController extends BasePreferenceController {

    @VisibleForTesting
@@ -45,3 +46,4 @@ public class BasebandVersionPreferenceController extends BasePreferenceControlle
                mContext.getString(R.string.device_info_default));
    }
}
// LINT.ThenChange(BasebandVersionPreference.kt)
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ class FirmwareVersionScreen : PreferenceScreenCreator, PreferenceSummaryProvider
            +PreferenceWidget("os_firmware_version", R.string.firmware_version)
            +PreferenceWidget("security_key", R.string.security_patch)
            +PreferenceWidget("module_version", R.string.module_version)
            +PreferenceWidget("base_band", R.string.baseband_version)
            +BasebandVersionPreference()
            +PreferenceWidget("kernel_version", R.string.kernel_version)
            +PreferenceWidget("os_build_number", R.string.build_number)
        }
+3 −0
Original line number Diff line number Diff line
@@ -69,6 +69,9 @@ android_robolectric_test {
        "com_android_server_accessibility_flags_lib",
        "flag-junit",
        "flag-junit-base",
        "kotlin-test",
        "mockito-robolectric-prebuilt", // mockito deps order matters!
        "mockito-kotlin2",
        "notification_flags_lib",
        "platform-test-annotations",
        "testables",
+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import org.robolectric.RuntimeEnvironment;

import java.util.Arrays;

// LINT.IfChange
@RunWith(RobolectricTestRunner.class)
public class BasebandVersionPreferenceControllerTest {
    @Mock
@@ -68,3 +69,4 @@ public class BasebandVersionPreferenceControllerTest {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }
}
// LINT.ThenChange(BasebandVersionPreferenceTest.kt)
Loading