protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            SetContentView(Resource.Layout.Diagnostic);

            var layoutManager = new LinearLayoutManager(this);

            DiagnosticCodeRecyclerView.SetLayoutManager(layoutManager);

            DiagnosticBack.Click += DiagnosticBack_Click;

            RefreshButton.Click += RefreshButton_Click;

            ClearCodeButton.LongClick += ClearCodeButton_Click;

            ViewModel       = ContainerManager.Container.Resolve <IMainViewModel>();
            DiagnosticModel = ContainerManager.Container.Resolve <IDiagnosticViewModel>();

            VehicleText.Text = ViewModel.CurrentVehicle.Description;

            //Do this here, because it does not always restore
            if (savedInstanceState != null)
            {
                RestoreValues(savedInstanceState);
            }
        }
        private async Task LoadDiagnosticCodes()
        {
            var codes = await DiagnosticModel.GetDiagnosticCodes();

            if (codes.Count() > 0)
            {
                DiagnosticCodeRecyclerView.Visibility = ViewStates.Visible;
                AllClearText.Visibility = ViewStates.Gone;
            }
            else
            {
                DiagnosticCodeRecyclerView.Visibility = ViewStates.Gone;
                AllClearText.Visibility = ViewStates.Visible;
            }

            // specify an adapter
            var adapter = new DiagnosticCodeAdapter(codes);

            adapter.ItemClick += (s1, arg1) =>
            {
                LaunchSearch(arg1.Code);
            };

            DiagnosticCodeRecyclerView.SetAdapter(adapter);
        }