call : accept/reject incoming calls

- removes contacts as sources for the smartList.
- creates smartListItems, and set them as sources for the smartList.
  SmartListItem is a UI control, not a model.
- adds contacts and calls (associated) inside smartListItem.
- removes some UI property from contact class (model).
- adds a new filter : Controls, where smartListItems belongs.

Tuleap: #1014
Change-Id: Ia7679c2328f9dc85b6265c5e518aad08805230fb
diff --git a/SmartPanel.xaml b/SmartPanel.xaml
index 65d0543..307c9c1 100644
--- a/SmartPanel.xaml
+++ b/SmartPanel.xaml
@@ -19,6 +19,7 @@
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

       xmlns:local="using:RingClientUWP"

+      xmlns:controls="using:RingClientUWP.Controls"

       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

       mc:Ignorable="d">

@@ -148,6 +149,63 @@
                            Text="{x:Bind ringID_}"/>

             </Grid>

         </DataTemplate>

+        <!-- template for calls. -->

+        <DataTemplate x:Key="CallTemplate" x:DataType="local:Call">

+            <Grid Width="320"

+                      HorizontalAlignment="Left"

+

+                      Background="DarkGray">

+                <Grid.RowDefinitions>

+                    <RowDefinition Height="30"/>

+                    <RowDefinition Height="30"/>

+                </Grid.RowDefinitions>

+                <TextBlock x:Name="_contactCallStatus_"

+                           Grid.Row="0"

+                           Foreground="White"

+                           Text="{x:Bind state, Mode=OneWay}"

+                           Visibility="Visible"

+                           HorizontalAlignment="Center">

+                </TextBlock>

+                <StackPanel Orientation="Horizontal"

+                            Grid.Row="1"

+                            HorizontalAlignment="Center">

+                    <Button x:Name="_acceptIncomingCallBtn_"

+                            Click="_acceptIncomingCallBtn__Click"

+                            VerticalAlignment="Center"

+                            HorizontalAlignment="Center"

+                            Content="Accept"/>

+                    <Button x:Name="_rejectIncomingCallBtn_"

+                            Click="_rejectIncomingCallBtn__Click"

+                            VerticalAlignment="Center"

+                            HorizontalAlignment="Center"

+                            Content="Reject"/>

+                </StackPanel>

+            </Grid>

+        </DataTemplate>

+        <!-- template for smartpanelitems. -->

+        <DataTemplate x:Key="SmartPanelItemsTemplate"

+                      x:DataType="controls:SmartPanelItem">

+            <Grid>

+                <Grid.RowDefinitions>

+                    <RowDefinition Height="auto"/>

+                    <RowDefinition Height="auto"/>

+                </Grid.RowDefinitions>

+                <ListBoxItem x:Name="_contactItem_"

+                             Padding="0"

+                             Margin="0"

+                             IsHitTestVisible="False"

+                             Grid.Row="0"

+                             ContentTemplate="{StaticResource ContactTemplate}"

+                             Content="{x:Bind _contact, Mode=OneWay}"/>

+                <ListBoxItem x:Name="_callItem_"

+                             Grid.Row="1"

+                             Visibility="{x:Bind _callBar, Mode=OneWay}"

+                             Padding="0"

+                             Margin="0"

+                             ContentTemplate="{StaticResource CallTemplate}"

+                             Content="{x:Bind _call, Mode=OneWay}"/>

+            </Grid>

+        </DataTemplate>

     </Page.Resources>

 

     <Grid>

@@ -338,9 +396,9 @@
                 </Grid>

             </Grid>

         </Grid>

-        <!-- contact list and settings. -->

+        <!-- smartList and settings. -->

         <Grid Grid.Row="1">

-            <!-- contacts list. -->

+            <!-- contacts + calls => smartpanelitems. -->

             <Grid x:Name="_smartGrid_"

                   Grid.Row="0">

                 <Grid.RowDefinitions>

@@ -364,7 +422,7 @@
                          ScrollViewer.HorizontalScrollBarVisibility="Auto"

                          ScrollViewer.HorizontalScrollMode="Enabled"

                          ItemContainerStyle="{StaticResource contactsListBoxStyle}"

-                         ItemTemplate="{StaticResource ContactTemplate}"/>

+                         ItemTemplate="{StaticResource SmartPanelItemsTemplate}"/>

             </Grid>

             <!-- settings. -->

             <Grid x:Name="_settings_"