summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java')
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java256
1 files changed, 0 insertions, 256 deletions
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java b/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
deleted file mode 100644
index be7dccda8..000000000
--- a/java/com/android/dialer/app/voicemail/error/VoicemailErrorMessage.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.app.voicemail.error;
-
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.provider.VoicemailContract;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.telecom.PhoneAccountHandle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import com.android.dialer.callintent.CallInitiationType;
-import com.android.dialer.callintent.CallIntentBuilder;
-import com.android.dialer.common.Assert;
-import com.android.dialer.common.PerAccountSharedPreferences;
-import com.android.dialer.logging.DialerImpression;
-import com.android.dialer.logging.Logger;
-import com.android.dialer.precall.PreCall;
-import com.android.dialer.voicemail.settings.VoicemailChangePinActivity;
-import com.android.voicemail.VoicemailClient;
-import com.android.voicemail.VoicemailComponent;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Represents an error determined from the current {@link
- * android.provider.VoicemailContract.Status}. The message will contain a title, a description, and
- * a list of actions that can be performed.
- */
-public class VoicemailErrorMessage {
-
- private final CharSequence title;
- private final CharSequence description;
- private final List<Action> actions;
-
- private boolean modal;
- private Integer imageResourceId;
-
- /** Something the user can click on to resolve an error, such as retrying or calling voicemail */
- public static class Action {
-
- private final CharSequence text;
- private final View.OnClickListener listener;
- private final boolean raised;
-
- public Action(CharSequence text, View.OnClickListener listener) {
- this(text, listener, false);
- }
-
- public Action(CharSequence text, View.OnClickListener listener, boolean raised) {
- this.text = text;
- this.listener = listener;
- this.raised = raised;
- }
-
- public CharSequence getText() {
- return text;
- }
-
- public View.OnClickListener getListener() {
- return listener;
- }
-
- public boolean isRaised() {
- return raised;
- }
- }
-
- public CharSequence getTitle() {
- return title;
- }
-
- public CharSequence getDescription() {
- return description;
- }
-
- @Nullable
- public List<Action> getActions() {
- return actions;
- }
-
- public boolean isModal() {
- return modal;
- }
-
- public VoicemailErrorMessage setModal(boolean value) {
- modal = value;
- return this;
- }
-
- @Nullable
- public Integer getImageResourceId() {
- return imageResourceId;
- }
-
- public VoicemailErrorMessage setImageResourceId(Integer imageResourceId) {
- this.imageResourceId = imageResourceId;
- return this;
- }
-
- public VoicemailErrorMessage(CharSequence title, CharSequence description, Action... actions) {
- this(title, description, Arrays.asList(actions));
- }
-
- public VoicemailErrorMessage(
- CharSequence title, CharSequence description, @Nullable List<Action> actions) {
- this.title = title;
- this.description = description;
- this.actions = actions;
- }
-
- @NonNull
- public static Action createChangeAirplaneModeAction(final Context context) {
- return new Action(
- context.getString(R.string.voicemail_action_turn_off_airplane_mode),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Logger.get(context)
- .logImpression(DialerImpression.Type.VVM_CHANGE_AIRPLANE_MODE_CLICKED);
- Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
- context.startActivity(intent);
- }
- });
- }
-
- @NonNull
- public static Action createSetPinAction(
- final Context context, PhoneAccountHandle phoneAccountHandle) {
- return new Action(
- context.getString(R.string.voicemail_action_set_pin),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Logger.get(context)
- .logImpression(DialerImpression.Type.VOICEMAIL_ALERT_SET_PIN_CLICKED);
- Intent intent = new Intent(VoicemailChangePinActivity.ACTION_CHANGE_PIN);
- intent.putExtra(VoicemailClient.PARAM_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
- context.startActivity(intent);
- }
- });
- }
-
- @NonNull
- public static Action createCallVoicemailAction(
- final Context context, final PhoneAccountHandle phoneAccountHandle) {
- return new Action(
- context.getString(R.string.voicemail_action_call_voicemail),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Logger.get(context).logImpression(DialerImpression.Type.VVM_CALL_VOICEMAIL_CLICKED);
- PreCall.start(
- context,
- CallIntentBuilder.forVoicemail(
- phoneAccountHandle, CallInitiationType.Type.VOICEMAIL_ERROR_MESSAGE));
- }
- });
- }
-
- @NonNull
- public static Action createSyncAction(final Context context, final VoicemailStatus status) {
- return new Action(
- context.getString(R.string.voicemail_action_sync),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Logger.get(context).logImpression(DialerImpression.Type.VVM_USER_SYNC);
- Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
- intent.setPackage(status.sourcePackage);
- context.sendBroadcast(intent);
- }
- });
- }
-
- @NonNull
- public static Action createRetryAction(final Context context, final VoicemailStatus status) {
- return new Action(
- context.getString(R.string.voicemail_action_retry),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Logger.get(context).logImpression(DialerImpression.Type.VVM_USER_RETRY);
- Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
- intent.setPackage(status.sourcePackage);
- context.sendBroadcast(intent);
- }
- });
- }
-
- @NonNull
- public static Action createTurnArchiveOnAction(
- final Context context,
- DialerImpression.Type impressionToLog,
- final VoicemailStatus status,
- VoicemailStatusReader statusReader,
- VoicemailClient voicemailClient,
- PhoneAccountHandle phoneAccountHandle) {
- return new Action(
- context.getString(R.string.voicemail_action_turn_archive_on),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Assert.checkArgument(
- VoicemailComponent.get(context)
- .getVoicemailClient()
- .isVoicemailArchiveAvailable(context));
- Logger.get(context).logImpression(impressionToLog);
- voicemailClient.setVoicemailArchiveEnabled(context, phoneAccountHandle, true);
- Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
- intent.setPackage(status.sourcePackage);
- context.sendBroadcast(intent);
- statusReader.refresh();
- }
- });
- }
-
- @NonNull
- public static Action createDismissTurnArchiveOnAction(
- final Context context,
- DialerImpression.Type impressionToLog,
- VoicemailStatusReader statusReader,
- PerAccountSharedPreferences sharedPreferenceForAccount,
- String preferenceKeyToUpdate) {
- return new Action(
- context.getString(R.string.voicemail_action_dimiss),
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- Assert.checkArgument(
- VoicemailComponent.get(context)
- .getVoicemailClient()
- .isVoicemailArchiveAvailable(context));
- Logger.get(context).logImpression(impressionToLog);
- sharedPreferenceForAccount.edit().putBoolean(preferenceKeyToUpdate, true).apply();
- statusReader.refresh();
- }
- });
- }
-}