Ejemplo n.º 1
0
        private static View GetViewForDoorHandle(Context context, HomeMaticChannel channel)
        {
            var view  = LayoutInflater.From(context).Inflate(Resource.Layout.DoorHandle, null);
            var state = (channel as DoorHandle).State;

            switch (state)
            {
            case DoorHandleState.Open:
                view.FindViewById <TextView>(Resource.Id.tvState).Text         = context.GetString(Resource.String.open);
                view.FindViewById <ImageView>(Resource.Id.ivOpen).Visibility   = ViewStates.Visible;
                view.FindViewById <ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
                break;

            case DoorHandleState.Tilted:
                view.FindViewById <TextView>(Resource.Id.tvState).Text         = context.GetString(Resource.String.tilted);
                view.FindViewById <ImageView>(Resource.Id.ivOpen).Visibility   = ViewStates.Visible;
                view.FindViewById <ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
                break;

            case DoorHandleState.Closed:
                view.FindViewById <TextView>(Resource.Id.tvState).Text         = context.GetString(Resource.String.closed);
                view.FindViewById <ImageView>(Resource.Id.ivOpen).Visibility   = ViewStates.Gone;
                view.FindViewById <ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Visible;
                break;
            }

            return(view);
        }
Ejemplo n.º 2
0
        private static View GetViewForDoorHandle(Context context, HomeMaticChannel channel)
        {
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.DoorHandle, null);
            var state = (channel as DoorHandle).State;

            switch (state)
            {
                case DoorHandleState.Open:
                    view.FindViewById<TextView>(Resource.Id.tvState).Text = context.GetString(Resource.String.open);
                    view.FindViewById<ImageView>(Resource.Id.ivOpen).Visibility = ViewStates.Visible;
                    view.FindViewById<ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
                    break;
                case DoorHandleState.Tilted:
                    view.FindViewById<TextView>(Resource.Id.tvState).Text = context.GetString(Resource.String.tilted);
                    view.FindViewById<ImageView>(Resource.Id.ivOpen).Visibility = ViewStates.Visible;
                    view.FindViewById<ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
                    break;
                case DoorHandleState.Closed:
                    view.FindViewById<TextView>(Resource.Id.tvState).Text = context.GetString(Resource.String.closed);
                    view.FindViewById<ImageView>(Resource.Id.ivOpen).Visibility = ViewStates.Gone;
                    view.FindViewById<ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Visible;
                    break;
            }

            return view;
        }
Ejemplo n.º 3
0
        public static View For(Context context, HomeMaticChannel channel)
        {
            if (channel is Switcher)
            {
                return(GetViewForSwitcher(context, channel));
            }
            if (channel is Contact)
            {
                return(GetViewForContact(context, channel));
            }
            if (channel is DoorHandle)
            {
                return(GetViewForDoorHandle(context, channel));
            }
            if (channel is Information)
            {
                return(GetViewForInformation(context, channel));
            }
            if (channel is TemperatureSlider)
            {
                return(GetViewForTemperatureSlider(context, channel));
            }

            return(LayoutInflater.From(context).Inflate(Resource.Layout.Channel, null));
        }
Ejemplo n.º 4
0
        private static View GetViewForInformation(Context context, HomeMaticChannel channel)
        {
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.Information, null);

            view.FindViewById <TextView>(Resource.Id.tvContent).Text = (channel as Information).Content;
            return(view);
        }
Ejemplo n.º 5
0
        private static View GetViewForTemperatureSlider(Context context, HomeMaticChannel channel)
        {
            var temperatureSlider = (channel as TemperatureSlider);
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.TemperatureSlider, null);

            view.FindViewById <TextView>(Resource.Id.tvState).Text                  = temperatureSlider.Value + temperatureSlider.Unit;
            view.FindViewById <SeekBar>(Resource.Id.sbTemperature).Progress         = Convert.ToInt32(temperatureSlider.Value);
            view.FindViewById <SeekBar>(Resource.Id.sbTemperature).ProgressChanged += (object sender, SeekBar.ProgressChangedEventArgs e) => {
                view.FindViewById <TextView>(Resource.Id.tvState).Text = e.Progress + temperatureSlider.Unit;
            };
            view.FindViewById <SeekBar>(Resource.Id.sbTemperature).StopTrackingTouch += async(object sender, SeekBar.StopTrackingTouchEventArgs e) =>
                                                                                        await temperatureSlider.ChangeTemperatureAsync(e.SeekBar.Progress);

            return(view);
        }
