summaryrefslogtreecommitdiff
path: root/java/com/android/voicemail/VoicemailClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/voicemail/VoicemailClient.java')
-rw-r--r--java/com/android/voicemail/VoicemailClient.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/java/com/android/voicemail/VoicemailClient.java b/java/com/android/voicemail/VoicemailClient.java
index 97b824b27..d52a67a8e 100644
--- a/java/com/android/voicemail/VoicemailClient.java
+++ b/java/com/android/voicemail/VoicemailClient.java
@@ -18,7 +18,10 @@ package com.android.voicemail;
import android.content.Context;
import android.content.Intent;
+import android.os.PersistableBundle;
import android.provider.VoicemailContract.Voicemails;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
@@ -52,6 +55,18 @@ public interface VoicemailClient {
"com.android.voicemail.VoicemailClient.ACTION_SHOW_LEGACY_VOICEMAIL";
/**
+ * Boolean extra send with {@link #ACTION_SHOW_LEGACY_VOICEMAIL}, indicating that the notification
+ * is sent by legacy mode and should not be suppressed even when VVM is activated
+ */
+ String EXTRA_IS_LEGACY_MODE = "is_legacy_mode";
+
+ /**
+ * Secret code to launch the voicemail config activity intended for OEMs and Carriers. {@code
+ * *#*#VVMCONFIG#*#*}
+ */
+ String VOICEMAIL_SECRET_CODE = "886266344";
+
+ /**
* Whether the visual voicemail service is enabled for the {@code phoneAccountHandle}. "Enable"
* means the user "wants" to have this service on, and does not mean the service is actually
* functional(For example, the service is blocked on the carrier side. The service will be
@@ -122,4 +137,23 @@ public interface VoicemailClient {
* provisioning. Being "activated" means all setup are completed, and VVM is expected to work.
*/
boolean isActivated(Context context, PhoneAccountHandle phoneAccountHandle);
+
+ /**
+ * Called when {@link #VOICEMAIL_SECRET_CODE} is dialed. {@code context} will be a broadcast
+ * receiver context.
+ */
+ @MainThread
+ void showConfigUi(@NonNull Context context);
+
+ @NonNull
+ PersistableBundle getConfig(
+ @NonNull Context context, @Nullable PhoneAccountHandle phoneAccountHandle);
+
+ @MainThread
+ void onBoot(@NonNull Context context);
+
+ @MainThread
+ void onShutdown(@NonNull Context context);
+
+ void onTosAccepted(Context context);
}