From 165ecd6a5c5295ca84e2bd8c16f60fd94d7b41d4 Mon Sep 17 00:00:00 2001 From: rayacevdo45 Date: Wed, 17 Jun 2015 22:06:25 -0400 Subject: [PATCH] fixed bluryness --- .../c4q/nyc/memeproject/EditPhoto.java | 109 +++++++----- .../c4q/nyc/memeproject/MainActivity.java | 110 ++++++++---- sort/.gitignore | 6 + sort/.idea/.name | 1 + sort/.idea/compiler.xml | 23 +++ sort/.idea/copyright/profiles_settings.xml | 3 + sort/.idea/encodings.xml | 5 + sort/.idea/gradle.xml | 18 ++ sort/.idea/misc.xml | 26 +++ sort/.idea/modules.xml | 10 ++ sort/.idea/scopes/scope_settings.xml | 5 + sort/.idea/vcs.xml | 7 + sort/app/.gitignore | 1 + sort/app/app.iml | 93 ++++++++++ sort/app/build.gradle | 25 +++ sort/app/proguard-rules.pro | 17 ++ .../c4q/nyc/sort/ApplicationTest.java | 13 ++ sort/app/src/main/AndroidManifest.xml | 21 +++ .../c4q/nyc/sort/MainActivity.java | 131 ++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 43 +++++ sort/app/src/main/res/menu/menu_main.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../app/src/main/res/values-w820dp/dimens.xml | 6 + sort/app/src/main/res/values/dimens.xml | 5 + sort/app/src/main/res/values/strings.xml | 6 + sort/app/src/main/res/values/styles.xml | 8 + sort/build.gradle | 19 ++ sort/gradle.properties | 18 ++ sort/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes sort/gradle/wrapper/gradle-wrapper.properties | 6 + sort/gradlew | 164 ++++++++++++++++++ sort/gradlew.bat | 90 ++++++++++ sort/settings.gradle | 1 + sort/sort.iml | 19 ++ 37 files changed, 935 insertions(+), 80 deletions(-) create mode 100644 sort/.gitignore create mode 100644 sort/.idea/.name create mode 100644 sort/.idea/compiler.xml create mode 100644 sort/.idea/copyright/profiles_settings.xml create mode 100644 sort/.idea/encodings.xml create mode 100644 sort/.idea/gradle.xml create mode 100644 sort/.idea/misc.xml create mode 100644 sort/.idea/modules.xml create mode 100644 sort/.idea/scopes/scope_settings.xml create mode 100644 sort/.idea/vcs.xml create mode 100644 sort/app/.gitignore create mode 100644 sort/app/app.iml create mode 100644 sort/app/build.gradle create mode 100644 sort/app/proguard-rules.pro create mode 100644 sort/app/src/androidTest/java/rayacevedo45/c4q/nyc/sort/ApplicationTest.java create mode 100644 sort/app/src/main/AndroidManifest.xml create mode 100644 sort/app/src/main/java/rayacevedo45/c4q/nyc/sort/MainActivity.java create mode 100644 sort/app/src/main/res/layout/activity_main.xml create mode 100644 sort/app/src/main/res/menu/menu_main.xml create mode 100644 sort/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 sort/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 sort/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 sort/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 sort/app/src/main/res/values-w820dp/dimens.xml create mode 100644 sort/app/src/main/res/values/dimens.xml create mode 100644 sort/app/src/main/res/values/strings.xml create mode 100644 sort/app/src/main/res/values/styles.xml create mode 100644 sort/build.gradle create mode 100644 sort/gradle.properties create mode 100644 sort/gradle/wrapper/gradle-wrapper.jar create mode 100644 sort/gradle/wrapper/gradle-wrapper.properties create mode 100755 sort/gradlew create mode 100644 sort/gradlew.bat create mode 100644 sort/settings.gradle create mode 100644 sort/sort.iml diff --git a/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/EditPhoto.java b/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/EditPhoto.java index 1893958..1476f1b 100644 --- a/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/EditPhoto.java +++ b/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/EditPhoto.java @@ -1,14 +1,10 @@ package madelyntav.c4q.nyc.memeproject; +import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; -import android.os.Handler; -import android.support.v4.app.NotificationCompat; -import android.widget.Button; -import android.content.Context; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; @@ -20,7 +16,9 @@ import android.net.Uri; import android.os.Bundle; import android.os.Environment; +import android.os.Handler; import android.provider.MediaStore; +import android.support.v4.app.NotificationCompat; import android.util.Log; import android.util.TypedValue; import android.view.MotionEvent; @@ -32,8 +30,8 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; -import android.widget.ScrollView; import android.widget.Toast; + import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -44,26 +42,34 @@ public class EditPhoto extends Activity implements View.OnTouchListener { - Bitmap bitmap,b; - private int delta_x, delta_y, color; - public static ImageView imageView; - private String TAG = "GallerySaving"; + private NotificationManager mNotificationManager; + private Bitmap returnedBitmap; + Bitmap b; + Bitmap bitmap; + private int delta_x; + private int delta_y; + public static ImageView imageView; + private int color; private ColorPicker colorPicker; - private Button ten, fifteen, twenty, twentyFive,vanilla; - ImageButton share; + private Button vanilla; + private Button demotivational; private EditText editText, editText2, demoTitle, demoText; private ImageView demoImage; - RelativeLayout memeLayout, root; - LinearLayout linearLayout2, linearLayout3; + private String TAG = "GallerySaving"; + RelativeLayout memeLayout; + LinearLayout linearLayout2; + LinearLayout linearLayout3; + Button ten; + Button fifteen; + Button twenty; + Button twentyFive; + RelativeLayout root; private boolean isVanilla = true; - public static EditPhoto getInstance() { return instance; } - static EditPhoto instance; - private NotificationManager mNotificationManager; - private Bitmap returnedBitmap; + ImageButton share; @Override @@ -112,34 +118,49 @@ protected void onCreate(Bundle savedInstanceState) { //----------------------------GET IMAGE FROM PREVIOUS INTENT--------------------------// //opens pic in this activity - if (getIntent().hasExtra("byteArray")) { - - b = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length); + if(true){ + File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); + + // String filePath=storageDir+"/"+MainActivity.FILE_NAME; + + BitmapFactory.Options options = new BitmapFactory.Options(); + b = BitmapFactory.decodeFile(MainActivity.actualFile,options); + // b = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length); + imageView = (ImageView) findViewById(R.id.mImageView); + vanilla = (Button) findViewById(R.id.vanilla); + editText = (EditText) findViewById(R.id.editText); + editText2 = (EditText) findViewById(R.id.editText2); + demoTitle = (EditText) findViewById(R.id.demotivationalTitle); + demoText = (EditText) findViewById(R.id.demotivationalText); imageView.setImageBitmap(b); demoImage.setImageBitmap(b); + // Log.d("b height: "+ b.getHeight()," width: "+b.getWidth()); - - bitmap = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length); - } - //Gets drawable resource from the intent - else if (getIntent().hasExtra("drawable")) { - int drawableID = getIntent().getExtras().getInt("drawable"); - bitmap = BitmapFactory.decodeResource(getResources(), drawableID); - } else { + //retrieve passed uri Uri uri = getIntent().getExtras().getParcelable("image"); //retrieve bitmap uri from intent try { - bitmap = Bitmap.createBitmap(MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri)); + bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); } catch (IOException e) { e.printStackTrace(); } + //create bitmap for use within activity + try { + bitmap = Bitmap.createBitmap(MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri)); + } catch (IOException e) { + e.printStackTrace(); + } + imageView.setImageBitmap(bitmap); + demoImage.setImageBitmap(bitmap); + Log.d(TAG,"bitmap height: "+ bitmap.getHeight()+" width: "+bitmap.getWidth()); } + //-----------------------------SHARE BUTTON ONCLICKLISTENER---------------------------// // Shares image via Email, Text, Bluetooth, etc... @@ -189,8 +210,8 @@ public void onClick(View v) { //Sets imageviews to the bitmaps once it receives it from the intent - imageView.setImageBitmap(bitmap); - demoImage.setImageBitmap(bitmap); + imageView.setImageBitmap(b); + demoImage.setImageBitmap(b); instance = this; @@ -488,11 +509,11 @@ public void engravedImage(View view) { public void run() { if (getIntent().hasExtra("byteArray")) { - Bitmap engraved = ApplyFilters.engrave(bitmap); + Bitmap engraved = ApplyFilters.engrave(b); imageView.setImageBitmap(engraved); demoImage.setImageBitmap(engraved); } else { - Bitmap engraved = ApplyFilters.engrave(bitmap); + Bitmap engraved = ApplyFilters.engrave(b); imageView.setImageBitmap(engraved); demoImage.setImageBitmap(engraved); } @@ -510,11 +531,11 @@ public void invertColors(View view) { @Override public void run() { if (getIntent().hasExtra("byteArray")) { - Bitmap inverted = ApplyFilters.doInvert(bitmap); + Bitmap inverted = ApplyFilters.doInvert(b); imageView.setImageBitmap(inverted); demoImage.setImageBitmap(inverted); } else { - Bitmap inverted = ApplyFilters.doInvert(bitmap); + Bitmap inverted = ApplyFilters.doInvert(b); imageView.setImageBitmap(inverted); demoImage.setImageBitmap(inverted); } @@ -532,11 +553,11 @@ public void greyscaleImage(View view) { @Override public void run() { if (getIntent().hasExtra("byteArray")) { - Bitmap greyscaled = ApplyFilters.doGreyscale(bitmap); + Bitmap greyscaled = ApplyFilters.doGreyscale(b); imageView.setImageBitmap(greyscaled); demoImage.setImageBitmap(greyscaled); } else { - Bitmap greyscaled = ApplyFilters.doGreyscale(bitmap); + Bitmap greyscaled = ApplyFilters.doGreyscale(b); imageView.setImageBitmap(greyscaled); demoImage.setImageBitmap(greyscaled); } @@ -549,11 +570,11 @@ public void run() { // Applies blue shading effect to image public void shadingFilterBlue(View view) { if (getIntent().hasExtra("byteArray")) { - Bitmap blueShade = ApplyFilters.applyShadingFilter(bitmap, Color.BLUE); + Bitmap blueShade = ApplyFilters.applyShadingFilter(b, Color.BLUE); imageView.setImageBitmap(blueShade); demoImage.setImageBitmap(blueShade); } else { - Bitmap blueShade = ApplyFilters.applyShadingFilter(bitmap, Color.BLUE); + Bitmap blueShade = ApplyFilters.applyShadingFilter(b, Color.BLUE); imageView.setImageBitmap(blueShade); demoImage.setImageBitmap(blueShade); } @@ -563,11 +584,11 @@ public void shadingFilterBlue(View view) { // Applies red shading effect to image public void shadingFilterRed(View view) { if (getIntent().hasExtra("byteArray")) { - Bitmap redShade = ApplyFilters.applyShadingFilter(bitmap, Color.RED); + Bitmap redShade = ApplyFilters.applyShadingFilter(b, Color.RED); imageView.setImageBitmap(redShade); demoImage.setImageBitmap(redShade); } else { - Bitmap redShade = ApplyFilters.applyShadingFilter(bitmap, Color.RED); + Bitmap redShade = ApplyFilters.applyShadingFilter(b, Color.RED); imageView.setImageBitmap(redShade); demoImage.setImageBitmap(redShade); } @@ -577,11 +598,11 @@ public void shadingFilterRed(View view) { // Applies green shading effect to image public void shadingFilterGreen(View view) { if (getIntent().hasExtra("byteArray")) { - Bitmap greenShade = ApplyFilters.applyShadingFilter(bitmap, Color.GREEN); + Bitmap greenShade = ApplyFilters.applyShadingFilter(b, Color.GREEN); imageView.setImageBitmap(greenShade); demoImage.setImageBitmap(greenShade); } else { - Bitmap greenShade = ApplyFilters.applyShadingFilter(bitmap, Color.GREEN); + Bitmap greenShade = ApplyFilters.applyShadingFilter(b, Color.GREEN); imageView.setImageBitmap(greenShade); demoImage.setImageBitmap(greenShade); } diff --git a/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/MainActivity.java b/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/MainActivity.java index 2586787..bdc7eb0 100644 --- a/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/MainActivity.java +++ b/MemeProject/app/src/main/java/madelyntav/c4q/nyc/memeproject/MainActivity.java @@ -1,16 +1,17 @@ package madelyntav.c4q.nyc.memeproject; -import android.content.ContentResolver; + import android.content.Intent; -import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.support.v7.app.ActionBarActivity; +import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.Toast; -import java.io.ByteArrayOutputStream; + +import java.io.File; import java.io.IOException; @@ -19,6 +20,10 @@ public class MainActivity extends ActionBarActivity { static final int REQUEST_IMAGE_CAPTURE = 1; static final int EXTERNAL_CONTENT_URI = 0; + public static final String FILE_NAME = "photo_file"; + public static String actualFile = null; + private static final int REQUEST_TAKE_PHOTO = 1; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -43,11 +48,40 @@ public void usePic(View v) { public void takePic(View v) { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + + if (takePictureIntent.resolveActivity(getPackageManager()) != null) { - startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); + // Create the File where the photo should go + File photoFile = null; + try { + File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); + + photoFile = File.createTempFile(FILE_NAME, ".jpg", storageDir); + + actualFile=photoFile.getCanonicalPath(); + + Log.i("||||| wrote to file: ", photoFile.getCanonicalPath()); + + + } catch (IOException ex) { + // Error occurred while creating the File + // Log.e("failed to create " + FILE_NAME + " because "); + } + + // Continue only if the File was successfully created + if (photoFile != null) { + takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, + Uri.fromFile(photoFile)); + startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO); + } + + // startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); + + } } + public void chooseMeme(View view){ Intent popularMemeIntent = new Intent(this, MemeList.class); startActivity(popularMemeIntent); @@ -58,40 +92,44 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { Intent intent = new Intent(MainActivity.this, EditPhoto.class); - if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { - Bundle extras = data.getExtras(); - Bitmap imageBitmap = (Bitmap) extras.get("data"); - ByteArrayOutputStream bs = new ByteArrayOutputStream(); - imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, bs); - intent.putExtra("byteArray", bs.toByteArray()); - startActivity(intent); - - - } else if (requestCode == EXTERNAL_CONTENT_URI && resultCode == RESULT_OK) { - //Image selected message - Toast.makeText(this, "Please select VANILLA or DEMO layout to begin", Toast.LENGTH_SHORT).show(); +// if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { +// Bundle extras = data.getExtras(); +// Bitmap imageBitmap = (Bitmap) extras.get("data"); +// Log.i("||||| image bitmap height: " + imageBitmap.getHeight(), " width: " + imageBitmap.getWidth()); +// ByteArrayOutputStream bs = new ByteArrayOutputStream(); +// +// //imageBitmap.compress(Bitmap.CompressFormat.JPEG, 80, bs); +// imageBitmap.compress(Bitmap.CompressFormat.PNG, 50, bs); +// intent.putExtra("byteArray", bs.toByteArray()); +// startActivity(intent); +// +// +// } else if (requestCode == EXTERNAL_CONTENT_URI && resultCode == RESULT_OK) { +// //Image selected message - // TODO: causing small photo error?! - // get Uri from selected image - Uri targetUri = data.getData(); - Bitmap bitmap = null; - ContentResolver cr = getContentResolver(); - // TODO: is this code used?? - ByteArrayOutputStream bs = new ByteArrayOutputStream(); - - //turn selected image into a Bitmap image - try { - bitmap = MediaStore.Images.Media.getBitmap(cr, targetUri); - } catch (IOException e) { - e.printStackTrace(); - } - //pass image to intent - intent.putExtra("image", targetUri); - startActivity(intent); + Toast.makeText(this, "Image selected", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "Please select VANILLA or DEMO layout to begin", Toast.LENGTH_SHORT).show(); +// +// +// +// // get Uri from selected image +// Uri targetUri = data.getData(); +// Bitmap bitmap = null; +// ContentResolver cr = getContentResolver(); +// ByteArrayOutputStream bs = new ByteArrayOutputStream(); +// +// //turn selected image into a Bitmap image +// try { +// bitmap = MediaStore.Images.Media.getBitmap(cr, targetUri); +// } catch (IOException e) { +// e.printStackTrace(); +// } + + //pass image to intent + //intent.putExtra("image", targetUri); + startActivity(intent); - } } - -} \ No newline at end of file +} diff --git a/sort/.gitignore b/sort/.gitignore new file mode 100644 index 0000000..afbdab3 --- /dev/null +++ b/sort/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build diff --git a/sort/.idea/.name b/sort/.idea/.name new file mode 100644 index 0000000..f40a71f --- /dev/null +++ b/sort/.idea/.name @@ -0,0 +1 @@ +sort \ No newline at end of file diff --git a/sort/.idea/compiler.xml b/sort/.idea/compiler.xml new file mode 100644 index 0000000..217af47 --- /dev/null +++ b/sort/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/sort/.idea/copyright/profiles_settings.xml b/sort/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/sort/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sort/.idea/encodings.xml b/sort/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/sort/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/sort/.idea/gradle.xml b/sort/.idea/gradle.xml new file mode 100644 index 0000000..736c7b5 --- /dev/null +++ b/sort/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/sort/.idea/misc.xml b/sort/.idea/misc.xml new file mode 100644 index 0000000..58ff01f --- /dev/null +++ b/sort/.idea/misc.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + 1.7 + + + + + + + + + diff --git a/sort/.idea/modules.xml b/sort/.idea/modules.xml new file mode 100644 index 0000000..5df70ea --- /dev/null +++ b/sort/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/sort/.idea/scopes/scope_settings.xml b/sort/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/sort/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/sort/.idea/vcs.xml b/sort/.idea/vcs.xml new file mode 100644 index 0000000..def6a6a --- /dev/null +++ b/sort/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sort/app/.gitignore b/sort/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/sort/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/sort/app/app.iml b/sort/app/app.iml new file mode 100644 index 0000000..f24fc74 --- /dev/null +++ b/sort/app/app.iml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sort/app/build.gradle b/sort/app/build.gradle new file mode 100644 index 0000000..9656bab --- /dev/null +++ b/sort/app/build.gradle @@ -0,0 +1,25 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 22 + buildToolsVersion "22.0.1" + + defaultConfig { + applicationId "rayacevedo45.c4q.nyc.sort" + minSdkVersion 15 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.android.support:appcompat-v7:22.1.1' +} diff --git a/sort/app/proguard-rules.pro b/sort/app/proguard-rules.pro new file mode 100644 index 0000000..cfab67a --- /dev/null +++ b/sort/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/c4q-raynaldie/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/sort/app/src/androidTest/java/rayacevedo45/c4q/nyc/sort/ApplicationTest.java b/sort/app/src/androidTest/java/rayacevedo45/c4q/nyc/sort/ApplicationTest.java new file mode 100644 index 0000000..372e0c6 --- /dev/null +++ b/sort/app/src/androidTest/java/rayacevedo45/c4q/nyc/sort/ApplicationTest.java @@ -0,0 +1,13 @@ +package rayacevedo45.c4q.nyc.sort; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/sort/app/src/main/AndroidManifest.xml b/sort/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a69cbfd --- /dev/null +++ b/sort/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + diff --git a/sort/app/src/main/java/rayacevedo45/c4q/nyc/sort/MainActivity.java b/sort/app/src/main/java/rayacevedo45/c4q/nyc/sort/MainActivity.java new file mode 100644 index 0000000..f6418cb --- /dev/null +++ b/sort/app/src/main/java/rayacevedo45/c4q/nyc/sort/MainActivity.java @@ -0,0 +1,131 @@ +package rayacevedo45.c4q.nyc.sort; + +import android.os.Bundle; +import android.os.Handler; +import android.support.v7.app.ActionBarActivity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.EditText; + +import java.util.ArrayList; + + +public class MainActivity extends ActionBarActivity { + EditText editTextA,editTextB,editTextC,editTextD,editTextE; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + editTextA = (EditText) findViewById(R.id.editTextA); + editTextB = (EditText) findViewById(R.id.editTextB); + editTextC = (EditText) findViewById(R.id.editTextC); + editTextD = (EditText) findViewById(R.id.editTextD); + editTextE = (EditText) findViewById(R.id.editTextE); + + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + public void sort (View v){ + final ArrayList integerArrayList = new ArrayList<>(); + int b = Integer.parseInt(editTextB.getText().toString()); + int c = Integer.parseInt(editTextC.getText().toString()); + int d = Integer.parseInt(editTextD.getText().toString()); + int e = Integer.parseInt(editTextE.getText().toString()); + + + integerArrayList.add(Integer.parseInt(editTextA.getText().toString())); + integerArrayList.add(b); + integerArrayList.add(c); + integerArrayList.add(d); + integerArrayList.add(e); + + editTextA.setText(""); + editTextB.setText(""); + editTextC.setText(""); + editTextD.setText(""); + editTextE.setText(""); + + // TODO: clear edit texts + // TODO (optional): make output go to a single textview, make sure to append each number + + //Collections.sort(integerArrayList); + + Handler handler = new Handler(); + // TODO (optional) + // for integer in integerArrayList + // make a new runnable + // post it using the handler + Runnable runnable = new Runnable() { + @Override + public void run() { + editTextA.setText(integerArrayList.get(0) + ""); + + } + }; + handler.postDelayed(runnable, integerArrayList.get(0) * 1000); + + Runnable runnable2 = new Runnable() { + @Override + public void run() { + editTextB.setText(integerArrayList.get(1)+""); + } + }; + handler.postDelayed(runnable2, integerArrayList.get(1) * 1000); + + Runnable runnable3 = new Runnable() { + @Override + public void run() { + editTextC.setText(integerArrayList.get(2)+""); + } + }; + handler.postDelayed(runnable3, integerArrayList.get(2) * 1000); + + + + Runnable runnable4 = new Runnable() { + @Override + public void run() { + editTextD.setText(integerArrayList.get(3)+""); + + } + }; + handler.postDelayed(runnable4, integerArrayList.get(3) * 1000); + + Runnable runnable5 = new Runnable() { + @Override + public void run() { + editTextE.setText(integerArrayList.get(4)+""); + + } + }; + handler.postDelayed(runnable5, integerArrayList.get(4) * 1000); + + + } +} + diff --git a/sort/app/src/main/res/layout/activity_main.xml b/sort/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..fc3097a --- /dev/null +++ b/sort/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,43 @@ + + + + + + + + +