TIF: Add test case for ACTION_SETUP_INPUTS

Bug: 27359760
Change-Id: I89037c04ef8cc3331e6b92a17f3e1c49b6761e15
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index 8712a5b..b5618f10 100644
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -2441,6 +2441,13 @@
     Do you see the programs named \"Dummy Program\" and their descriptions
     "Dummy Program Description" in the EPG?
     </string>
+    <string name="tv_input_discover_test_trigger_setup">
+    Select the \"Launch setup\" button and verify if the bundled TV app shows the list of installed
+    TV inputs for setup.
+    </string>
+    <string name="tv_input_discover_test_verify_trigger_setup">
+    Do you see the \"CTS Verifier\" input in the list?
+    </string>
 
     <string name="tv_parental_control_test">TV app parental controls test</string>
     <string name="tv_parental_control_test_info">
@@ -2468,6 +2475,7 @@
 
     <string name="tv_launch_tv_app">Launch TV app</string>
     <string name="tv_launch_epg">Launch EPG</string>
+    <string name="tv_launch_setup">Launch setup</string>
     <string name="tv_channel_not_found">
     CtsVerifier channel is not set up. Please set up before proceeding.
     </string>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
index e8e2cee..56c8ac0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/tv/TvInputDiscoveryTestActivity.java
@@ -20,6 +20,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.media.tv.TvContract;
+import android.media.tv.TvInputManager;
 import android.os.AsyncTask;
 import android.view.View;
 
@@ -36,6 +37,8 @@
             TvContract.Channels.CONTENT_URI);
     private static final Intent EPG_INTENT = new Intent(Intent.ACTION_VIEW,
             TvContract.Programs.CONTENT_URI);
+    private static final Intent TV_TRIGGER_SETUP_INTENT = new Intent(
+            TvInputManager.ACTION_SETUP_INPUTS);
 
     private static final long TIMEOUT_MS = 5l * 60l * 1000l;  // 5 mins.
 
@@ -47,6 +50,8 @@
     private View mVerifyGlobalSearchItem;
     private View mGoToEpgItem;
     private View mVerifyEpgItem;
+    private View mTriggerSetupItem;
+    private View mVerifyTriggerSetupItem;
     private boolean mTuneVerified;
     private boolean mOverlayViewVerified;
     private boolean mGlobalSearchVerified;
@@ -109,6 +114,13 @@
             setButtonEnabled(mVerifyEpgItem, true);
         } else if (containsButton(mVerifyEpgItem, v)) {
             setPassState(mVerifyEpgItem, true);
+            setButtonEnabled(mTriggerSetupItem, true);
+        } else if (containsButton(mTriggerSetupItem, v)) {
+            startActivity(TV_TRIGGER_SETUP_INTENT);
+            setPassState(mTriggerSetupItem, true);
+            setButtonEnabled(mVerifyTriggerSetupItem, true);
+        } else if (containsButton(mVerifyTriggerSetupItem, v)) {
+            setPassState(mVerifyTriggerSetupItem, true);
             getPassButton().setEnabled(true);
         }
     }
@@ -130,6 +142,10 @@
                 R.string.tv_launch_epg, this);
         mVerifyEpgItem = createUserItem(R.string.tv_input_discover_test_verify_epg,
                 android.R.string.yes, this);
+        mTriggerSetupItem = createUserItem(R.string.tv_input_discover_test_trigger_setup,
+                R.string.tv_launch_setup, this);
+        mVerifyTriggerSetupItem = createUserItem(
+                R.string.tv_input_discover_test_verify_trigger_setup, android.R.string.yes, this);
     }
 
     @Override