Fixes setting a toggle as a primary action

Test: manual - try out the custom toggle in SliceBrowser
Change-Id: Icb9945b6a1785687fe123e9dd857cc03cf522ce1
diff --git a/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SampleSliceProvider.java b/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SampleSliceProvider.java
index 16171b1..de764a1 100644
--- a/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SampleSliceProvider.java
+++ b/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SampleSliceProvider.java
@@ -315,7 +315,8 @@
                 .addRow(b -> b
                     .setTitle("Custom toggle")
                     .setSubtitle("It can support two states")
-                    .addEndItem(new SliceAction(getBroadcastIntent(ACTION_TOAST, "star toggled"),
+                    .setPrimaryAction(new SliceAction(getBroadcastIntent(ACTION_TOAST,
+                            "star toggled"),
                             Icon.createWithResource(getContext(), R.drawable.toggle_star),
                             "Toggle star", true /* isChecked */)))
                 .build();
diff --git a/slices/view/src/main/java/androidx/app/slice/widget/RowView.java b/slices/view/src/main/java/androidx/app/slice/widget/RowView.java
index fce819a..5b3e74c 100644
--- a/slices/view/src/main/java/androidx/app/slice/widget/RowView.java
+++ b/slices/view/src/main/java/androidx/app/slice/widget/RowView.java
@@ -197,6 +197,12 @@
         SliceItem primaryAction = mRowContent.getPrimaryAction();
         if (primaryAction != null) {
             mRowAction = new ActionContent(primaryAction);
+            if (mRowAction.isToggle()) {
+                // If primary action is a toggle, add it and we're done
+                addToggle(mRowAction, mTintColor, mEndContainer);
+                setViewClickable(this, true);
+                return;
+            }
         }
         List<SliceItem> endItems = mRowContent.getEndItems();
 
@@ -432,7 +438,7 @@
 
     @Override
     public void onClick(View view) {
-        if (mRowAction != null && mRowAction.getActionItem() != null) {
+        if (mRowAction != null && mRowAction.getActionItem() != null && !mRowAction.isToggle()) {
             // Check for a row action
             try {
                 mRowAction.getActionItem().getAction().send();