Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package project.roei.com.mycloset;
- import android.app.Activity;
- import android.app.DownloadManager;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.drawable.BitmapDrawable;
- import android.graphics.drawable.Drawable;
- import android.media.Image;
- import android.net.Uri;
- import android.os.Bundle;
- import android.os.Environment;
- import android.os.SystemClock;
- import android.view.View;
- import android.view.textclassifier.TextClassification;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.Toast;
- import com.google.android.gms.common.api.Response;
- import com.google.android.gms.tasks.OnFailureListener;
- import com.google.android.gms.tasks.OnSuccessListener;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.storage.FirebaseStorage;
- import com.google.firebase.storage.StorageReference;
- import com.google.firebase.storage.UploadTask;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import androidx.annotation.NonNull;
- import static project.roei.com.mycloset.MyClosetActivity.imageBitmap;
- import static project.roei.com.mycloset.MyClosetActivity.picturePath;
- import static project.roei.com.mycloset.UpdateActivity.EMAIL;
- import static project.roei.com.mycloset.UpdateActivity.NICKNAME;
- import static project.roei.com.mycloset.UpdateActivity.PREFS_NAME;
- public class CheckImage extends Activity implements View.OnClickListener {
- private Button btnCancel;
- private Button btnOk;
- public ImageView ivPhoto;
- SharedPreferences prefs;
- //TODO connect the storage and auth and databse using firebase.
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- Intent intent = getIntent();
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_check_image);
- prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- btnCancel = (Button) findViewById(R.id.btnCancel);
- btnOk = (Button) findViewById(R.id.btnOk);
- ivPhoto = (ImageView) findViewById(R.id.ivPhoto);
- btnCancel.setOnClickListener(this);
- btnOk.setOnClickListener(this);
- String image = getIntent().getStringExtra("ImageBitmap");
- Bundle extra = getIntent().getExtras();
- if (imageBitmap != null){
- ivPhoto.setImageBitmap(imageBitmap);
- }
- if (picturePath != null){
- ivPhoto.setImageBitmap(BitmapFactory.decodeFile(picturePath));
- }
- }
- @Override
- public void onBackPressed() {
- Intent i = new Intent(CheckImage.this, MyClosetActivity.class);
- startActivity(i);
- overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()){
- case R.id.btnCancel:
- Intent i = new Intent(CheckImage.this, MyClosetActivity.class);
- startActivity(i);
- overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
- break;
- case R.id.btnOk:
- //Toast.makeText(this, ivPhoto.getDrawable().toString(), Toast.LENGTH_SHORT).show();
- FirebaseStorage Storage = FirebaseStorage.getInstance();
- StorageReference storageRef = Storage.getReference();
- prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- final Date formattedDate = Calendar.getInstance().getTime();
- final StorageReference Ref = storageRef.child(HomeActivity.User.getUid()).child("images").child(formattedDate.toString());
- // Get the data from an ImageView as bytes
- ivPhoto.setDrawingCacheEnabled(true);
- ivPhoto.buildDrawingCache();
- Bitmap bitmap = ((BitmapDrawable) ivPhoto.getDrawable()).getBitmap();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- byte[] data = baos.toByteArray();
- final UploadTask uploadTask = Ref.putBytes(data);
- uploadTask.addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception exception) {
- // Handle unsuccessful uploads
- Toast.makeText(CheckImage.this, "Failed to upload image - Contact Developer.", Toast.LENGTH_SHORT).show();
- Intent i = new Intent(CheckImage.this, MyClosetActivity.class);
- startActivity(i);
- overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
- }
- }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
- @Override
- public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
- // taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
- FirebaseDatabase database = FirebaseDatabase.getInstance();
- DatabaseReference RefUser = database.getReference("Users").child(HomeActivity.User.getUid()).child("Images").child(formattedDate.toString());
- String location = Ref.getPath();
- RefUser.setValue(location);
- Toast.makeText(CheckImage.this, "Image saved successfully", Toast.LENGTH_SHORT).show();
- Intent i = new Intent(CheckImage.this, MyClosetActivity.class);
- startActivity(i);
- overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
- // ...
- }
- });
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement