Untitled
unknown
plain_text
3 years ago
8.2 kB
3
Indexable
package com.example.socialapp; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; import android.content.ContentResolver; import android.content.Intent; import android.icu.text.SimpleDateFormat; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.webkit.MimeTypeMap; import android.widget.Button; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.tasks.Continuation; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnSuccessListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; import com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.StorageReference; import com.google.firebase.storage.UploadTask; import com.squareup.picasso.Picasso; import java.util.Calendar; import java.util.HashMap; import java.util.Map; public class SendImage extends AppCompatActivity { String url,receiver_name,sender_uid,receiver_uid; ImageView imageView; Uri imageurl; ProgressBar progressBar; Button button; UploadTask uploadTask; DatabaseReference checkVideocallRef; String senderuid; FirebaseDatabase database = FirebaseDatabase.getInstance(); FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); String currentuid = user.getUid(); TextView textView; StorageReference storageReference; FirebaseStorage firebaseStorage; DatabaseReference rootRef1,rootRef2; private Uri uri; MessageMember messageMember; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send_image); messageMember = new MessageMember(); storageReference = firebaseStorage.getInstance().getReference("Message Images"); imageView = findViewById(R.id.iv_sendImage); button = findViewById(R.id.btn_sendimage); progressBar = findViewById(R.id.pb_sendImage); textView = findViewById(R.id.tv_dont); checkIncoming(); Bundle bundle = getIntent().getExtras(); if (bundle != null){ url = bundle.getString("u"); receiver_name = bundle.getString("n"); receiver_uid = bundle.getString("ruid"); sender_uid = bundle.getString("suid"); }else { Toast.makeText(this, "error", Toast.LENGTH_SHORT).show(); } Picasso.get().load(url).into(imageView); imageurl = Uri.parse(url); rootRef1 = database.getReference("Message").child(sender_uid).child(receiver_uid); rootRef2 = database.getReference("Message").child(receiver_uid).child(sender_uid); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { sendImage(); textView.setVisibility(View.VISIBLE); } }); } private String getFileExt(Uri uri){ ContentResolver contentResolver = getContentResolver(); MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton(); return mimeTypeMap.getExtensionFromMimeType((contentResolver.getType(uri))); } private void sendImage() { if (imageurl != null){ progressBar.setVisibility(View.VISIBLE); final StorageReference reference = storageReference.child(System.currentTimeMillis()+ "."+getFileExt(imageurl)); uploadTask = reference.putFile(imageurl); Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { @Override public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception { if (!task.isSuccessful()){ throw task.getException(); } return reference.getDownloadUrl(); } }).addOnCompleteListener(new OnCompleteListener<Uri>() { @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onComplete(@NonNull Task<Uri> task) { if (task.isSuccessful()){ Uri downloadUri = task.getResult(); Calendar cdate = Calendar.getInstance(); SimpleDateFormat currentdate = new SimpleDateFormat("dd-MMMM-yyyy"); final String savedate = currentdate.format(cdate.getTime()); Calendar ctime = Calendar.getInstance(); SimpleDateFormat currenttime = new SimpleDateFormat("HH:mm:ss"); final String savetime = currenttime.format(ctime.getTime()); String time = savedate +":"+ savetime; long deletetime = System.currentTimeMillis(); messageMember.setDate(savedate); messageMember.setTime(savetime); messageMember.setImage(downloadUri.toString()); messageMember.setReceiveruid(receiver_uid); messageMember.setSenderuid(sender_uid); messageMember.setType("i"); messageMember.setDelete(deletetime); String id = rootRef1.push().getKey(); rootRef1.child(id).setValue(messageMember); String id1 = rootRef2.push().getKey(); rootRef2.child(id1).setValue(messageMember); progressBar.setVisibility(View.INVISIBLE); textView.setVisibility(View.INVISIBLE); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SendImage.this,MessageActivity.class); startActivity(intent); } },2000); } } }); }else { Toast.makeText(this, "Please select something", Toast.LENGTH_SHORT).show(); } } public void checkIncoming(){ checkVideocallRef = database.getReference("vc"); try { checkVideocallRef.child(currentuid).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { if (snapshot.exists()){ senderuid = snapshot.child("calleruid").getValue().toString(); Intent intent = new Intent(SendImage.this,VideoCallinComing.class); intent.putExtra("uid",senderuid ); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }else { } } @Override public void onCancelled(@NonNull DatabaseError error) { } }); }catch (Exception e){ // Toast.makeText(context, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); } }}
Editor is loading...