List of usage examples for android.content Intent getData
public @Nullable Uri getData()
From source file:com.if3games.chessonline.DroidFish.java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case RESULT_SETTINGS: handlePrefsChange();//from w w w. j a v a2s . c o m break; case RESULT_EDITBOARD: if (resultCode == RESULT_OK) { try { String fen = data.getAction(); ctrl.setFENOrPGN(fen); setBoardFlip(false); } catch (ChessParseError e) { } } break; case RESULT_LOAD_PGN: if (resultCode == RESULT_OK) { try { String pgn = data.getAction(); int modeNr = ctrl.getGameMode().getModeNr(); if ((modeNr != GameMode.ANALYSIS) && (modeNr != GameMode.EDIT_GAME)) newGameMode(GameMode.EDIT_GAME); ctrl.setFENOrPGN(pgn); setBoardFlip(true); } catch (ChessParseError e) { Toast.makeText(getApplicationContext(), getParseErrString(e), Toast.LENGTH_SHORT).show(); } } break; case RESULT_SELECT_SCID: if (resultCode == RESULT_OK) { String pathName = data.getAction(); if (pathName != null) { Editor editor = settings.edit(); editor.putString("currentScidFile", pathName); editor.putInt("currFT", FT_SCID); editor.commit(); Intent i = new Intent(DroidFish.this, LoadScid.class); i.setAction("com.if3games.chessonline.loadScid"); i.putExtra("com.if3games.chessonline.pathname", pathName); startActivityForResult(i, RESULT_LOAD_PGN); } } break; case RESULT_OI_PGN_LOAD: if (resultCode == RESULT_OK) { String pathName = getFilePathFromUri(data.getData()); if (pathName != null) loadPGNFromFile(pathName); } break; case RESULT_OI_PGN_SAVE: if (resultCode == RESULT_OK) { String pathName = getFilePathFromUri(data.getData()); if (pathName != null) { if ((pathName.length() > 0) && !pathName.contains(".")) pathName += ".pgn"; savePGNToFile(pathName, false); } } break; case RESULT_OI_FEN_LOAD: if (resultCode == RESULT_OK) { String pathName = getFilePathFromUri(data.getData()); if (pathName != null) loadFENFromFile(pathName); } break; case RESULT_GET_FEN: if (resultCode == RESULT_OK) { String fen = data.getStringExtra(Intent.EXTRA_TEXT); if (fen == null) { String pathName = getFilePathFromUri(data.getData()); loadFENFromFile(pathName); } setFenHelper(fen); } break; case RESULT_LOAD_FEN: if (resultCode == RESULT_OK) { String fen = data.getAction(); setFenHelper(fen); } break; // GMS case RC_SELECT_PLAYERS: // we got the result from the "select players" UI -- ready to create the room handleSelectPlayersResult(resultCode, data, gmsGameVariantNumber); break; case RC_INVITATION_INBOX: // we got the result from the "select invitation" UI (invitation inbox). We're // ready to accept the selected invitation: handleInvitationInboxResult(resultCode, data); break; case RC_WAITING_ROOM: // we got the result from the "waiting room" UI. if (resultCode == Activity.RESULT_OK) { // ready to start playing //Log.d(TAG, "Starting game (waiting room returned OK)."); //if(!imNotFirst) //sendImFirstLevelNumberForStart(); if (gmsGameVariantNumber != -1) startGame(true, gmsGameVariantNumber); } else if (resultCode == GamesActivityResultCodes.RESULT_LEFT_ROOM) { // player indicated that they want to leave the room leaveRoom(); } else if (resultCode == Activity.RESULT_CANCELED) { // Dialog was cancelled (user pressed back key, for instance). In our game, // this means leaving the room too. In more elaborate games, this could mean // something else (like minimizing the waiting room UI). leaveRoom(); } break; } }
From source file:me.ububble.speakall.fragment.ConversationGroupFragment.java
@Override public void onActivityResult(int requestCode, int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); System.gc();//from w ww . j a v a2 s .c om if (requestCode == 34) { if (resultCode == activity.RESULT_OK) { Uri contactUri = data.getData(); try { //contactPic.setImageBitmap(getPhoto(contactUri)); JSONObject contactoSend = new JSONObject(); contactoSend.put("nombre", getName(contactUri)); contactoSend.put("telefono", getPhone(contactUri)); MsgGroups msjNew = new MsgGroups(); Calendar fecha = Calendar.getInstance(); JSONArray targets = new JSONArray(); JSONArray contactos = new JSONArray(grupo.targets); String contactosId = null; if (SpeakSocket.mSocket != null) { if (SpeakSocket.mSocket.connected()) { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", 1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } else { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", -1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } } msjNew.grupoId = grupo.grupoId; msjNew.mensajeId = u.id + grupo.grupoId + fecha.getTimeInMillis() + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjNew.emisor = u.id; msjNew.receptores = targets.toString(); msjNew.mensaje = contactoSend.toString(); msjNew.emisorEmail = u.email; msjNew.emisorLang = u.lang; msjNew.translation = false; msjNew.emitedAt = fecha.getTimeInMillis(); msjNew.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_GROUP_CONTACT)); msjNew.delay = 0; msjNew.save(); showNewMessage(msjNew); } catch (JSONException e) { e.printStackTrace(); } } System.gc(); } if (requestCode == 1 && null != data) { Uri selectedImage = data.getData(); String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = activity.getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String picturePath = cursor.getString(columnIndex); Bitmap bitmapRotate = C.rotateBitmapAndScale(picturePath); cursor.close(); System.gc(); Calendar fecha = Calendar.getInstance(); long fechaInMillis = fecha.getTimeInMillis(); File pathImage = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent"); pathImage.mkdirs(); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(bitmapRotate, 1280); System.gc(); Bitmap binaryData = scaleDownLargeImageWithAspectRatio(toUpload, 500); System.gc(); Bitmap binaryData2 = BlurImage(scaleDownLargeImageWithAspectRatio(toUpload, 400)); System.gc(); File file = new File(pathImage, +fechaInMillis + ".png"); OutputStream outputStream = null; try { outputStream = new FileOutputStream(file); toUpload.compress(Bitmap.CompressFormat.JPEG, 60, outputStream); outputStream.flush(); outputStream.close(); System.gc(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { final MsgGroups msjPhoto = new MsgGroups(); JSONArray targets = new JSONArray(); JSONArray contactos = new JSONArray(grupo.targets); String contactosId = null; if (SpeakSocket.mSocket != null) { if (SpeakSocket.mSocket.connected()) { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", 1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } else { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", -1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } } msjPhoto.grupoId = grupo.grupoId; msjPhoto.mensajeId = u.id + grupo.grupoId + fechaInMillis + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjPhoto.emisor = u.id; msjPhoto.receptores = targets.toString(); msjPhoto.mensaje = "send Image"; msjPhoto.emisorEmail = u.email; msjPhoto.emisorLang = u.lang; msjPhoto.translation = false; msjPhoto.emitedAt = fechaInMillis; msjPhoto.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_GROUP_PHOTO)); msjPhoto.delay = 0; msjPhoto.photoName = file.getAbsolutePath(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjPhoto.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 40, stream2); byte[] byteArray2 = stream2.toByteArray(); msjPhoto.photoBlur = byteArray2; msjPhoto.fileUploaded = false; msjPhoto.save(); showNewMessage(msjPhoto); } catch (Exception e) { } System.gc(); } if (requestCode == 23) { if (resultCode == Activity.RESULT_OK) { Bitmap bitmapRotate = C .rotateBitmapAndScale(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent/" + dateToCamera + ".png"); System.gc(); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(bitmapRotate, 1280); System.gc(); Bitmap binaryData = scaleDownLargeImageWithAspectRatio(toUpload, 500); System.gc(); Bitmap binaryData2 = BlurImage(scaleDownLargeImageWithAspectRatio(toUpload, 400)); System.gc(); File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent/" + dateToCamera + ".png"); OutputStream outputStream = null; try { outputStream = new FileOutputStream(file); toUpload.compress(Bitmap.CompressFormat.JPEG, 60, outputStream); outputStream.flush(); outputStream.close(); System.gc(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { final MsgGroups msjPhoto = new MsgGroups(); JSONArray targets = new JSONArray(); JSONArray contactos = new JSONArray(grupo.targets); String contactosId = null; if (SpeakSocket.mSocket != null) { if (SpeakSocket.mSocket.connected()) { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", 1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } else { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", -1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } } msjPhoto.grupoId = grupo.grupoId; msjPhoto.mensajeId = u.id + grupo.grupoId + dateToCamera + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjPhoto.emisor = u.id; msjPhoto.receptores = targets.toString(); msjPhoto.mensaje = "send Image"; msjPhoto.emisorEmail = u.email; msjPhoto.emisorLang = u.lang; msjPhoto.translation = false; msjPhoto.emitedAt = dateToCamera; msjPhoto.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_GROUP_PHOTO)); msjPhoto.delay = 0; msjPhoto.photoName = file.getAbsolutePath(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjPhoto.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 40, stream2); byte[] byteArray2 = stream2.toByteArray(); msjPhoto.photoBlur = byteArray2; msjPhoto.fileUploaded = false; msjPhoto.save(); showNewMessage(msjPhoto); } catch (Exception e) { } System.gc(); } } System.gc(); if (requestCode == 18 && resultCode == Activity.RESULT_OK && null != data) { final ProgressDialog dialogLoader = ProgressDialog.show(activity, "", Finder.STRING.CONTACT_PROGRESS.toString(), true); Uri selectedVideo = data.getData(); String[] filePathColumn = { MediaStore.Video.Media.DATA }; final Cursor cursor = activity.getContentResolver().query(selectedVideo, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); final String videoPath = cursor.getString(columnIndex); cursor.close(); System.gc(); final File fileVideo = new File(videoPath); Calendar fecha = Calendar.getInstance(); final long fechaInMillis = fecha.getTimeInMillis(); File pathImage = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Video/Sent"); pathImage.mkdirs(); final File file = new File(pathImage, +fechaInMillis + ".mp4"); cursor.close(); //runTranscodingUsingLoader(fileVideo.getAbsolutePath(), file.getAbsolutePath()); new Thread(new Runnable() { @Override public void run() { Bitmap thumbnailVideo = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MICRO_KIND); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(thumbnailVideo, 1280); Bitmap binaryData = toUpload; Bitmap binaryData2 = BlurImage(toUpload); try { FileInputStream inStream = new FileInputStream(fileVideo); FileOutputStream outStream = new FileOutputStream(file); byte[] buffer = new byte[1024]; int length; //copy the file content in bytes while ((length = inStream.read(buffer)) > 0) { outStream.write(buffer, 0, length); } inStream.close(); outStream.close(); } catch (IOException e) { e.printStackTrace(); } try { final MsgGroups msjVideo = new MsgGroups(); JSONArray targets = new JSONArray(); JSONArray contactos = new JSONArray(grupo.targets); String contactosId = null; if (SpeakSocket.mSocket != null) { if (SpeakSocket.mSocket.connected()) { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", 1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } else { for (int i = 0; i < contactos.length(); i++) { JSONObject contacto = contactos.getJSONObject(i); JSONObject newContact = new JSONObject(); Contact contact = new Select().from(Contact.class) .where("id_contact = ?", contacto.getString("name")).executeSingle(); if (contact != null) { if (!contact.idContacto.equals(u.id)) { if (translate) newContact.put("lang", contact.lang); else newContact.put("lang", u.lang); newContact.put("name", contact.idContacto); newContact.put("screen_name", contact.screenName); newContact.put("status", -1); contactosId += contact.idContacto; targets.put(targets.length(), newContact); } } } } } msjVideo.grupoId = grupo.grupoId; msjVideo.mensajeId = u.id + grupo.grupoId + fechaInMillis + Settings.Secure .getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjVideo.emisor = u.id; msjVideo.receptores = targets.toString(); msjVideo.mensaje = "send Video"; msjVideo.emisorEmail = u.email; msjVideo.emisorLang = u.lang; msjVideo.translation = false; msjVideo.emitedAt = fechaInMillis; msjVideo.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_GROUP_VIDEO)); msjVideo.delay = 0; ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjVideo.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 60, stream2); byte[] byteArray2 = stream2.toByteArray(); msjVideo.photoBlur = byteArray2; msjVideo.fileUploaded = false; msjVideo.videoName = file.getAbsolutePath(); msjVideo.save(); showNewMessage(msjVideo); dialogLoader.dismiss(); } catch (Exception e) { } System.gc(); } }).start(); } if (requestCode == 45) { milocManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); List<String> allProviders = milocManager.getAllProviders(); boolean gpsProvider = false; boolean netProvider = false; for (String providerName : allProviders) { if (providerName.equals(LocationManager.GPS_PROVIDER)) { gpsProvider = true; } if (providerName.equals(LocationManager.NETWORK_PROVIDER)) { netProvider = true; } } checkCountryLocation(gpsProvider, netProvider); } }
From source file:me.ububble.speakall.fragment.ConversationChatFragment.java
@Override public void onActivityResult(int requestCode, int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); System.gc();// ww w. j a va 2 s.c om if (requestCode == 18 && resultCode == Activity.RESULT_OK && null != data) { final ProgressDialog dialogLoader = ProgressDialog.show(activity, "", Finder.STRING.CONTACT_PROGRESS.toString(), true); Uri selectedVideo = data.getData(); String[] filePathColumn = { MediaStore.Video.Media.DATA }; final Cursor cursor = activity.getContentResolver().query(selectedVideo, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); final String videoPath = cursor.getString(columnIndex); cursor.close(); System.gc(); final File fileVideo = new File(videoPath); Calendar fecha = Calendar.getInstance(); final long fechaInMillis = fecha.getTimeInMillis(); File pathImage = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Video/Sent"); pathImage.mkdirs(); final File file = new File(pathImage, +fechaInMillis + ".mp4"); cursor.close(); //runTranscodingUsingLoader(fileVideo.getAbsolutePath(), file.getAbsolutePath()); new Thread(new Runnable() { @Override public void run() { Bitmap thumbnailVideo = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MICRO_KIND); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(thumbnailVideo, 1280); Bitmap binaryData = toUpload; Bitmap binaryData2 = BlurImage(toUpload); try { FileInputStream inStream = new FileInputStream(fileVideo); FileOutputStream outStream = new FileOutputStream(file); byte[] buffer = new byte[1024]; int length; //copy the file content in bytes while ((length = inStream.read(buffer)) > 0) { outStream.write(buffer, 0, length); } inStream.close(); outStream.close(); } catch (IOException e) { e.printStackTrace(); } final Message msjVideo = new Message(); try { String id = u.id + contact.idContacto + fechaInMillis + Settings.Secure .getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjVideo.mensajeId = id; msjVideo.emisor = u.id; msjVideo.receptor = contact.idContacto; msjVideo.emisorEmail = u.email; msjVideo.receptorEmail = contact.email; msjVideo.emisorLang = u.lang; msjVideo.receptorLang = contact.lang; msjVideo.emitedAt = fechaInMillis; msjVideo.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_VIDEO)); if (tiempoMensaje) msjVideo.delay = temporizadorSeek.getValue(); else msjVideo.delay = 0; msjVideo.videoName = file.getAbsolutePath(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjVideo.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 60, stream2); byte[] byteArray2 = stream2.toByteArray(); msjVideo.photoBlur = byteArray2; if (SpeakSocket.mSocket != null) if (SpeakSocket.mSocket.connected()) { msjVideo.status = 1; } else { msjVideo.status = -1; } msjVideo.fileUploaded = false; msjVideo.save(); Chats chat = new Select().from(Chats.class).where("idContacto = ?", msjVideo.receptor) .executeSingle(); if (chat == null) { Contact contact = new Select().from(Contact.class) .where("id_contact = ?", msjVideo.receptor).executeSingle(); Chats newChat = new Chats(); newChat.mensajeId = msjVideo.mensajeId; newChat.idContacto = msjVideo.receptor; newChat.isLockedConversation = false; newChat.lastStatus = msjVideo.status; newChat.email = msjVideo.receptorEmail; if (contact != null) { newChat.photo = contact.photo; newChat.fullName = contact.fullName; newChat.lang = contact.lang; newChat.screenName = contact.screenName; newChat.photoload = true; newChat.phone = contact.phone; } else { newChat.photo = null; newChat.photoload = false; newChat.fullName = msjVideo.receptorEmail; newChat.lang = msjVideo.receptorLang; newChat.screenName = msjVideo.receptorEmail; newChat.phone = null; } newChat.emitedAt = msjVideo.emitedAt; newChat.notRead = 0; newChat.lastMessage = "send Video"; newChat.show = true; newChat.save(); } else { if (!chat.photoload) { Contact contact = new Select().from(Contact.class) .where("id_contact = ?", msjVideo.emisor).executeSingle(); if (contact != null) { chat.photo = contact.photo; chat.photoload = true; } else { chat.photo = null; chat.photoload = false; } } chat.mensajeId = msjVideo.mensajeId; chat.lastStatus = msjVideo.status; chat.emitedAt = msjVideo.emitedAt; chat.notRead = 0; chat.lastMessage = "send Video"; chat.save(); } showNewMessage(msjVideo); dialogLoader.dismiss(); } catch (Exception e) { } System.gc(); } }).start(); } if (requestCode == 45) { milocManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); List<String> allProviders = milocManager.getAllProviders(); boolean gpsProvider = false; boolean netProvider = false; for (String providerName : allProviders) { if (providerName.equals(LocationManager.GPS_PROVIDER)) { gpsProvider = true; } if (providerName.equals(LocationManager.NETWORK_PROVIDER)) { netProvider = true; } } checkCountryLocation(gpsProvider, netProvider); } if (requestCode == 34) { if (resultCode == activity.RESULT_OK) { Uri contactUri = data.getData(); try { //contactPic.setImageBitmap(getPhoto(contactUri)); JSONObject contacto = new JSONObject(); contacto.put("nombre", getName(contactUri)); contacto.put("telefono", getPhone(contactUri)); Message msjNew = new Message(); Calendar fecha = Calendar.getInstance(); String id = u.id + contact.idContacto + fecha.getTimeInMillis() + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjNew.translation = true; msjNew.mensajeId = id; msjNew.emisor = u.id; msjNew.receptor = contact.idContacto; msjNew.mensaje = contacto.toString(); msjNew.emisorEmail = u.email; msjNew.receptorEmail = contact.email; msjNew.emisorLang = u.lang; msjNew.receptorLang = contact.lang; msjNew.emitedAt = fecha.getTimeInMillis(); msjNew.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_CONTACT)); msjNew.delay = 0; if (SpeakSocket.mSocket != null) if (SpeakSocket.mSocket.connected()) { msjNew.status = 1; } else { msjNew.status = -1; } msjNew.save(); Chats chat = new Select().from(Chats.class).where("idContacto = ?", msjNew.receptor) .executeSingle(); if (chat == null) { Contact contact = new Select().from(Contact.class).where("id_contact = ?", msjNew.receptor) .executeSingle(); Chats newChat = new Chats(); newChat.mensajeId = msjNew.mensajeId; newChat.idContacto = msjNew.receptor; newChat.isLockedConversation = false; newChat.lastStatus = msjNew.status; newChat.email = msjNew.receptorEmail; if (contact != null) { newChat.photo = contact.photo; newChat.fullName = contact.fullName; newChat.lang = contact.lang; newChat.screenName = contact.screenName; newChat.photoload = true; newChat.phone = contact.phone; } else { newChat.photo = null; newChat.photoload = false; newChat.fullName = msjNew.receptorEmail; newChat.lang = msjNew.receptorLang; newChat.screenName = msjNew.receptorEmail; newChat.phone = null; } newChat.emitedAt = msjNew.emitedAt; newChat.notRead = 0; newChat.lastMessage = "send Contact"; newChat.show = true; newChat.save(); } else { if (!chat.photoload) { Contact contact = new Select().from(Contact.class) .where("id_contact = ?", msjNew.emisor).executeSingle(); if (contact != null) { chat.photo = contact.photo; chat.photoload = true; } else { chat.photo = null; chat.photoload = false; } } chat.mensajeId = msjNew.mensajeId; chat.lastStatus = msjNew.status; chat.emitedAt = msjNew.emitedAt; chat.notRead = 0; chat.lastMessage = "send Contact"; chat.save(); } showNewMessage(msjNew); } catch (JSONException e) { e.printStackTrace(); } } System.gc(); } if (requestCode == 1 && null != data) { Uri selectedImage = data.getData(); InputStream imageStream = null; try { imageStream = activity.getContentResolver().openInputStream(selectedImage); } catch (FileNotFoundException e) { } String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = activity.getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String picturePath = cursor.getString(columnIndex); Bitmap bitmapRotate = C.rotateBitmapAndScale(picturePath); cursor.close(); System.gc(); Calendar fecha = Calendar.getInstance(); long fechaInMillis = fecha.getTimeInMillis(); File pathImage = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent"); pathImage.mkdirs(); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(bitmapRotate, 1280); System.gc(); Bitmap binaryData = scaleDownLargeImageWithAspectRatio(toUpload, 500); System.gc(); Bitmap binaryData2 = BlurImage(scaleDownLargeImageWithAspectRatio(toUpload, 400)); System.gc(); File file = new File(pathImage, +fechaInMillis + ".png"); OutputStream outputStream = null; try { outputStream = new FileOutputStream(file); toUpload.compress(Bitmap.CompressFormat.JPEG, 60, outputStream); outputStream.flush(); outputStream.close(); System.gc(); } catch (Exception e) { e.printStackTrace(); } try { final Message msjPhoto = new Message(); String id = u.id + contact.idContacto + fechaInMillis + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjPhoto.mensajeId = id; msjPhoto.emisor = u.id; msjPhoto.receptor = contact.idContacto; msjPhoto.emisorEmail = u.email; msjPhoto.receptorEmail = contact.email; msjPhoto.emisorLang = u.lang; msjPhoto.receptorLang = contact.lang; msjPhoto.emitedAt = fechaInMillis; msjPhoto.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_PHOTO)); if (tiempoMensaje) msjPhoto.delay = temporizadorSeek.getValue(); else msjPhoto.delay = 0; msjPhoto.photoName = file.getAbsolutePath(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjPhoto.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 40, stream2); byte[] byteArray2 = stream2.toByteArray(); msjPhoto.photoBlur = byteArray2; if (SpeakSocket.mSocket != null) if (SpeakSocket.mSocket.connected()) { msjPhoto.status = 1; } else { msjPhoto.status = -1; } msjPhoto.fileUploaded = false; msjPhoto.save(); Chats chat = new Select().from(Chats.class).where("idContacto = ?", msjPhoto.receptor) .executeSingle(); if (chat == null) { Contact contact = new Select().from(Contact.class).where("id_contact = ?", msjPhoto.receptor) .executeSingle(); Chats newChat = new Chats(); newChat.mensajeId = msjPhoto.mensajeId; newChat.idContacto = msjPhoto.receptor; newChat.isLockedConversation = false; newChat.lastStatus = msjPhoto.status; newChat.email = msjPhoto.receptorEmail; if (contact != null) { newChat.photo = contact.photo; newChat.fullName = contact.fullName; newChat.lang = contact.lang; newChat.screenName = contact.screenName; newChat.photoload = true; newChat.phone = contact.phone; } else { newChat.photo = null; newChat.photoload = false; newChat.fullName = msjPhoto.receptorEmail; newChat.lang = msjPhoto.receptorLang; newChat.screenName = msjPhoto.receptorEmail; newChat.phone = null; } newChat.emitedAt = msjPhoto.emitedAt; newChat.notRead = 0; newChat.lastMessage = "send Image"; newChat.show = true; newChat.save(); } else { if (!chat.photoload) { Contact contact = new Select().from(Contact.class).where("id_contact = ?", msjPhoto.emisor) .executeSingle(); if (contact != null) { chat.photo = contact.photo; chat.photoload = true; } else { chat.photo = null; chat.photoload = false; } } chat.mensajeId = msjPhoto.mensajeId; chat.lastStatus = msjPhoto.status; chat.emitedAt = msjPhoto.emitedAt; chat.notRead = 0; chat.lastMessage = "send Image"; chat.save(); } showNewMessage(msjPhoto); } catch (Exception e) { } System.gc(); } if (requestCode == 23) { if (resultCode == Activity.RESULT_OK) { Bitmap bitmapRotate = C .rotateBitmapAndScale(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent/" + dateToCamera + ".png"); System.gc(); Bitmap toUpload = scaleDownLargeImageWithAspectRatio(bitmapRotate, 1280); System.gc(); Bitmap binaryData = scaleDownLargeImageWithAspectRatio(toUpload, 500); System.gc(); Bitmap binaryData2 = BlurImage(scaleDownLargeImageWithAspectRatio(toUpload, 400)); System.gc(); File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SpeakOn/Image/Sent/" + dateToCamera + ".png"); OutputStream outputStream = null; try { outputStream = new FileOutputStream(file); toUpload.compress(Bitmap.CompressFormat.JPEG, 60, outputStream); outputStream.flush(); outputStream.close(); System.gc(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { final Message msjPhoto = new Message(); String id = u.id + contact.idContacto + dateToCamera + Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID); msjPhoto.mensajeId = id; msjPhoto.emisor = u.id; msjPhoto.receptor = contact.idContacto; msjPhoto.emisorEmail = u.email; msjPhoto.receptorEmail = contact.email; msjPhoto.emisorLang = u.lang; msjPhoto.receptorLang = contact.lang; msjPhoto.emitedAt = dateToCamera; msjPhoto.tipo = Integer.parseInt(getString(R.string.MSG_TYPE_PHOTO)); if (tiempoMensaje) msjPhoto.delay = temporizadorSeek.getValue(); else msjPhoto.delay = 0; msjPhoto.photoName = file.getAbsolutePath(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); binaryData.compress(Bitmap.CompressFormat.JPEG, 60, stream); byte[] byteArray = stream.toByteArray(); msjPhoto.photo = byteArray; ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); binaryData2.compress(Bitmap.CompressFormat.JPEG, 40, stream2); byte[] byteArray2 = stream2.toByteArray(); msjPhoto.photoBlur = byteArray2; if (SpeakSocket.mSocket != null) if (SpeakSocket.mSocket.connected()) { msjPhoto.status = 1; } else { msjPhoto.status = -1; } msjPhoto.fileUploaded = false; msjPhoto.save(); Chats chat = new Select().from(Chats.class).where("idContacto = ?", msjPhoto.receptor) .executeSingle(); if (chat == null) { Contact contact = new Select().from(Contact.class) .where("id_contact = ?", msjPhoto.receptor).executeSingle(); Chats newChat = new Chats(); newChat.mensajeId = msjPhoto.mensajeId; newChat.idContacto = msjPhoto.receptor; newChat.isLockedConversation = false; newChat.lastStatus = msjPhoto.status; newChat.email = msjPhoto.receptorEmail; if (contact != null) { newChat.photo = contact.photo; newChat.fullName = contact.fullName; newChat.lang = contact.lang; newChat.screenName = contact.screenName; newChat.photoload = true; newChat.phone = contact.phone; } else { newChat.photo = null; newChat.photoload = false; newChat.fullName = msjPhoto.receptorEmail; newChat.lang = msjPhoto.receptorLang; newChat.screenName = msjPhoto.receptorEmail; newChat.phone = null; } newChat.emitedAt = msjPhoto.emitedAt; newChat.notRead = 0; newChat.lastMessage = "send Image"; newChat.show = true; newChat.save(); } else { if (!chat.photoload) { Contact contact = new Select().from(Contact.class) .where("id_contact = ?", msjPhoto.emisor).executeSingle(); if (contact != null) { chat.photo = contact.photo; chat.photoload = true; } else { chat.photo = null; chat.photoload = false; } } chat.mensajeId = msjPhoto.mensajeId; chat.lastStatus = msjPhoto.status; chat.emitedAt = msjPhoto.emitedAt; chat.notRead = 0; chat.lastMessage = "send Image"; chat.save(); } showNewMessage(msjPhoto); } catch (Exception e) { } System.gc(); } } }
From source file:com.kll.collect.android.activities.FormEntryActivity.java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); Log.i("Request Code", Integer.toString(requestCode)); Log.i("Result Code", Integer.toString(resultCode)); FormController formController = Collect.getInstance().getFormController(); if (formController == null) { // we must be in the midst of a reload of the FormController. // try to save this callback data to the FormLoaderTask if (mFormLoaderTask != null && mFormLoaderTask.getStatus() != AsyncTask.Status.FINISHED) { mFormLoaderTask.setActivityResult(requestCode, resultCode, intent); } else {/* w ww . j a va 2 s . c o m*/ Log.e(t, "Got an activityResult without any pending form loader"); } return; } compressImage = mSharedPreferences.getBoolean(PreferencesActivity.KEY_ENABLE_IMAGE_COMPRESSION, false); if (resultCode == RESULT_CANCELED) { // request was canceled... if (requestCode != HIERARCHY_ACTIVITY) { ((ODKView) mCurrentView).cancelWaitingForBinaryData(); } return; } Log.i("Request Code ", Integer.toString(requestCode)); switch (requestCode) { case BARCODE_CAPTURE: String sb = intent.getStringExtra("SCAN_RESULT"); ((ODKView) mCurrentView).setBinaryData(sb); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case EX_STRING_CAPTURE: case EX_INT_CAPTURE: case EX_DECIMAL_CAPTURE: String key = "value"; boolean exists = intent.getExtras().containsKey(key); if (exists) { Object externalValue = intent.getExtras().get(key); ((ODKView) mCurrentView).setBinaryData(externalValue); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); } break; case EX_GROUP_CAPTURE: try { Bundle extras = intent.getExtras(); ((ODKView) mCurrentView).setDataForFields(extras); } catch (JavaRosaException e) { Log.e(t, e.getMessage(), e); createErrorDialog(e.getCause().getMessage(), DO_NOT_EXIT); } break; case DRAW_IMAGE: case ANNOTATE_IMAGE: case SIGNATURE_CAPTURE: case IMAGE_CAPTURE: /* * We saved the image to the tempfile_path, but we really want it to * be in: /sdcard/odk/instances/[current instnace]/something.jpg so * we move it there before inserting it into the content provider. * Once the android image capture bug gets fixed, (read, we move on * from Android 1.6) we want to handle images the audio and video */ // The intent is empty, but we know we saved the image to the temp // file Log.i("Request Code ", Integer.toString(requestCode)); File fi = new File(Collect.TMPFILE_PATH); String mInstanceFolder = formController.getInstancePath().getParent(); String s = mInstanceFolder + File.separator + System.currentTimeMillis() + ".jpg"; File nf = new File(s); if (!fi.renameTo(nf)) { Log.e(t, "Failed to rename " + fi.getAbsolutePath()); } else { Log.i(t, "renamed " + fi.getAbsolutePath() + " to " + nf.getAbsolutePath()); } Log.i("Filename of image", String.valueOf(nf)); if (compressImage) compreesImage(s); ((ODKView) mCurrentView).setBinaryData(nf); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case ALIGNED_IMAGE: /* * We saved the image to the tempfile_path; the app returns the full * path to the saved file in the EXTRA_OUTPUT extra. Take that file * and move it into the instance folder. */ String path = intent.getStringExtra(android.provider.MediaStore.EXTRA_OUTPUT); fi = new File(path); mInstanceFolder = formController.getInstancePath().getParent(); s = mInstanceFolder + File.separator + System.currentTimeMillis() + ".jpg"; nf = new File(s); if (!fi.renameTo(nf)) { Log.e(t, "Failed to rename " + fi.getAbsolutePath()); } else { Log.i(t, "renamed " + fi.getAbsolutePath() + " to " + nf.getAbsolutePath()); } if (compressImage) compreesImage(s); ((ODKView) mCurrentView).setBinaryData(nf); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case IMAGE_CHOOSER: /* * We have a saved image somewhere, but we really want it to be in: * /sdcard/odk/instances/[current instnace]/something.jpg so we move * it there before inserting it into the content provider. Once the * android image capture bug gets fixed, (read, we move on from * Android 1.6) we want to handle images the audio and video */ // get gp of chosen file Uri selectedImage = intent.getData(); String sourceImagePath = MediaUtils.getPathFromUri(this, selectedImage, Images.Media.DATA); // Copy file to sdcard String mInstanceFolder1 = formController.getInstancePath().getParent(); String destImagePath = mInstanceFolder1 + File.separator + System.currentTimeMillis() + ".jpg"; File source = new File(sourceImagePath); File newImage = new File(destImagePath); FileUtils.copyFile(source, newImage); if (compressImage) compreesImage(destImagePath); ((ODKView) mCurrentView).setBinaryData(newImage); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case AUDIO_CAPTURE: case VIDEO_CAPTURE: case AUDIO_CHOOSER: case VIDEO_CHOOSER: // For audio/video capture/chooser, we get the URI from the content // provider // then the widget copies the file and makes a new entry in the // content provider. Uri media = intent.getData(); ((ODKView) mCurrentView).setBinaryData(media); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case LOCATION_CAPTURE: Log.i("Request Code ", Integer.toString(requestCode)); String sl = intent.getStringExtra(LOCATION_RESULT); ((ODKView) mCurrentView).setBinaryData(sl); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case GEOSHAPE_CAPTURE: //String ls = intent.getStringExtra(GEOSHAPE_RESULTS); String gshr = intent.getStringExtra(GEOSHAPE_RESULTS); ((ODKView) mCurrentView).setBinaryData(gshr); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case GEOTRACE_CAPTURE: String traceExtra = intent.getStringExtra(GEOTRACE_RESULTS); ((ODKView) mCurrentView).setBinaryData(traceExtra); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); break; case BEARING_CAPTURE: String bearing = intent.getStringExtra(BEARING_RESULT); ((ODKView) mCurrentView).setBinaryData(bearing); saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS); case HIERARCHY_ACTIVITY: // We may have jumped to a new index in hierarchy activity, so // refresh break; } refreshCurrentView(); }