Loading Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ android_library { "androidx.core_core", "androidx.core_core", "telecom_flags_core_java_lib", "telecom_flags_core_java_lib", "modules-utils-handlerexecutor", "modules-utils-handlerexecutor", "org.lineageos.lib.phone", ], ], resource_dirs: ["res"], resource_dirs: ["res"], proto: { proto: { Loading src/com/android/server/telecom/CallLogManager.java +11 −2 Original line number Original line Diff line number Diff line Loading @@ -58,6 +58,8 @@ import com.android.server.telecom.callfiltering.CallFilteringResult; import com.android.server.telecom.flags.FeatureFlags; import com.android.server.telecom.flags.FeatureFlags; import com.android.server.telecom.flags.Flags; import com.android.server.telecom.flags.Flags; import org.lineageos.lib.phone.SensitivePhoneNumbers; import java.util.Arrays; import java.util.Arrays; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; Loading Loading @@ -125,6 +127,7 @@ public final class CallLogManager extends CallsManagerListenerBase { private Country mCurrentCountry; private Country mCurrentCountry; private String mCurrentCountryIso; private String mCurrentCountryIso; private HandlerExecutor mCountryCodeExecutor; private HandlerExecutor mCountryCodeExecutor; private SensitivePhoneNumbers mSensitivePhoneNumbers; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; Loading @@ -139,6 +142,7 @@ public final class CallLogManager extends CallsManagerListenerBase { mAnomalyReporterAdapter = anomalyReporterAdapter; mAnomalyReporterAdapter = anomalyReporterAdapter; mCountryCodeExecutor = new HandlerExecutor(new Handler(Looper.getMainLooper())); mCountryCodeExecutor = new HandlerExecutor(new Handler(Looper.getMainLooper())); mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mSensitivePhoneNumbers = SensitivePhoneNumbers.getInstance(); } } @Override @Override Loading Loading @@ -460,16 +464,21 @@ public final class CallLogManager extends CallsManagerListenerBase { boolean okToLogEmergencyNumber = false; boolean okToLogEmergencyNumber = false; CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService( CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService( Context.CARRIER_CONFIG_SERVICE); Context.CARRIER_CONFIG_SERVICE); int subId = mPhoneAccountRegistrar.getSubscriptionIdForPhoneAccount(accountHandle); PersistableBundle configBundle = (configManager != null) ? configManager.getConfigForSubId( PersistableBundle configBundle = (configManager != null) ? configManager.getConfigForSubId( mPhoneAccountRegistrar.getSubscriptionIdForPhoneAccount(accountHandle)) : null; subId) : null; if (configBundle != null) { if (configBundle != null) { okToLogEmergencyNumber = configBundle.getBoolean( okToLogEmergencyNumber = configBundle.getBoolean( CarrierConfigManager.KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL); CarrierConfigManager.KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL); } } // Don't log sensitive numbers. boolean isSensitiveNumber = mSensitivePhoneNumbers.isSensitiveNumber(mContext, number, subId); // Don't log emergency numbers if the device doesn't allow it. // Don't log emergency numbers if the device doesn't allow it. return (!isEmergency || okToLogEmergencyNumber) return (!isEmergency || okToLogEmergencyNumber) && !isUnloggableNumber(number, configBundle); && !isUnloggableNumber(number, configBundle) && !isSensitiveNumber; } } private boolean isUnloggableNumber(String callNumber, PersistableBundle carrierConfig) { private boolean isUnloggableNumber(String callNumber, PersistableBundle carrierConfig) { Loading Loading
Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ android_library { "androidx.core_core", "androidx.core_core", "telecom_flags_core_java_lib", "telecom_flags_core_java_lib", "modules-utils-handlerexecutor", "modules-utils-handlerexecutor", "org.lineageos.lib.phone", ], ], resource_dirs: ["res"], resource_dirs: ["res"], proto: { proto: { Loading
src/com/android/server/telecom/CallLogManager.java +11 −2 Original line number Original line Diff line number Diff line Loading @@ -58,6 +58,8 @@ import com.android.server.telecom.callfiltering.CallFilteringResult; import com.android.server.telecom.flags.FeatureFlags; import com.android.server.telecom.flags.FeatureFlags; import com.android.server.telecom.flags.Flags; import com.android.server.telecom.flags.Flags; import org.lineageos.lib.phone.SensitivePhoneNumbers; import java.util.Arrays; import java.util.Arrays; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; Loading Loading @@ -125,6 +127,7 @@ public final class CallLogManager extends CallsManagerListenerBase { private Country mCurrentCountry; private Country mCurrentCountry; private String mCurrentCountryIso; private String mCurrentCountryIso; private HandlerExecutor mCountryCodeExecutor; private HandlerExecutor mCountryCodeExecutor; private SensitivePhoneNumbers mSensitivePhoneNumbers; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; Loading @@ -139,6 +142,7 @@ public final class CallLogManager extends CallsManagerListenerBase { mAnomalyReporterAdapter = anomalyReporterAdapter; mAnomalyReporterAdapter = anomalyReporterAdapter; mCountryCodeExecutor = new HandlerExecutor(new Handler(Looper.getMainLooper())); mCountryCodeExecutor = new HandlerExecutor(new Handler(Looper.getMainLooper())); mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mSensitivePhoneNumbers = SensitivePhoneNumbers.getInstance(); } } @Override @Override Loading Loading @@ -460,16 +464,21 @@ public final class CallLogManager extends CallsManagerListenerBase { boolean okToLogEmergencyNumber = false; boolean okToLogEmergencyNumber = false; CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService( CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService( Context.CARRIER_CONFIG_SERVICE); Context.CARRIER_CONFIG_SERVICE); int subId = mPhoneAccountRegistrar.getSubscriptionIdForPhoneAccount(accountHandle); PersistableBundle configBundle = (configManager != null) ? configManager.getConfigForSubId( PersistableBundle configBundle = (configManager != null) ? configManager.getConfigForSubId( mPhoneAccountRegistrar.getSubscriptionIdForPhoneAccount(accountHandle)) : null; subId) : null; if (configBundle != null) { if (configBundle != null) { okToLogEmergencyNumber = configBundle.getBoolean( okToLogEmergencyNumber = configBundle.getBoolean( CarrierConfigManager.KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL); CarrierConfigManager.KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL); } } // Don't log sensitive numbers. boolean isSensitiveNumber = mSensitivePhoneNumbers.isSensitiveNumber(mContext, number, subId); // Don't log emergency numbers if the device doesn't allow it. // Don't log emergency numbers if the device doesn't allow it. return (!isEmergency || okToLogEmergencyNumber) return (!isEmergency || okToLogEmergencyNumber) && !isUnloggableNumber(number, configBundle); && !isUnloggableNumber(number, configBundle) && !isSensitiveNumber; } } private boolean isUnloggableNumber(String callNumber, PersistableBundle carrierConfig) { private boolean isUnloggableNumber(String callNumber, PersistableBundle carrierConfig) { Loading