Esempio n. 1
0
 private void chargementDonnees() {
   if (UIUtils.isNetworkAvailable(getBaseContext())) {
     if (FileUtils.isExternalStorageWritable()) {
       AlertDialog.Builder builder = new AlertDialog.Builder(this);
       builder
           .setTitle(getString(R.string.sync_message_title))
           .setMessage(getString(R.string.dial_message))
           .setPositiveButton(
               R.string.dial_oui,
               new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                   appelerSynchronizer(true);
                 }
               })
           .setNeutralButton(
               R.string.dial_cancel,
               new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                   // On ne fait rien
                 }
               })
           .setNegativeButton(
               R.string.dial_non,
               new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                   appelerSynchronizer(false);
                 }
               });
       builder.create();
       builder.show();
     } else {
       Toast.makeText(getBaseContext(), getText(R.string.sync_erreur), Toast.LENGTH_LONG).show();
     }
   } else {
     Toast.makeText(getBaseContext(), getText(R.string.sync_erreur_reseau), Toast.LENGTH_LONG)
         .show();
   }
 }
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    if (getActivity().getIntent().getExtras() != null) {
      idSession = getActivity().getIntent().getExtras().getLong(UIUtils.MESSAGE);
      typeSession = getActivity().getIntent().getExtras().getString(UIUtils.TYPE);
    } else {
      // On gere le cas ou on tourne l'écran en restorant les états de la vue
      idSession = savedInstanceState.getLong("ID_SESSION");
      ;
      typeSession = savedInstanceState.getString("TYPE_SESSION");
    }
    Conference conference = null;
    // On recupere la session concernee
    if (TypeFile.lightningtalks.name().equals(typeSession)) {
      conference = ConferenceFacade.getInstance().getLightningtalk(getActivity(), idSession);
    } else {
      conference = ConferenceFacade.getInstance().getTalk(getActivity(), idSession);
    }

    List<Membre> speakers = new ArrayList<Membre>();
    for (Long id : conference.getSpeakers()) {
      Membre membre =
          MembreFacade.getInstance().getMembre(getActivity(), TypeFile.members.name(), id);
      if (membre != null) {
        speakers.add(membre);
      }
    }

    // On affiche les liens que si on a recuperer des choses
    if (!speakers.isEmpty()) {
      // On utilisait auparavant une liste pour afficher ces éléments dans la page mais cette liste
      // empêche d'avoir un ScrollView englobant pour toute la page. Nous utilisons donc un tableau
      linearLayoutRoot =
          (LinearLayout) mInflater.inflate(R.layout.fragment_linear, mRootView, false);

      // On vide les éléments
      linearLayoutRoot.removeAllViews();

      // On ajoute un table layout
      TableLayout.LayoutParams tableParams =
          new TableLayout.LayoutParams(
              TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT);
      TableLayout tableLayout = new TableLayout(getActivity().getBaseContext());
      tableLayout.setLayoutParams(tableParams);

      for (final Membre membre : speakers) {
        RelativeLayout row = (RelativeLayout) mInflater.inflate(R.layout.person_item, null);
        row.setBackgroundResource(R.drawable.row_transparent_background);

        // Dans lequel nous allons ajouter le contenu que nous faisons mappé dans
        userName = (TextView) row.findViewById(R.id.person_user_name);
        descriptif = (TextView) row.findViewById(R.id.person_shortdesciptif);
        level = (TextView) row.findViewById(R.id.person_level);
        profileImage = (ImageView) row.findViewById(R.id.person_user_image);

        userName.setText(membre.getCompleteName());

        if (membre.getShortdesc() != null) {
          descriptif.setText(membre.getShortdesc().trim());
        }

        if (membre.getLevel() != null && !membre.getLevel().isEmpty()) {
          level.setText("[" + membre.getLevel().trim() + "]");
        }

        // Recuperation de l'mage liee au profil
        Bitmap image = FileUtils.getImageProfile(getActivity(), membre);
        if (image == null) {
          profileImage.setImageDrawable(getResources().getDrawable(R.drawable.person_image_empty));
        } else {
          // On regarde dans les images embarquees
          profileImage.setImageBitmap(image);
        }

        row.setOnClickListener(
            new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                Map<String, Object> parameters = new HashMap<String, Object>(2);
                parameters.put(UIUtils.MESSAGE, membre.getId());
                parameters.put(UIUtils.TYPE, TypeFile.speaker);
                UIUtils.startActivity(MembreActivity.class, getActivity(), parameters);
              }
            });

        tableLayout.addView(row);
      }

      linearLayoutRoot.addView(tableLayout);
      mRootView.addView(linearLayoutRoot);
    }
  }