Add NetworkDelegationActivity into customizationsample app

Also set user_initiated boolean if user backs out of any Activities.

Test: manual
Change-Id: I45d09f84e8d73c5cf3c3d44547e70a215d68ead1
diff --git a/apps/tv/SetupCustomizationSample/app/src/main/AndroidManifest.xml b/apps/tv/SetupCustomizationSample/app/src/main/AndroidManifest.xml
index 30f0c86..274f199 100644
--- a/apps/tv/SetupCustomizationSample/app/src/main/AndroidManifest.xml
+++ b/apps/tv/SetupCustomizationSample/app/src/main/AndroidManifest.xml
@@ -83,6 +83,20 @@
             </intent-filter>
         </activity>
 
+
+        <!-- Implements the delegate-network-to-partner action. -->
+        <activity
+            android:name=".NetworkDelegationActivity"
+            android:screenOrientation="landscape"
+            android:label="Network Delegation"
+            >
+            <intent-filter>
+                <action android:name="com.android.net.GET_CONNECTED" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+
     </application>
 
 </manifest>
diff --git a/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/HookBegin2Activity.java b/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/HookBegin2Activity.java
index 532e50a..e4af2ab 100644
--- a/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/HookBegin2Activity.java
+++ b/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/HookBegin2Activity.java
@@ -8,7 +8,7 @@
 public class HookBegin2Activity extends HookActivity {
 
     private static final String EXTRA_PARTNER_HANDLED_NETWORK = "partner_handled_network";
-    private static final String EXTRA_PARTNER_HANDLED_NETWORK_USER_SKIPPED = "partner_handled_network_user_skipped";
+    private static final String EXTRA_PARTNER_HANDLED_NETWORK_USER_SKIPPED = "user_skipped_network_setup";
 
     @Override
     protected void onAboutToFinish() {
diff --git a/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/NetworkDelegationActivity.java b/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/NetworkDelegationActivity.java
new file mode 100644
index 0000000..a90c58c
--- /dev/null
+++ b/apps/tv/SetupCustomizationSample/app/src/main/java/com/google/android/tv/setup/customizationsample/NetworkDelegationActivity.java
@@ -0,0 +1,46 @@
+package com.google.android.tv.setup.customizationsample;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.KeyEvent;
+
+/**
+ * A network delegation Activity, which simulates presenting a get-me-connected user interface.
+ */
+public class NetworkDelegationActivity extends BaseActivity {
+
+    public static final int RESULT_CODE_USER_SKIPPED = 3;
+    boolean mHeardKey;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        tv1.setText("Press CENTER to pretend we just set up the network; press RIGHT to skip; press BACK to back out");
+    }
+
+    @Override
+    public boolean onKeyUp(int keyCode, KeyEvent event) {
+        if (!mHeardKey && keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
+            mHeardKey = true;
+            setResult(Activity.RESULT_OK);
+            finish();
+            return true;
+        }
+        if (!mHeardKey && keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
+            mHeardKey = true;
+            setResult(RESULT_CODE_USER_SKIPPED);
+            finish();
+            return true;
+        }
+        return super.onKeyUp(keyCode, event);
+    }
+
+    @Override
+    public void onBackPressed() {
+        setResult(Activity.RESULT_CANCELED, new Intent().putExtra("user_initiated", true));
+        finish();
+    }
+}
+
+
diff --git a/apps/tv/SetupValidation/app/src/main/java/com/google/android/tv/setup/BaseActivity.java b/apps/tv/SetupValidation/app/src/main/java/com/google/android/tv/setup/BaseActivity.java
index d369192..f1e95df 100644
--- a/apps/tv/SetupValidation/app/src/main/java/com/google/android/tv/setup/BaseActivity.java
+++ b/apps/tv/SetupValidation/app/src/main/java/com/google/android/tv/setup/BaseActivity.java
@@ -1,6 +1,7 @@
 package com.google.android.tv.setup;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 import android.widget.Button;
@@ -47,4 +48,10 @@
     protected void log(String message) {
         Log.d(getPackageName(), message);
     }
+
+    @Override
+    public void onBackPressed() {
+        setResult(RESULT_CANCELED, new Intent().putExtra("user_initiated", true));
+        super.onBackPressed();
+    }
 }