PerfilPacienteFragment

com.uva.rafael.tfg_goniometer.view.fragments

## Class PerfilPacienteFragment

- java.lang.Object
- - android.app.Fragment
  - - com.uva.rafael.tfg_goniometer.view.fragments.PerfilPacienteFragment

- All Implemented Interfaces:
    android.content.ComponentCallbacks, android.content.ComponentCallbacks2, android.view.View.OnClickListener, android.view.View.OnCreateContextMenuListener, ViewFunctions, ViewFunctions.PerfilPacienteFunctions

      public class PerfilPacienteFragment
      extends android.app.Fragment
      implements android.view.View.OnClickListener, ViewFunctions, ViewFunctions.PerfilPacienteFunctions

  Esta clase es el `Fragment` que se encarga de: 1.- Mostrar la informacion almacenada en la Base de Datos del paciente en concreto (datos personales, sintomas, etc.) 2.- Mostrar/Ocultar el boton para borrar un paciente del sistema. Este boton se mostrara siempre y cuando no se vaya a añadir una nueva medicion al paciente en cuestion. 3.- Mostrar/Ocultar el boton para añadir una nueva medicion al paciente en cuestion. Este boton se mostrara si previamente se ha realizado una medicion en `MedicionFragment`. 4.- Mostrar una tabla con el listado de mediciones que se han realizado previamente al paciente en cuestion (o una tabla vacia en caso contrario).

  Ademas de estas tareas, se encarga de notificar a `PerfilPacientePresenter` cuando el usuario ha pulsado sobre el boton para añadir una nueva medicion, o al boton para borrar el perfil del paciente.

  Por ultimo, se encarga de notificar al usuario si un paciente ha sido eliminado correctamente (o no se ha podido eliminar) de la Base de Datos.

  Esta clase forma parte de la aplicacion TFG-Goniometer, desarrollada para el Trabajo de Fin de Grado - Grado en Ingenieria Informatica (Universidad de Valladolid)

  Version:
    1.0
  Author:
    Rafael Matamoros Luque
  See Also:
    `PerfilPacientePresenter`, `TableLayout`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class android.app.Fragment

      `android.app.Fragment.InstantiationException, android.app.Fragment.SavedState`

    - ### Nested classes/interfaces inherited from interface com.uva.rafael.tfg_goniometer.interfaces.ViewFunctions

      `ViewFunctions.MedicionFunctions, ViewFunctions.NuevaMedicionFunctions, ViewFunctions.NuevoPacienteFunctions, ViewFunctions.PerfilPacienteFunctions, ViewFunctions.SobreAppFunctions, ViewFunctions.UltimasMedicionesFunctions`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) PerfilPacientePresenter` | `presenter`

    - ### Fields inherited from interface android.content.ComponentCallbacks2

      `TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PerfilPacienteFragment()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addView(android.view.View view)` Metodo que se encarga de añadir una `View` hija al `Table Layout` que contiene el listado de mediciones del paciente
    `void` | `displayError()` Metodo que muestra un mensaje de error cuando se ha intentado eliminar un paciente de la Base de Datos.
    `void` | `displayResult(android.support.v7.app.AlertDialog dialog)` Metodo que simplemente muestra el `AlertDialog` que ha recibido como parametro.
    `void` | `displaySuccess()` Metodo que muestra un mensaje de exito cuando se ha logrado eliminar correctamente un paciente de la Base de Datos.
    `void` | `onClick(android.view.View view)` Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre el boton para borrar el perfil del paciente actual.
    `void` | `onCreate(android.os.Bundle savedInstanceState)` Called when the activity is starting.
    `android.view.View` | `onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)` Metodo llamado para instanciar el `Fragment` con su layout asociada (R.layout.perfil_paciente_fragment, en este caso).
    `void` | `onDestroy()` Perform any final cleanup before an activity is destroyed.
    `void` | `setConstantesBundle(java.util.ArrayList<java.lang.String> constantesBundle)` Metodo que se encarga de asignar a las variables locales, la informacion contenida en el `Bundle`
    `void` | `setMostrarOpcionesBorrarPaciente(boolean mostrarOpcionesBorrarPaciente)` Metodo "setter" para actualizar el valor de la variable "mostrarOpcionesBorrarPaciente" con el fin de gestionar si es necesario mostrar o no el boton para borrar el perfil de un paciente.
    `void` | `setMostrarOpcionesNuevaMedicion(boolean mostrarOpcionesNuevaMedicion)` Metodo "setter" para actualizar el valor de la variable "mostrarOpcionesNuevaMedicion" con el fin de gestionar si es necesario mostrar o no el boton para añadir una nueva medicion al paciente.
    `void` | `setText(int textView, java.lang.String text)` Metodo que se encarga de escribir en el `TextView` indicado el texto que recibe como parametro.

    - ### Methods inherited from class android.app.Fragment

      `dump, equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLoaderManager, getParentFragment, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, hashCode, instantiate, instantiate, isAdded, isDetached, isHidden, isInLayout, isRemoving, isResumed, isVisible, onActivityCreated, onActivityResult, onAttach, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroyOptionsMenu, onDestroyView, onDetach, onHiddenChanged, onInflate, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsMenu, onRequestPermissionsResult, onResume, onSaveInstanceState, onStart, onStop, onTrimMemory, onViewCreated, onViewStateRestored, registerForContextMenu, requestPermissions, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivity, startActivityForResult, startActivityForResult, startIntentSenderForResult, toString, unregisterForContextMenu`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### presenter

          @Inject
          PerfilPacientePresenter presenter

  - ### Constructor Detail

    - #### PerfilPacienteFragment

          public PerfilPacienteFragment()

  - ### Method Detail

    - #### onCreate

          public void onCreate(@Nullable
                               android.os.Bundle savedInstanceState)

      Called when the activity is starting.

      En este punto se comprueba si se ha pasado informacion al `Fragment` a traves de un Bundle, y, de ser asi, es almacenada en las variables globales del `Fragment`.

      Overrides:
        `onCreate` in class `android.app.Fragment`
      Parameters:
        `savedInstanceState` - `Bundle`: If the activity is being re-initialized after previously being shut down then this `Bundle` contains the data it most recently supplied in `onSaveInstanceState(Bundle)`. Otherwise it is null.

    - #### onCreateView

          @Nullable
          public android.view.View onCreateView(android.view.LayoutInflater inflater,
                                                          @Nullable
                                                          android.view.ViewGroup container,
                                                          android.os.Bundle savedInstanceState)

      Metodo llamado para instanciar el `Fragment` con su layout asociada (R.layout.perfil_paciente_fragment, en este caso).

      Se encarga de mostrar al usuario la informacion que se tiene almacenada en la Base de Datos sobre ese paciente (tanto datos personales como mediciones que se han realizado sobre el). Ademas, se encarga de mostrar/ocultar el boton para borrar el perfil del paciente y añadir una nueva medicion al paciente, en funcion del valor de las variables globales empleadas para controlar ese comportamiento.

      Por ultimo, se encarga de notificar a `PerfilPacientePresenter` cuando el usuario ha pulsado sobre el boton para añadir una nueva medicion.

      Overrides:
        `onCreateView` in class `android.app.Fragment`
      Parameters:
        `inflater` - The LayoutInflater object that can be used to inflate any view in the fragment.
        `container` - If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view.
        `savedInstanceState` - If non-null, this fragment is being re-constructed from a previous saved state as given here. Return the View for the fragment's UI, or null.

    - #### setMostrarOpcionesNuevaMedicion

          public void setMostrarOpcionesNuevaMedicion(boolean mostrarOpcionesNuevaMedicion)

      Metodo "setter" para actualizar el valor de la variable "mostrarOpcionesNuevaMedicion" con el fin de gestionar si es necesario mostrar o no el boton para añadir una nueva medicion al paciente.
      Parameters:
        `mostrarOpcionesNuevaMedicion` - Valor nuevo para actualizar la variable

    - #### setMostrarOpcionesBorrarPaciente

          public void setMostrarOpcionesBorrarPaciente(boolean mostrarOpcionesBorrarPaciente)

      Metodo "setter" para actualizar el valor de la variable "mostrarOpcionesBorrarPaciente" con el fin de gestionar si es necesario mostrar o no el boton para borrar el perfil de un paciente.
      Parameters:
        `mostrarOpcionesBorrarPaciente` - Valor nuevo para actualizar la variable

    - #### onClick

          public void onClick(android.view.View view)

      Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre el boton para borrar el perfil del paciente actual. Se encarga de notificar a `PerfilPacientePresenter` de esta situacion, pasando como parametro el nombre del paciente a borrar.
      Specified by:
        `onClick` in interface `android.view.View.OnClickListener`
      Parameters:
        `view` - `View` sobre la que se aplica

    - #### setConstantesBundle

          public void setConstantesBundle(java.util.ArrayList<java.lang.String> constantesBundle)

      Metodo que se encarga de asignar a las variables locales, la informacion contenida en el `Bundle`
      Specified by:
        `setConstantesBundle` in interface `ViewFunctions.PerfilPacienteFunctions`
      Parameters:
        `constantesBundle` - `ArrayList` con las constantes para obtener la informacion del `Bundle`

    - #### setText

          public void setText(int textView,
                              java.lang.String text)

      Metodo que se encarga de escribir en el `TextView` indicado el texto que recibe como parametro.
      Specified by:
        `setText` in interface `ViewFunctions.PerfilPacienteFunctions`
      Parameters:
        `textView` - `TextView` en el que se debe escribir
        `text` - Texto a escribir

    - #### addView

          public void addView(android.view.View view)

      Metodo que se encarga de añadir una `View` hija al `Table Layout` que contiene el listado de mediciones del paciente
      Specified by:
        `addView` in interface `ViewFunctions.PerfilPacienteFunctions`
      Parameters:
        `view` - `View` hija a añadir

    - #### displayResult

          public void displayResult(android.support.v7.app.AlertDialog dialog)

      Metodo que simplemente muestra el `AlertDialog` que ha recibido como parametro.
      Specified by:
        `displayResult` in interface `ViewFunctions.PerfilPacienteFunctions`
      Parameters:
        `dialog` - `AlertDialog` a mostrar

    - #### displaySuccess

          public void displaySuccess()

      Metodo que muestra un mensaje de exito cuando se ha logrado eliminar correctamente un paciente de la Base de Datos.
      Specified by:
        `displaySuccess` in interface `ViewFunctions`

    - #### displayError

          public void displayError()

      Metodo que muestra un mensaje de error cuando se ha intentado eliminar un paciente de la Base de Datos.
      Specified by:
        `displayError` in interface `ViewFunctions`

    - #### onDestroy

          public void onDestroy()

      Perform any final cleanup before an activity is destroyed.
      Overrides:
        `onDestroy` in class `android.app.Fragment`