From 995970ea5bf477d008c7594bdc5e9f77c5bc1ab2 Mon Sep 17 00:00:00 2001 From: Debjit Saha Date: Thu, 17 Sep 2015 19:57:27 -0400 Subject: [PATCH 1/4] Fix video audio controls #203 --- app/build.gradle | 4 +-- .../fragments/ViewPostFragment.java | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bf679d9..7f831b7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,8 +41,8 @@ android { buildConfigField "int", "UPDATE_RATE", "300" } debug { - buildConfigField "String", "BASE_URL", "\"http://yellr.mycodespace.net\"" - // buildConfigField "String", "BASE_URL", "\"https://yellr.net\"" + //buildConfigField "String", "BASE_URL", "\"http://yellr.mycodespace.net\"" + buildConfigField "String", "BASE_URL", "\"https://yellr.net\"" debuggable true buildConfigField "String", "SPOOF_LOCATION", "\"1\"" buildConfigField "int", "UPDATE_RATE", "30" diff --git a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java index 035b12d..3520979 100644 --- a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java +++ b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java @@ -17,12 +17,15 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageButton; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; import android.widget.VideoView; +import com.squareup.picasso.Picasso; + import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -64,6 +67,7 @@ public class ViewPostFragment extends Fragment { Button reportButton; public String mediatype; + ImageView imageContainer; LinearLayout videoViewPostVideo; public VideoView videoViewPostVideoInner; private SeekBar vseekbar; @@ -95,6 +99,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, this.videoViewPostVideo = (LinearLayout) view.findViewById(R.id.frag_view_post_video); this.videoViewPostVideoInner = (VideoView) view.findViewById(R.id.frag_view_post_video_inner); this.audioContainer = (LinearLayout) view.findViewById(R.id.audio_container); + this.imageContainer = (ImageView)view.findViewById(R.id.frag_view_post_image); Intent intent = getActivity().getIntent(); @@ -117,15 +122,41 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, post.media_objects[0].media_type_name = intent.getStringExtra(ViewPostFragment.ARG_POST_MEDIA_OBJECT_MEDIA_TYPE); this.mediatype = post.media_objects[0].media_type_name; + + Log.d("ViewPostFragment.OnCreateView.MediaType", this.mediatype); + //hide video/audio view + if (this.mediatype.equals("text")) { + + this.videoViewPostVideo.setVisibility(View.GONE); + this.audioContainer.setVisibility(View.GONE); + this.imageContainer.setVisibility(View.GONE); + + } + if (this.mediatype.equals("image")) { this.videoViewPostVideo.setVisibility(View.GONE); this.audioContainer.setVisibility(View.GONE); + this.imageContainer.setVisibility(View.VISIBLE); + + try { + + String url = BuildConfig.BASE_URL + "/media/" + post.media_objects[0].preview_file_name; //YellrUtils.getPreviewImageName(post.media_objects[0].file_name); + + this.imageContainer.setVisibility(View.VISIBLE); + Picasso.with(getActivity().getApplicationContext()) + .load(url) + .into(this.imageContainer); + + } catch (Exception e) { + Log.d("LocalPostsArrayAdapter.getView()", "ERROR: " + e.toString()); + } } else if (this.mediatype.equals("audio")) { this.videoViewPostVideo.setVisibility(View.GONE); + this.imageContainer.setVisibility(View.GONE); this.audioContainer.setVisibility(View.VISIBLE); media_pause = (ImageButton) view.findViewById(R.id.media_pause); @@ -157,6 +188,7 @@ public void onClick(View v) { this.videoViewPostVideo.setVisibility(View.VISIBLE); this.audioContainer.setVisibility(View.GONE); + this.imageContainer.setVisibility(View.GONE); vmedia_pause = (ImageButton) view.findViewById(R.id.vmedia_pause); vmedia_play = (ImageButton) view.findViewById(R.id.vmedia_play); From 75ce16f5384d5c2a44ccb7e2139bce41e78c92d2 Mon Sep 17 00:00:00 2001 From: Debjit Saha Date: Thu, 17 Sep 2015 20:33:38 -0400 Subject: [PATCH 2/4] Fix image not loading in image detail for Localposts --- .../net/yellr_android/fragments/ViewPostFragment.java | 8 ++++++-- app/src/main/res/layout/fragment_view_post.xml | 8 +++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java index 3520979..5960270 100644 --- a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java +++ b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java @@ -142,15 +142,19 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, try { - String url = BuildConfig.BASE_URL + "/media/" + post.media_objects[0].preview_file_name; //YellrUtils.getPreviewImageName(post.media_objects[0].file_name); + String url = BuildConfig.BASE_URL + "/media/" + post.media_objects[0].file_name; //YellrUtils.getPreviewImageName(post.media_objects[0].file_name); + url = "http://gorillavid.in/images1/GorillaVid-logo.png"; + + Log.d("ViewPostFragment.OnCreateView - Image URL", url); this.imageContainer.setVisibility(View.VISIBLE); + Picasso.with(getActivity().getApplicationContext()) .load(url) .into(this.imageContainer); } catch (Exception e) { - Log.d("LocalPostsArrayAdapter.getView()", "ERROR: " + e.toString()); + Log.d("ViewPostFragment.OnCreateView", "ERROR: " + e.toString()); } } else if (this.mediatype.equals("audio")) { diff --git a/app/src/main/res/layout/fragment_view_post.xml b/app/src/main/res/layout/fragment_view_post.xml index 0a27839..ce3a767 100644 --- a/app/src/main/res/layout/fragment_view_post.xml +++ b/app/src/main/res/layout/fragment_view_post.xml @@ -91,10 +91,12 @@ Date: Thu, 17 Sep 2015 22:14:17 -0400 Subject: [PATCH 3/4] Resize image on android client before upload - #154 --- app/build.gradle | 4 ++-- .../fragments/ViewPostFragment.java | 1 - .../PublishPostIntentService.java | 22 +++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7f831b7..38195c9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,8 +41,8 @@ android { buildConfigField "int", "UPDATE_RATE", "300" } debug { - //buildConfigField "String", "BASE_URL", "\"http://yellr.mycodespace.net\"" - buildConfigField "String", "BASE_URL", "\"https://yellr.net\"" + buildConfigField "String", "BASE_URL", "\"http://yellr.mycodespace.net\"" + //buildConfigField "String", "BASE_URL", "\"https://yellr.net\"" debuggable true buildConfigField "String", "SPOOF_LOCATION", "\"1\"" buildConfigField "int", "UPDATE_RATE", "30" diff --git a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java index 5960270..e6ed259 100644 --- a/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java +++ b/app/src/main/java/yellr/net/yellr_android/fragments/ViewPostFragment.java @@ -143,7 +143,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, try { String url = BuildConfig.BASE_URL + "/media/" + post.media_objects[0].file_name; //YellrUtils.getPreviewImageName(post.media_objects[0].file_name); - url = "http://gorillavid.in/images1/GorillaVid-logo.png"; Log.d("ViewPostFragment.OnCreateView - Image URL", url); diff --git a/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java b/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java index fafe565..2d08977 100644 --- a/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java +++ b/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java @@ -3,9 +3,12 @@ import android.app.IntentService; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.location.Criteria; import android.location.Location; import android.location.LocationManager; +import android.os.Environment; import android.os.Handler; import android.util.Log; import android.widget.Toast; @@ -28,7 +31,9 @@ import org.apache.http.protocol.HttpContext; import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -129,6 +134,7 @@ private void handleActionGetPublishPost(int assignmentId, //mediaType = "image"; //Log.d("PublishPostIntentService.Case", "Image"); mediaFilename = imageFilename; + Log.d("PublishPostIntentService.Case", imageFilename); mediaText = ""; mediaCaption = text; break; @@ -366,6 +372,22 @@ private String uploadMedia(String mediaType, Log.d("uploadMedia()", "adding binary file: " + params.get(index).getValue()); + Bitmap fileToUploadBitmap = BitmapFactory.decodeFile(params.get(index).getValue()); + int scaleToResizeAspectRatio = fileToUploadBitmap.getWidth() / fileToUploadBitmap.getHeight(); + int desiredHeight = 600; + Bitmap outFile = Bitmap.createScaledBitmap(fileToUploadBitmap, desiredHeight*scaleToResizeAspectRatio, desiredHeight, false); + + File file = new File(params.get(index).getValue()); + FileOutputStream fOut; + try { + fOut = new FileOutputStream(file); + outFile.compress(Bitmap.CompressFormat.JPEG, 100, fOut); + fOut.flush(); + fOut.close(); + fileToUploadBitmap.recycle(); + outFile.recycle(); + } catch (Exception e) {} + entityBuilder.addPart(params.get(index).getName(), new FileBody(new File(params.get(index).getValue()))); //} From 22cb838051a12fa6edceadf747f13328f21b6990 Mon Sep 17 00:00:00 2001 From: Debjit Saha Date: Thu, 17 Sep 2015 22:41:57 -0400 Subject: [PATCH 4/4] Try catch for last commit --- .../PublishPostIntentService.java | 51 +++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java b/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java index 2d08977..70ba3d4 100644 --- a/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java +++ b/app/src/main/java/yellr/net/yellr_android/intent_services/publish_post/PublishPostIntentService.java @@ -135,6 +135,41 @@ private void handleActionGetPublishPost(int assignmentId, //Log.d("PublishPostIntentService.Case", "Image"); mediaFilename = imageFilename; Log.d("PublishPostIntentService.Case", imageFilename); + + Bitmap fileToUploadBitmap = BitmapFactory.decodeFile(mediaFilename); + double scaleToResizeAspectRatio = (double)fileToUploadBitmap.getWidth() / (double)fileToUploadBitmap.getHeight(); + int desiredHeight = 600; + int desiredWidth = (int) (desiredHeight*scaleToResizeAspectRatio); + + Log.d("PublishPostIntentService.Case.AspectRatio - ", String.valueOf(scaleToResizeAspectRatio)); + Log.d("PublishPostIntentService.Case.AspectRatio - ", String.valueOf(fileToUploadBitmap.getWidth())); + Log.d("PublishPostIntentService.Case.AspectRatio - ", String.valueOf(fileToUploadBitmap.getHeight())); + + Bitmap outFile = Bitmap.createScaledBitmap(fileToUploadBitmap, desiredWidth, desiredHeight, false); + + File outputDir = getApplicationContext().getCacheDir(); // context being the Activity pointer + try { + + File outputFile = File.createTempFile("fileToUploadYellr", "jpg", outputDir); + File file = new File(outputFile.getAbsolutePath()); + FileOutputStream fOut; + + try { + fOut = new FileOutputStream(file); + outFile.compress(Bitmap.CompressFormat.JPEG, 100, fOut); + fOut.flush(); + fOut.close(); + fileToUploadBitmap.recycle(); + outFile.recycle(); + + mediaFilename = outputFile.getAbsolutePath(); + + } catch (Exception e) {} + + } catch (IOException e) { + e.printStackTrace(); + } + mediaText = ""; mediaCaption = text; break; @@ -372,22 +407,6 @@ private String uploadMedia(String mediaType, Log.d("uploadMedia()", "adding binary file: " + params.get(index).getValue()); - Bitmap fileToUploadBitmap = BitmapFactory.decodeFile(params.get(index).getValue()); - int scaleToResizeAspectRatio = fileToUploadBitmap.getWidth() / fileToUploadBitmap.getHeight(); - int desiredHeight = 600; - Bitmap outFile = Bitmap.createScaledBitmap(fileToUploadBitmap, desiredHeight*scaleToResizeAspectRatio, desiredHeight, false); - - File file = new File(params.get(index).getValue()); - FileOutputStream fOut; - try { - fOut = new FileOutputStream(file); - outFile.compress(Bitmap.CompressFormat.JPEG, 100, fOut); - fOut.flush(); - fOut.close(); - fileToUploadBitmap.recycle(); - outFile.recycle(); - } catch (Exception e) {} - entityBuilder.addPart(params.get(index).getName(), new FileBody(new File(params.get(index).getValue()))); //}