Disable voicemail archive by default.

+Archive-specific actions are not drawn unless the runtime flag is
enabled
+Disable archive button and menu item

BUG=27375884

Change-Id: Ide7d0a162468279f614e09e01de99d782854a3e1
diff --git a/res/layout/voicemail_playback_layout.xml b/res/layout/voicemail_playback_layout.xml
index 4d5f74f..984a52b 100644
--- a/res/layout/voicemail_playback_layout.xml
+++ b/res/layout/voicemail_playback_layout.xml
@@ -102,16 +102,18 @@
             android:tint="@color/voicemail_icon_tint"
             android:contentDescription="@string/call_log_trash_voicemail" />
 
-        <Space
+        <Space android:id="@+id/space_before_archive_voicemail"
             android:layout_width="0dp"
             android:layout_height="match_parent"
-            android:layout_weight="1"/>
+            android:layout_weight="1"
+            android:visibility="gone" />
 
         <ImageButton android:id="@+id/archive_voicemail"
             style="@style/VoicemailPlaybackLayoutButtonStyle"
             android:src="@drawable/ic_archive_white_24dp"
             android:tint="@color/voicemail_icon_tint"
-            android:contentDescription="@string/call_log_archive_voicemail" />
+            android:contentDescription="@string/call_log_archive_voicemail"
+            android:visibility="gone" />
 
         <Space
             android:layout_width="0dp"
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index 8e31026..0f068f5 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -21,7 +21,8 @@
         android:title="@string/action_menu_call_history_description" />
     <item
         android:id="@+id/menu_archive"
-        android:title="@string/voicemail_archive_activity_title" />
+        android:title="@string/voicemail_archive_activity_title"
+        android:visible="false" />
     <item
         android:id="@+id/menu_import_export"
         android:title="@string/menu_import_export" />
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index e775b0a..58a0474 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -908,6 +908,9 @@
     protected OptionsPopupMenu buildOptionsMenu(View invoker) {
         final OptionsPopupMenu popupMenu = new OptionsPopupMenu(this, invoker);
         popupMenu.inflate(R.menu.dialtacts_options);
+        if (ObjectFactory.isVoicemailArchiveEnabled(this)) {
+            popupMenu.getMenu().findItem(R.id.menu_archive).setVisible(true);
+        }
         popupMenu.setOnMenuItemClickListener(this);
         return popupMenu;
     }
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
index 436fc79..0cbe7f2 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
@@ -32,6 +32,7 @@
 import android.widget.LinearLayout;
 import android.widget.SeekBar;
 import android.widget.SeekBar.OnSeekBarChangeListener;
+import android.widget.Space;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -44,6 +45,7 @@
 import com.android.dialer.database.VoicemailArchiveContract.VoicemailArchive;
 import com.android.dialer.util.AsyncTaskExecutor;
 import com.android.dialer.util.AsyncTaskExecutors;
+import com.android.dialerbind.ObjectFactory;
 import com.google.common.annotations.VisibleForTesting;
 
 import java.util.ArrayList;
@@ -273,6 +275,7 @@
     private ImageButton mPlaybackSpeakerphone;
     private ImageButton mDeleteButton;
     private ImageButton mArchiveButton;
+    private Space mArchiveSpace;
     private TextView mStateText;
     private TextView mPositionText;
     private TextView mTotalDurationText;
@@ -297,8 +300,10 @@
     public void setPresenter(VoicemailPlaybackPresenter presenter, Uri voicemailUri) {
         mPresenter = presenter;
         mVoicemailUri = voicemailUri;
-        updateArchiveUI(mVoicemailUri);
-        updateArchiveButton(mVoicemailUri);
+        if (ObjectFactory.isVoicemailArchiveEnabled(mContext)) {
+            updateArchiveUI(mVoicemailUri);
+            updateArchiveButton(mVoicemailUri);
+        }
     }
 
     @Override
@@ -310,6 +315,7 @@
         mPlaybackSpeakerphone = (ImageButton) findViewById(R.id.playback_speakerphone);
         mDeleteButton = (ImageButton) findViewById(R.id.delete_voicemail);
         mArchiveButton =(ImageButton) findViewById(R.id.archive_voicemail);
+        mArchiveSpace = (Space) findViewById(R.id.space_before_archive_voicemail);
         mStateText = (TextView) findViewById(R.id.playback_state_text);
         mPositionText = (TextView) findViewById(R.id.playback_position_text);
         mTotalDurationText = (TextView) findViewById(R.id.total_duration_text);
@@ -511,6 +517,7 @@
     }
 
     public void hideArchiveButton() {
+        mArchiveSpace.setVisibility(View.GONE);
         mArchiveButton.setVisibility(View.GONE);
         mArchiveButton.setClickable(false);
         mArchiveButton.setEnabled(false);
@@ -582,6 +589,7 @@
                 if (archived) {
                     hideArchiveButton();
                 } else {
+                    mArchiveSpace.setVisibility(View.VISIBLE);
                     mArchiveButton.setVisibility(View.VISIBLE);
                     mArchiveButton.setClickable(true);
                     mArchiveButton.setEnabled(true);
diff --git a/src/com/android/dialerbind/ObjectFactory.java b/src/com/android/dialerbind/ObjectFactory.java
index 4568c1b..935c9f7 100644
--- a/src/com/android/dialerbind/ObjectFactory.java
+++ b/src/com/android/dialerbind/ObjectFactory.java
@@ -44,6 +44,10 @@
         return "com.android.dialer.database.filterednumberprovider";
     }
 
+    public static boolean isVoicemailArchiveEnabled(Context context) {
+        return false;
+    }
+
     @Nullable
     public static ExtendedBlockingButtonRenderer newExtendedBlockingButtonRenderer(
             Context context, ExtendedBlockingButtonRenderer.Listener listener) {