These are chat archives for rcgonzalezf/desarrollador-movil

26th
May 2016
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 00:33
es cierto la Mac OS app está mejor que la mobile app, buen tip @jmsalcido
Jose Salcido
@jmsalcido
May 26 2016 00:34
oigan, que podcasts/weekly lists escuchan/leen ustedes?
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 00:39
Les recomiendo este para Android:
bien machin!!, Chet está pesado siempre tiene invitados curados y no están cerrados solo a Google, aparte es muy ameno, hace bromas etc...
Jose Salcido
@jmsalcido
May 26 2016 00:40
!! nice
me lo recomendaste, pero no lo guardé en bookmarks, thx!
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 00:42
para iOS/Swift/TDD/Objective C me late mucho este blog:
http://qualitycoding.org/
a veces sube vídeos, es un vato que chambeaba en eBay, medio famoso en el mundo de iOS por ser el líder de OCMockito (Mockito para iOS devs)
escribe seguido, pone buen material :)
Jose Salcido
@jmsalcido
May 26 2016 00:44
jaja
cool~ me gusta por que en la mañana llego normalmente a leer
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 00:45
la neta lo que le aprendas a ese vato te sirve para cualquier plataforma, en sí es para mejorar tus habilidades de programador
Omar
@omaraf_twitter
May 26 2016 01:35
Tengo un bug en Android, estoy tratando de tomar una foto
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:37
usando el intent de la camara?
estas usando Camera2 ?
Omar
@omaraf_twitter
May 26 2016 01:39
sorry
me trabé
intent de cámara
el rollo es que le estoy mandando que lo guarde a una uri
pero nomás la primera vez truena
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:39
simon, en External Storage
Omar
@omaraf_twitter
May 26 2016 01:39
cuando vuelvo a intentar sí se guarda bien
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:39
por lo qué comentaste ayer
puedes poner la excepción?
Omar
@omaraf_twitter
May 26 2016 01:40
.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
viene vacío
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:40
quizá sea Race Condition, estás obteniendo el resultado en onActivityResult
Omar
@omaraf_twitter
May 26 2016 01:40
cómo funciona esa onda? .NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
acas haha
más bonito
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:41
no eso no es race condition, es un parametro que le mandas al Intent cuando invocas la cámara
pega el código de invocacion para ver que params le mandas al Intent
Omar
@omaraf_twitter
May 26 2016 01:47
// Continue only if the File was successfully created if (photoFile != null) { takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); int requestCode = mPendingAction == GetPhotoOriginDialogFragment.EDITING_PROFILE_PHOTO ? REQUEST_TAKE_PROFILE_PHOTO : REQUEST_TAKE_COMPANY_LOGO; startActivityForResult(takePictureIntent, requestCode); }
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:47

te adelanto estos intents son problemáticos, depende del teléfono, he aplicado algunas soluciones comunes:

  1. A veces funciona si mandas la URL dónde la cámara va a guardar la imagen (casi siempre).
  2. La url guardala antes de salir de tu activity, cuando regrese en el result ahí debe aparecer.

Segunda solución, no mandes parametro, Si quieres seguir así, después que regresaste:
a. Verifica si esta en el data de onActivityResult, me refiero al parámetro.
b. Verifica con getIntent().getData()

Omar
@omaraf_twitter
May 26 2016 01:47
huh se pega feo
creo que eso es lo que está pasando
no se está regresando la uri en el getData del Intent
por eso truena
Uri selectedImageUri = data.getData();
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:48
si eso es esperado
porque tu le estas diciendo dónde, con el parametro MediaStore.EXTRA_OUTPUT
Omar
@omaraf_twitter
May 26 2016 01:49
pero entonces qué onda?
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:49
si checas tu archivo debe estar en:
yourImage = Uri.fromFile(photoFile)
Omar
@omaraf_twitter
May 26 2016 01:50
lo que no entiendo por qué es las siguientes veces sí funciona
sólo la primera no funciona
así se ve mejor?
// Continue only if the File was successfully created
            if (photoFile != null) {
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                        Uri.fromFile(photoFile));
                int requestCode = mPendingAction == GetPhotoOriginDialogFragment.EDITING_PROFILE_PHOTO ? REQUEST_TAKE_PROFILE_PHOTO : REQUEST_TAKE_COMPANY_LOGO;
                startActivityForResult(takePictureIntent, requestCode);
            }
