Support VisualVoicemailSmsFilter
+ Implemented storage for related values in framework APIs.
The storage is in device protected storage and can be read when the
phone is locked.
+ OmtpMessageReceiver changed from using data sms to
VOICEMAIL_SMS_RECEIVED sent by the filter.
+ Set filter values on activation and disable filter on deactivation.
Bug:27816386
Bug:27817303
Change-Id: I7542e6af54629b47fc321d96ea30c7f39b277e3f
(cherry picked from commit 7dfe5db8a43ddcccf1c386438d33903a7658a651)
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 0b3a80b..acffb79 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -16,6 +16,8 @@
package com.android.phone;
+import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
+
import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.content.ComponentName;
@@ -44,13 +46,13 @@
import android.telephony.CarrierConfigManager;
import android.telephony.CellInfo;
import android.telephony.IccOpenLogicalChannelResponse;
+import android.telephony.ModemActivityInfo;
import android.telephony.NeighboringCellInfo;
import android.telephony.RadioAccessFamily;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.telephony.ModemActivityInfo;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
@@ -67,9 +69,9 @@
import com.android.internal.telephony.MccTable;
import com.android.internal.telephony.OperatorInfo;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.ProxyController;
-import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.uicc.IccIoResult;
@@ -79,8 +81,6 @@
import com.android.internal.util.HexDump;
import com.android.phone.settings.VoicemailNotificationSettingsUtil;
-import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -1827,6 +1827,56 @@
return success;
}
+ @Override
+ public void setVisualVoicemailSmsFilterEnabled(int subId, boolean value) {
+ VisualVoicemailSmsFilterConfig
+ .setVisualVoicemailSmsFilterEnabled(mPhone.getContext(), subId, value);
+ }
+
+ @Override
+ public boolean isVisualVoicemailSmsFilterEnabled(String packageName, int subId) {
+ return VisualVoicemailSmsFilterConfig
+ .isVisualVoicemailSmsFilterEnabled(mPhone.getContext(), packageName, subId);
+ }
+
+ @Override
+ public void setVisualVoicemailSmsFilterClientPrefix(int subId, String prefix) {
+ VisualVoicemailSmsFilterConfig
+ .setVisualVoicemailSmsFilterClientPrefix(mPhone.getContext(), subId, prefix);
+ }
+
+ @Override
+ public String getVisualVoicemailSmsFilterClientPrefix(String packageName, int subId) {
+ return VisualVoicemailSmsFilterConfig
+ .getVisualVoicemailSmsFilterClientPrefix(mPhone.getContext(), packageName, subId);
+ }
+
+ @Override
+ public void setVisualVoicemailSmsFilterOriginatingNumbers(int subId, String[] numbers) {
+ VisualVoicemailSmsFilterConfig
+ .setVisualVoicemailSmsFilterOriginatingNumbers(mPhone.getContext(), subId, numbers);
+ }
+
+ @Override
+ public String[] getVisualVoicemailSmsFilterOriginatingNumbers(String packageName, int subId) {
+ return VisualVoicemailSmsFilterConfig
+ .getVisualVoicemailSmsFilterOriginatingNumbers(mPhone.getContext(), packageName,
+ subId);
+ }
+
+ @Override
+ public void setVisualVoicemailSmsFilterDestinationPort(int subId, int port) {
+ VisualVoicemailSmsFilterConfig
+ .setVisualVoicemailSmsFilterDestinationPort(mPhone.getContext(), subId, port);
+ }
+
+ @Override
+ public int getVisualVoicemailSmsFilterDestinationPort(String packageName, int subId) {
+ return VisualVoicemailSmsFilterConfig
+ .getVisualVoicemailSmsFilterDestinationPort(mPhone.getContext(), packageName,
+ subId);
+ }
+
/**
* Returns the unread count of voicemails
*/