Ejemplo n.º 6
0
        private static View GetViewForSwitcher(Context context, HomeMaticChannel channel)
        {
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.Switcher, null);
            var tbSwitcher = view.FindViewById<ToggleButton>(Resource.Id.tbSwitcher);
            tbSwitcher.Checked = (channel as Switcher).State;
            tbSwitcher.CheckedChange += async delegate(object sender, CompoundButton.CheckedChangeEventArgs e)
            {
                if (e.IsChecked)
                    await (channel as Switcher).OnAsync();
                else
                    await (channel as Switcher).OffAsync();
            };

            return view;
        }
Ejemplo n.º 7
0
        public static View For(Context context, HomeMaticChannel channel)
        {
            if (channel is Switcher)
                return GetViewForSwitcher(context, channel);
            if (channel is Contact)
                return GetViewForContact(context, channel);
            if (channel is DoorHandle)
                return GetViewForDoorHandle(context, channel);
            if (channel is Information)
                return GetViewForInformation(context, channel);
            if (channel is TemperatureSlider)
                return GetViewForTemperatureSlider(context, channel);

            return LayoutInflater.From(context).Inflate(Resource.Layout.Channel, null);
        }
Ejemplo n.º 8
0
        private static View GetViewForContact(Context context, HomeMaticChannel channel)
        {
            var view  = LayoutInflater.From(context).Inflate(Resource.Layout.DoorHandle, null);
            var state = (channel as Contact).State;

            if (state)
            {
                view.FindViewById <TextView>(Resource.Id.tvState).Text         = context.GetString(Resource.String.open);
                view.FindViewById <ImageView>(Resource.Id.ivOpen).Visibility   = ViewStates.Visible;
                view.FindViewById <ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
            }
            else
            {
                view.FindViewById <TextView>(Resource.Id.tvState).Text         = context.GetString(Resource.String.closed);
                view.FindViewById <ImageView>(Resource.Id.ivOpen).Visibility   = ViewStates.Gone;
                view.FindViewById <ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Visible;
            }

            return(view);
        }
Ejemplo n.º 9
0
        private static View GetViewForSwitcher(Context context, HomeMaticChannel channel)
        {
            var view       = LayoutInflater.From(context).Inflate(Resource.Layout.Switcher, null);
            var tbSwitcher = view.FindViewById <ToggleButton>(Resource.Id.tbSwitcher);

            tbSwitcher.Checked        = (channel as Switcher).State;
            tbSwitcher.CheckedChange += async delegate(object sender, CompoundButton.CheckedChangeEventArgs e)
            {
                if (e.IsChecked)
                {
                    await(channel as Switcher).OnAsync();
                }
                else
                {
                    await(channel as Switcher).OffAsync();
                }
            };

            return(view);
        }
Ejemplo n.º 10
0
        private static View GetViewForContact(Context context, HomeMaticChannel channel)
        {
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.DoorHandle, null);
            var state = (channel as Contact).State;

            if (state)
            {
                view.FindViewById<TextView>(Resource.Id.tvState).Text = context.GetString(Resource.String.open);
                view.FindViewById<ImageView>(Resource.Id.ivOpen).Visibility = ViewStates.Visible;
                view.FindViewById<ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Gone;
            }
            else
            {
                view.FindViewById<TextView>(Resource.Id.tvState).Text = context.GetString(Resource.String.closed);
                view.FindViewById<ImageView>(Resource.Id.ivOpen).Visibility = ViewStates.Gone;
                view.FindViewById<ImageView>(Resource.Id.ivClosed).Visibility = ViewStates.Visible;
            }

            return view;
        }
Ejemplo n.º 11
0
 private static View GetViewForInformation(Context context, HomeMaticChannel channel)
 {
     var view = LayoutInflater.From(context).Inflate(Resource.Layout.Information, null);
     view.FindViewById<TextView>(Resource.Id.tvContent).Text = (channel as Information).Content;
     return view;
 }
Ejemplo n.º 12
0
        private static View GetViewForTemperatureSlider(Context context, HomeMaticChannel channel)
        {
            var temperatureSlider = (channel as TemperatureSlider);
            var view = LayoutInflater.From(context).Inflate(Resource.Layout.TemperatureSlider, null);
            view.FindViewById<TextView>(Resource.Id.tvState).Text = temperatureSlider.Value + temperatureSlider.Unit;
            view.FindViewById<SeekBar>(Resource.Id.sbTemperature).Progress = Convert.ToInt32(temperatureSlider.Value);
            view.FindViewById<SeekBar>(Resource.Id.sbTemperature).ProgressChanged += (object sender, SeekBar.ProgressChangedEventArgs e) => {
                view.FindViewById<TextView>(Resource.Id.tvState).Text = e.Progress + temperatureSlider.Unit;
            };
            view.FindViewById<SeekBar>(Resource.Id.sbTemperature).StopTrackingTouch += async (object sender, SeekBar.StopTrackingTouchEventArgs e) =>
                    await temperatureSlider.ChangeTemperatureAsync(e.SeekBar.Progress);

            return view;
        }