sí :D
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:51
mucho mejor,
la siguiente vez ha de funcionar pq tiene el data de tu Activity anterior
la neta la Camera siempre es problematica, por eso crearon el Camera2
así de cochi le llamaron, jajaja
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:52
pero si hazle como te dije, no cheques el data
Omar
@omaraf_twitter
May 26 2016 01:53
entonces… uso la variable que ya tenía en mi actividad?
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:53
ya que estas mandando el extra MediaStore.EXTRA_OUTPUT no tiene sentido que verifiques el data
Omar
@omaraf_twitter
May 26 2016 01:53
a ver..
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:53
la Camera lo debe estar guardando en Uri.fromFile(photoFile)
sino ve y checa tu gallery/media explorer y veras que así pasa
Omar
@omaraf_twitter
May 26 2016 01:53
creo que ya entendí
es que también en el mismo onactivityresult
checo el resultado del Gallery cuando no toman la foto pero la seleccionan
entonces cuando hago eso ahí sí viene
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:54
estas setteando algo?
ey, ya la segunda vez ya existe
por eso tiene sentido que la segunda ya la veas
Omar
@omaraf_twitter
May 26 2016 01:54
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode==RESULT_OK){
            Uri selectedImageUri = data.getData();
            switch (requestCode){
                case REQUEST_TAKE_PROFILE_PHOTO:
                    loadPhotoToSimpleDraweeView(editProfilePhoto, mCurrentPhotoPath);
                    mProfilePhotoUri = new String(mCurrentPhotoPath);
                    break;

                case REQUEST_TAKE_COMPANY_LOGO:
                    loadPhotoToSimpleDraweeView(editCompanyLogo, mCurrentPhotoPath);
                    mCompanyLogoUri = new String(mCurrentPhotoPath);
                    break;

                case SELECT_PROFILE_PICTURE:
                    loadPhotoURIToSimpleDraweeView(editProfilePhoto, selectedImageUri);
                    break;

                case SELECT_COMPANY_LOGO:
                    loadPhotoURIToSimpleDraweeView(editCompanyLogo, selectedImageUri);
                    break;

            }
        }
    }
entonces ese set está mal
tiene que ir adentro
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 01:55
Las fotos no estan hechas para verse en cel xD
Omar
@omaraf_twitter
May 26 2016 01:55
o igual y pudiera ir ahí
no son fotos haha
es markdown
lo convertirá a foto?
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 01:55
No puedo abrirla solo veo la orilla
Omar
@omaraf_twitter
May 26 2016 01:56
qué loco, es markdown
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:56
yo si veo el código
y escrolleo a la derecha
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 01:56
Yo solo veo un pedazo de
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:56
anyway
Omar
@omaraf_twitter
May 26 2016 01:56
checaré el null
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:56
si se ve un pedazo, pero si escrolleas con el dedo, se ve lo demás
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 01:56
Oooh what you say!!
Omar
@omaraf_twitter
May 26 2016 01:56
haha
whayoumean
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:56
me tengo que ir, voy a manejar @Mukazuge te ayuda
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 01:56
Hahaja si si scrolleo pa un lado se deja
Hahajaja maldita ignoralcia
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 01:56
el tiene código de eso mismo
que hizó hace apenas unos meses, jajajaja
justo le pasaba lo mismo
pinchi pedo de la Camera es tan famoso
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 02:00
Si se me hace familiar, ahorita que me bañe y ponga la lap veo en que puedo ayudarte si es que aun no lo resuelves
Omar
@omaraf_twitter
May 26 2016 02:00
a ver, creo que ya vi la luz
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 02:01
Eso es bueno
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:04
no se si resolviste el misterio de la camara, pero me fije en mi codigo y lo que yo uso es un poco diferente
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 05:05
Si ntp
Ya quedó :)
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:05
que era?
estaba pidiendo data inexistente?
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 05:06
Omar dijo que estaba haciendo context switching
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:06
ahh por eso se perdia el value de la var?
Roberto Carlos Gonzalez Flores
@moxi
May 26 2016 05:09
Mejor esperamos a que el explique mañana, puedo hacer asumpciones incorrectas
Omar
@omaraf_twitter
May 26 2016 05:10
era el mono
PERO
todavía se comporta raro
creo que es el teléfono
está tronando
creo que se le está acabando la memoria
es un Moto G 3Gen
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:13
uhmm y de puuuuura casualidad no estas tratando de usar algo que no es del api que usa tu cel?
algun feature que tenga tu codigo que sea del api al que apuntas
pero que tu cel este mas viejo
?
Omar
@omaraf_twitter
May 26 2016 05:13
pues es Marshmallow
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:13
bueno, realmente no se cual cel es el tuyo xD pero sirve eliminar opciones
Omar
@omaraf_twitter
May 26 2016 05:14
así que estaría bien on the edge mi código
haha
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:14
no conosco la gama de moto
Omar
@omaraf_twitter
May 26 2016 05:14
pero según yo es estándar
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:14
nonozco*
Omar
@omaraf_twitter
May 26 2016 05:14
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:14
esa madre
hahaha
Omar
@omaraf_twitter
May 26 2016 05:14
private void dispatchTakePictureIntent() {
        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
            // Create the File where the photo should go
            File photoFile = null;
            try {
                photoFile = createImageFile();
            } catch (IOException ex) {
                Log.e(TAG, "Error al preparar el folder de las fotos", ex);
                Toast.makeText(this, getText(R.string.hubo_error_preparar_foto), Toast.LENGTH_LONG).show();
            }
            // Continue only if the File was successfully created
            if (photoFile != null) {
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                        Uri.fromFile(photoFile));
                int requestCode = mPendingAction == GetPhotoOriginDialogFragment.EDITING_PROFILE_PHOTO ? REQUEST_TAKE_PROFILE_PHOTO : REQUEST_TAKE_COMPANY_LOGO;
                startActivityForResult(takePictureIntent, requestCode);
            }
        }
    }
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:14
uhmm
Omar
@omaraf_twitter
May 26 2016 05:14
MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)
Es como la clave, si no me equivoco
el log no dice nada obviamente
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:15
para no perder el valor, si
Omar
@omaraf_twitter
May 26 2016 05:15
y no siempre pasa
Hermes Abraham Aguiñaga Acosta
@Mukazuge
May 26 2016 05:15
es un bug dificil de repetir?
D:
Omar
@omaraf_twitter
May 26 2016 05:15
no