From 4db955ad57c50e9f73a231a97578ebc8660dc438 Mon Sep 17 00:00:00 2001 From: Inseob Kim Date: Thu, 13 Dec 2018 16:49:49 +0900 Subject: [PATCH] Schematize Telephony System Properties Properties accessed across partitions are now schematized and will become APIs to make explicit interfaces among partitions. Bug: 117924132 Bug: 141246285 Test: lunch blueline-userdebug; m checkbuild Change-Id: Ic4f16a4475eb2870dcaeec41b38de90a0f6473bb --- src/com/android/settings/AirplaneModeEnabler.java | 6 ++---- .../network/AirplaneModePreferenceController.java | 7 +++---- src/com/android/settings/wifi/p2p/WifiP2pSettings.java | 4 ++-- .../BasebandVersionPreferenceControllerTest.java | 8 +++++--- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java index dde7ce0fcf6..cdb9793ff54 100644 --- a/src/com/android/settings/AirplaneModeEnabler.java +++ b/src/com/android/settings/AirplaneModeEnabler.java @@ -23,12 +23,11 @@ import android.database.ContentObserver; import android.os.Handler; import android.os.Looper; import android.os.Message; -import android.os.SystemProperties; import android.os.UserHandle; import android.provider.Settings; +import android.sysprop.TelephonyProperties; import com.android.internal.telephony.PhoneStateIntentReceiver; -import com.android.internal.telephony.TelephonyProperties; import com.android.settingslib.WirelessUtils; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; @@ -125,8 +124,7 @@ public class AirplaneModeEnabler { } public void setAirplaneMode(boolean isAirplaneModeOn) { - if (Boolean.parseBoolean( - SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) { + if (TelephonyProperties.in_ecm_mode().orElse(false)) { // In ECM mode, do not update database at this point } else { mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_AIRPLANE_TOGGLE, diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java index b36fd9c321d..5313d3b8f53 100644 --- a/src/com/android/settings/network/AirplaneModePreferenceController.java +++ b/src/com/android/settings/network/AirplaneModePreferenceController.java @@ -22,8 +22,8 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; -import android.os.SystemProperties; import android.provider.SettingsSlicesContract; +import android.sysprop.TelephonyProperties; import androidx.fragment.app.Fragment; import androidx.preference.Preference; @@ -31,7 +31,6 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.internal.telephony.TelephonyIntents; -import com.android.internal.telephony.TelephonyProperties; import com.android.settings.AirplaneModeEnabler; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; @@ -75,8 +74,8 @@ public class AirplaneModePreferenceController extends TogglePreferenceController @Override public boolean handlePreferenceTreeClick(Preference preference) { - if (KEY_AIRPLANE_MODE.equals(preference.getKey()) && Boolean.parseBoolean( - SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) { + if (KEY_AIRPLANE_MODE.equals(preference.getKey()) + && TelephonyProperties.in_ecm_mode().orElse(false)) { // In ECM mode launch ECM app dialog if (mFragment != null) { mFragment.startActivityForResult( diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index 72537601170..397517096ac 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -38,7 +38,7 @@ import android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener; import android.net.wifi.p2p.WifiP2pManager.PeerListListener; import android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener; import android.os.Bundle; -import android.os.SystemProperties; +import android.sysprop.TelephonyProperties; import android.text.InputFilter; import android.text.TextUtils; import android.util.Log; @@ -429,7 +429,7 @@ public class WifiP2pSettings extends DashboardFragment WifiP2pConfig config = new WifiP2pConfig(); config.deviceAddress = mSelectedWifiPeer.device.deviceAddress; - int forceWps = SystemProperties.getInt("wifidirect.wps", -1); + int forceWps = TelephonyProperties.wps_info().orElse(-1); if (forceWps != -1) { config.wps.setup = forceWps; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java index 5f4848f3e01..823014471f7 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java @@ -18,7 +18,6 @@ package com.android.settings.deviceinfo.firmwareversion; import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; -import static com.android.settings.deviceinfo.firmwareversion.BasebandVersionPreferenceController.BASEBAND_PROPERTY; import static com.google.common.truth.Truth.assertThat; @@ -26,7 +25,7 @@ import static org.robolectric.shadow.api.Shadow.extract; import android.content.Context; import android.net.ConnectivityManager; -import android.os.SystemProperties; +import android.sysprop.TelephonyProperties; import com.android.settings.testutils.shadow.ShadowConnectivityManager; @@ -38,6 +37,9 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import java.util.Arrays; + + @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowConnectivityManager.class) public class BasebandVersionPreferenceControllerTest { @@ -64,7 +66,7 @@ public class BasebandVersionPreferenceControllerTest { @Test public void getAvailability_hasMobile_available() { final String text = "test"; - SystemProperties.set(BASEBAND_PROPERTY, text); + TelephonyProperties.baseband_version(Arrays.asList(new String[]{text})); ShadowConnectivityManager connectivityManager = extract(mContext.getSystemService(ConnectivityManager.class)); connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, true);