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

Commit cb0aac0a authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "DeviceInfo:Add MBN Version For Global Pass Provisioning package"

parents 79def6a0 094509c7
Loading
Loading
Loading
Loading
+30 −3
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.RestrictedLockUtils;
import com.android.internal.os.RegionalizationEnvironment;
import com.android.internal.os.IRegionalizationService;

import java.util.ArrayList;
import java.util.Arrays;
@@ -75,6 +77,7 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
    private static final String PROPERTY_MBN_VERSION = "persist.mbn.version";
    private static final String KEY_QGP_VERSION = "qgp_version";
    private static final String PROPERTY_QGP_VERSION = "persist.qgp.version";
    private static final String MBN_VERSION_PATH = "/persist/speccfg/mbnversion";

    static final int TAPS_TO_BE_A_DEVELOPER = 7;

@@ -88,6 +91,7 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
    private boolean mFunDisallowedBySystem;
    private EnforcedAdmin mDebuggingFeaturesDisallowedAdmin;
    private boolean mDebuggingFeaturesDisallowedBySystem;
    private IRegionalizationService mRegionalizationService = null;

    @Override
    protected int getMetricsCategory() {
@@ -128,9 +132,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
                PROPERTY_QGP_VERSION);
        findPreference(KEY_KERNEL_VERSION).setSummary(DeviceInfoUtils.customizeFormatKernelVersion(
                getResources().getBoolean(R.bool.def_hide_kernel_version_name)));
        setValueSummary(KEY_MBN_VERSION, PROPERTY_MBN_VERSION);
        removePreferenceIfPropertyMissing(getPreferenceScreen(), KEY_MBN_VERSION,
                PROPERTY_MBN_VERSION);
        String mMbnVersion = getMBNVersionValue();
        setStringSummary(KEY_MBN_VERSION, mMbnVersion);
        if(mMbnVersion == null){
            getPreferenceScreen().removePreference(findPreference(KEY_MBN_VERSION));
        }

        if (!SELinux.isSELinuxEnabled()) {
            String status = getResources().getString(R.string.selinux_status_disabled);
@@ -364,6 +370,27 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
        }
    }

    private String getMBNVersionValue() {
        String mVersion = null;

        if (RegionalizationEnvironment.isSupported()) {
            mRegionalizationService = RegionalizationEnvironment.getRegionalizationService();
        }
        if(mRegionalizationService != null){
            try{
                if(!mRegionalizationService.checkFileExists(MBN_VERSION_PATH))
                    return null;
                if(mRegionalizationService.readFile(MBN_VERSION_PATH, "").size() > 0){
                    mVersion = mRegionalizationService.readFile(MBN_VERSION_PATH, "").get(0);
                }
                Log.d(LOG_TAG,"read MBNVersion="+mVersion);
            }catch (Exception e) {
                Log.e(LOG_TAG, "IOException:"+ e.getMessage());
            }
        }
        return mVersion;
    }

    private void setValueSummary(String preference, String property) {
        try {
            findPreference(preference).setSummary(