From 3a590c305737a8533f40235fc7dbdcfaee30bdcb Mon Sep 17 00:00:00 2001 From: Gabriele M Date: Sat, 5 Mar 2016 00:24:30 +0100 Subject: [PATCH] Allow to ignore presentation indicator of outgoing calls [1/3] With some mobile network operators, the presentation indicator of outgoing calls is always set to either "unknown" or "restricted". As consequence, the dialed number doesn't show up in clear in the call history. Allow to ignore the presentation indicator of outgoing calls to never hide the dialed numbers. Change-Id: Ia7b9fef3a929e512d8ecb704204b36e3836a056b --- api/cm_current.txt | 1 + packages/CMSettingsProvider/res/values/defaults.xml | 3 +++ .../org/cyanogenmod/cmsettings/CMDatabaseHelper.java | 3 +++ .../tests/CMSettingsProviderDefaultsTest.java | 3 +++ src/java/cyanogenmod/providers/CMSettings.java | 12 ++++++++++++ system-api/cm_system-current.txt | 1 + 6 files changed, 23 insertions(+) diff --git a/api/cm_current.txt b/api/cm_current.txt index 96e0f81..12b3165 100644 --- a/api/cm_current.txt +++ b/api/cm_current.txt @@ -808,6 +808,7 @@ package cyanogenmod.providers { field public static final java.lang.String CAMERA_LAUNCH = "camera_launch"; field public static final java.lang.String CAMERA_SLEEP_ON_RELEASE = "camera_sleep_on_release"; field public static final java.lang.String CAMERA_WAKE_SCREEN = "camera_wake_screen"; + field public static final java.lang.String CONNECTED_LINE_IDENTIFICATION = "connected_line_identification"; field public static final android.net.Uri CONTENT_URI; field public static final java.lang.String DIALER_OPENCNAM_ACCOUNT_SID = "dialer_opencnam_account_sid"; field public static final java.lang.String DIALER_OPENCNAM_AUTH_TOKEN = "dialer_opencnam_auth_token"; diff --git a/packages/CMSettingsProvider/res/values/defaults.xml b/packages/CMSettingsProvider/res/values/defaults.xml index 5d590ad..4a082cb 100644 --- a/packages/CMSettingsProvider/res/values/defaults.xml +++ b/packages/CMSettingsProvider/res/values/defaults.xml @@ -107,4 +107,7 @@ com.android.settings|com.android.launcher3|com.cyanogenmod.trebuchet + + true + diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java index 98064af..ee064c0 100644 --- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java +++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java @@ -299,6 +299,9 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{ loadIntegerSetting(stmt, CMSettings.System.STATUS_BAR_BATTERY_STYLE, R.integer.def_battery_style); + loadBooleanSetting(stmt, CMSettings.System.CONNECTED_LINE_IDENTIFICATION, + R.bool.def_connected_line_identification); + if (mContext.getResources().getBoolean(R.bool.def_notification_pulse_custom_enable)) { loadStringSetting(stmt, CMSettings.System.NOTIFICATION_LIGHT_PULSE_CUSTOM_VALUES, R.string.def_notification_pulse_custom_value); diff --git a/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java b/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java index a2c4269..fcbe601 100644 --- a/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java +++ b/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java @@ -76,6 +76,9 @@ public class CMSettingsProviderDefaultsTest extends AndroidTestCase { SYSTEM_SETTINGS_DEFAULTS.add(new Setting( CMSettings.System.STATUS_BAR_BATTERY_STYLE, "R.integer.def_battery_style")); + SYSTEM_SETTINGS_DEFAULTS.add(new Setting( + CMSettings.System.CONNECTED_LINE_IDENTIFICATION, + "R.bool.def_connected_line_identification")); } //SECURE diff --git a/src/java/cyanogenmod/providers/CMSettings.java b/src/java/cyanogenmod/providers/CMSettings.java index f0f0f6c..830299f 100644 --- a/src/java/cyanogenmod/providers/CMSettings.java +++ b/src/java/cyanogenmod/providers/CMSettings.java @@ -1760,6 +1760,16 @@ public final class CMSettings { public static final Validator TOUCHSCREEN_GESTURE_HAPTIC_FEEDBACK_VALIDATOR = sBooleanValidator; + /** + * Whether or not to respect the network presentation indicator of outgoing calls + */ + public static final String CONNECTED_LINE_IDENTIFICATION = + "connected_line_identification"; + + /** @hide */ + public static final Validator CONNECTED_LINE_IDENTIFICATION_VALIDATOR = + sBooleanValidator; + /** * I can haz more bukkits * @hide @@ -2015,6 +2025,8 @@ public final class CMSettings { VALIDATORS.put(ZEN_PRIORITY_ALLOW_LIGHTS, ZEN_PRIORITY_ALLOW_LIGHTS_VALIDATOR); VALIDATORS.put(TOUCHSCREEN_GESTURE_HAPTIC_FEEDBACK, TOUCHSCREEN_GESTURE_HAPTIC_FEEDBACK_VALIDATOR); + VALIDATORS.put(CONNECTED_LINE_IDENTIFICATION, + CONNECTED_LINE_IDENTIFICATION_VALIDATOR); VALIDATORS.put(__MAGICAL_TEST_PASSING_ENABLER, __MAGICAL_TEST_PASSING_ENABLER_VALIDATOR); }; diff --git a/system-api/cm_system-current.txt b/system-api/cm_system-current.txt index 96e0f81..12b3165 100644 --- a/system-api/cm_system-current.txt +++ b/system-api/cm_system-current.txt @@ -808,6 +808,7 @@ package cyanogenmod.providers { field public static final java.lang.String CAMERA_LAUNCH = "camera_launch"; field public static final java.lang.String CAMERA_SLEEP_ON_RELEASE = "camera_sleep_on_release"; field public static final java.lang.String CAMERA_WAKE_SCREEN = "camera_wake_screen"; + field public static final java.lang.String CONNECTED_LINE_IDENTIFICATION = "connected_line_identification"; field public static final android.net.Uri CONTENT_URI; field public static final java.lang.String DIALER_OPENCNAM_ACCOUNT_SID = "dialer_opencnam_account_sid"; field public static final java.lang.String DIALER_OPENCNAM_AUTH_TOKEN = "dialer_opencnam_auth_token";