summaryrefslogtreecommitdiffstats
path: root/src/com/android/server/telecom/CallLogManager.java
diff options
context:
space:
mode:
authorOlaia Segovia <olaia.segovia@bq.com>2017-03-16 08:40:30 +0100
committerDan Pasanen <dan.pasanen@gmail.com>2018-01-27 13:55:33 +0000
commit963e84fc98df48359f24103a9696fb641e51a39f (patch)
tree65bd0940a2bbd3f8214f1f6a4ebea6e13f74a696 /src/com/android/server/telecom/CallLogManager.java
parent78776779c8fedede8e672ac2bf2391c4b3a001ba (diff)
downloadandroid_packages_services_Telecomm-963e84fc98df48359f24103a9696fb641e51a39f.tar.gz
android_packages_services_Telecomm-963e84fc98df48359f24103a9696fb641e51a39f.tar.bz2
android_packages_services_Telecomm-963e84fc98df48359f24103a9696fb641e51a39f.zip
(1/2) Make sensitive phone numbers not to be shown in call log history.
Considering sensitive phone numbers to be, hotlines dealing with violence against women. In the EU, these numbers do not show up in the phone bill. In order to avoid these phone numbers to be listed in the Call Log, we have implemented a new XML file which is parsed with phone numbers from different countries to be filtered. This file needs to be copied to device via desired Android.mk file in order to be able to process it. The comparison is made checking the network MCC the SIM is connected to in order to consider roaming and multisim scenarios. Test: CallLogManagerTest.testDontLogCallsToSensitivePhoneNumber PASS Change-Id: I4a59ff0577942ce56924f1a434ae0a3a38eacc62 Signed-off-by: Olaia Segovia <olaia.segovia@bq.com>
Diffstat (limited to 'src/com/android/server/telecom/CallLogManager.java')
-rwxr-xr-xsrc/com/android/server/telecom/CallLogManager.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/server/telecom/CallLogManager.java b/src/com/android/server/telecom/CallLogManager.java
index ba03e5cd..1a1e6d54 100755
--- a/src/com/android/server/telecom/CallLogManager.java
+++ b/src/com/android/server/telecom/CallLogManager.java
@@ -124,6 +124,7 @@ public final class CallLogManager extends CallsManagerListenerBase {
private Object mLock;
private String mCurrentCountryIso;
+ private SensitivePhoneNumbers mSensitivePhoneNumbers;
public CallLogManager(Context context, PhoneAccountRegistrar phoneAccountRegistrar,
MissedCallNotifier missedCallNotifier) {
@@ -131,6 +132,7 @@ public final class CallLogManager extends CallsManagerListenerBase {
mPhoneAccountRegistrar = phoneAccountRegistrar;
mMissedCallNotifier = missedCallNotifier;
mLock = new Object();
+ mSensitivePhoneNumbers = new SensitivePhoneNumbers();
}
@Override
@@ -278,8 +280,11 @@ public final class CallLogManager extends CallsManagerListenerBase {
CarrierConfigManager.KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL);
}
- // Don't log emergency numbers if the device doesn't allow it.
- final boolean isOkToLogThisCall = !isEmergency || okToLogEmergencyNumber;
+ // Don't log emergency nor sensitive numbers if the device doesn't allow it.
+ boolean isSensitiveNumber = mSensitivePhoneNumbers.isSensitiveNumber(mContext, number,
+ accountHandle.getId());
+ Log.d(TAG, "isSensitiveNumber: "+ isSensitiveNumber);
+ final boolean isOkToLogThisCall = (!isEmergency || okToLogEmergencyNumber) && !isSensitiveNumber;
sendAddCallBroadcast(callType, duration);