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