コード例 #1
0
  @Override
  public void onClick(View v) {
    if (v.getId() == R.id.galleri) {
      Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
      App.onActivityResultListe.add(this);
      getActivity().startActivityForResult(i, VÆLG_BILLEDE);
    }
    if (v.getId() == R.id.tag_billede)
      try {

        Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        // Hvis vi vil læse billedet i fuld opløsning fra ekstern lager/SD-kort skal vi give en URI
        filPåEksterntLager = DiverseIO.opretUnikFilICache("TRIN_" + trin.id, ".jpg");
        i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(filPåEksterntLager));
        App.onActivityResultListe.add(this);
        getActivity().startActivityForResult(i, TAG_BILLEDE);
      } catch (Exception e) {
        Log.rapporterFejl(e);
      }
  }
コード例 #2
0
  public static void gemOptagelse(final Trin trin, final Optagelse optagelse) {
    try {
      Log.d("gemOptagelse lokalUri=" + optagelse.lokalUri);

      // Vent til allersidst i eventkøen så animationen kan ses
      Diverse.udførSidstIHovedtråden(
          200,
          new Runnable() {
            @Override
            public void run() {
              trin.svar.optagelser.add(optagelse);
              trin.svar.ændretSkalGemmes = true;
              for (Runnable obs : trin.svar.optagelseTilføjetObservatører) obs.run();
              //          UploadService.scheduleImageUpload(App.instans.getApplicationContext(),
              // optagelse.id, optagelse.lokalUri);
              OploadService2.start();
            }
          });
      /*
        final ContentResolver cr = App.instans.getContentResolver();
        BitmapFactory.Options bmOptions = new BitmapFactory.Options();
        bmOptions.inJustDecodeBounds = true;
        FileInputStream is = cr.openAssetFileDescriptor(Uri.parse(optagelse.lokalUri), "r").createInputStream();
        BitmapFactory.decodeStream(is, null, bmOptions);
        is.close();
        optagelse.aspektRatio = (float) bmOptions.outWidth / bmOptions.outHeight;
        App.sætErIGang(true, "cloudinary");
        new AsyncTask() {
          @Override
          protected Object doInBackground(Object[] params) {
            try {
              //uploadParams.put("resource_type", "video");
              //uploadParams.put("resource_type", "auto");
              FileInputStream is = cr.openAssetFileDescriptor(Uri.parse(optagelse.lokalUri), "r").createInputStream();
              Map m = App.cloudinary.uploader().upload(is, ObjectUtils.emptyMap());//ObjectUtils.asMap("public_id", "TRIN_" + trin.id));
              is.close();
              Log.d("cloudinary map="+m);
              Log.d("App.cloudinary.signedPreloadedImage(m) "+App.cloudinary.signedPreloadedImage(m));
              App.cloudinary.signedPreloadedImage(m);
              // map={resource_type=image, etag=441f1307c34a040d0746927f36bca2df, signature=9e0b8cd6d7956176b096e489ab916fab87568f63, url=http://res.cloudinary.com/vuc/image/upload/v1450452511/sample_remote.jpg, height=480, secure_url=https://res.cloudinary.com/vuc/image/upload/v1450452511/sample_remote.jpg, format=jpg, public_id=sample_remote, version=1450452511, original_filename=file, width=640, created_at=2015-12-18T15:28:31Z, tags=[], bytes=114102, type=upload}
              // map={resource_type=image, etag=52012cde897d0095befa9809accc07a9, signature=2099119561879b4eb6be40af3d3f6502aabdb4e4, url=http://res.cloudinary.com/vuc/image/upload/v1452530538/rqlpprmolxx9gckaza3o.jpg, height=480, secure_url=https://res.cloudinary.com/vuc/image/upload/v1452530538/rqlpprmolxx9gckaza3o.jpg, format=jpg, public_id=rqlpprmolxx9gckaza3o, version=1452530538, original_filename=file, width=640, created_at=2016-01-11T16:42:18Z, tags=[], bytes=96149, type=upload}

              return m;
            } catch (Exception e) {
              App.langToast("Det lykkedes ikke at oploade billedet.\n"+e);
              e.printStackTrace();
            }
            return null;
          }

          @Override
          protected void onPostExecute(Object o) {
            App.sætErIGang(false, "cloudinary");
            if (o instanceof Map) {
              Map m = (Map) o;
              optagelse.url = (String) m.get("secure_url");
              if (App.udvikling) App.kortToast("optagelse.url="+optagelse.url);
              optagelse.cloudinary_id = (String) m.get("public_id");
              trin.svar.ændretSkalGemmes = true;
              Fb.gemSvarForEmne(trin.emne);
            }
          }
        }.execute();
      */
    } catch (Exception e) {
      Log.rapporterFejl(e);
    }
  }
コード例 #3
0
 @Override
 public void onClick(View v) {
   if (v.getId() == R.id.supplerende_info) {
     startActivity(new Intent(getActivity(), IndstillingerAkt.class));
     return;
   }
   try {
     final Overførsler.Overførsel u = (Overførsler.Overførsel) v.getTag();
     if (v.getId() == R.id.startStop) {
       Log.d(" startStopKnap " + u);
       if (u.getStatus() == PAUSET) {
         u.setStatus(VENTER);
       } else {
         u.setStatus(PAUSET);
         u.oploadtråd.interrupt();
         App.kortToast("u.oploadtråd.interrupt()!!");
       }
       u.trin.svar.ændretSkalGemmes = true;
       Fb.gemSvarForEmne(u.trin.emne);
       run();
     } else if (v.getId() == R.id.slet) {
       new AlertDialog.Builder(getActivity())
           .setTitle("Slet optagelse?")
           .setMessage("Vil slette optagelsen? Den bliver fjernet fra din besvarelse.")
           .setPositiveButton(
               android.R.string.ok,
               new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface d, int w) {
                   if (u.getStatus() != PAUSET) {
                     u.setStatus(PAUSET);
                     if (u.oploadtråd != null) u.oploadtråd.interrupt();
                   }
                   u.trin.svar.ændretSkalGemmes = true;
                   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                     // Animeret fjernelse af listeelement
                     int pos = liste.indexOf(u);
                     final View le = listView.getChildAt(pos - listView.getFirstVisiblePosition());
                     le.animate()
                         .alpha(0)
                         .translationX(le.getWidth())
                         .withEndAction(
                             new Runnable() {
                               @Override
                               public void run() {
                                 le.setAlpha(1);
                                 le.setTranslationX(0);
                                 u.trin.svar.optagelser.remove(u.optagelse);
                                 OverførslerFrag.this.run();
                                 Fb.gemSvarForEmne(u.trin.emne);
                               }
                             });
                   } else {
                     u.trin.svar.optagelser.remove(u.optagelse);
                     OverførslerFrag.this.run();
                     Fb.gemSvarForEmne(u.trin.emne);
                   }
                 }
               })
           .setNegativeButton(android.R.string.cancel, null)
           .show();
     } else {
       Log.rapporterFejl("Ugyldigt valg");
     }
   } catch (Exception e) {
     Log.rapporterFejl(e);
   }
 }