Created
October 12, 2017 19:43
-
-
Save ainulfi3/00e3633a9dbb2689f25e650a99850a56 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:id="@+id/drawer_layout" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:fitsSystemWindows="true" | |
tools:openDrawer="start"> | |
<include | |
layout="@layout/app_bar_main" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" /> | |
<android.support.design.widget.NavigationView | |
android:id="@+id/nav_view" | |
android:layout_width="wrap_content" | |
android:layout_height="match_parent" | |
android:layout_gravity="start" | |
android:fitsSystemWindows="true" | |
app:headerLayout="@layout/nav_header_main" | |
app:menu="@menu/activity_main_drawer" /> | |
</android.support.v4.widget.DrawerLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Users" : { | |
"Tutees" : { | |
"glk3Wi1lZZOQkt2UNsGit02DEym2" : { | |
"FullName" : "ainul jasni", | |
"UserName" : "ainulfi3", | |
"profileImageUrl" : "https://firebasestorage.googleapis.com/v0/b/tutorpal-1.appspot.com/o/profileImageUrl%2Fglk3Wi1lZZOQkt2UNsGit02DEym2?alt=media&token=f22fc4bb-39f0-49ec-ad05-aae7513fce0e" | |
} | |
}, | |
"Tutors" : { | |
"yE6ALyKEjVOoNLZcHEvHmeYkqON2" : { | |
"FullName" : "hai im ainul ", | |
"UserName" : "ainul", | |
"profileImageUrl" : "https://firebasestorage.googleapis.com/v0/b/tutorpal-1.appspot.com/o/profileImageUrl%2FyE6ALyKEjVOoNLZcHEvHmeYkqON2?alt=media&token=aa63a6f2-0154-4c27-b7ba-d8de89ee64bc" | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.cqaai.tutorpal.activity; | |
import android.app.Activity; | |
import android.content.Intent; | |
import android.graphics.Bitmap; | |
import android.net.Uri; | |
import android.os.Bundle; | |
import android.provider.MediaStore; | |
import android.support.annotation.NonNull; | |
import android.support.v7.app.AppCompatActivity; | |
import android.support.v7.widget.Toolbar; | |
import android.text.TextUtils; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.ImageView; | |
import android.widget.ProgressBar; | |
import android.widget.Toast; | |
import com.bumptech.glide.Glide; | |
import com.google.android.gms.common.data.BitmapTeleporter; | |
import com.google.android.gms.tasks.OnCompleteListener; | |
import com.google.android.gms.tasks.OnFailureListener; | |
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.example.cqaai.tutorpal.Firebase.FirebaseDatabaseHelper; | |
import com.example.cqaai.tutorpal.Firebase.FirebaseUserEntity; | |
import com.example.cqaai.tutorpal.Helper.Helper; | |
import com.example.cqaai.tutorpal.R; | |
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 java.io.ByteArrayInputStream; | |
import java.io.ByteArrayOutputStream; | |
import java.io.IOException; | |
import java.util.HashMap; | |
import java.util.Map; | |
public class EditProfileActivity extends AppCompatActivity { | |
private Button changeFullname, changeUsername, btnChangeFullname, btnChangeUsername, btnChangeEmail, btnChangePassword, btnSendResetEmail, btnRemoveUser, | |
changeEmail, changePassword, sendEmail, remove, signOut, mUpload; | |
private EditText fullName, userName, oldEmail, newEmail, password, newPassword; | |
private ProgressBar progressBar; | |
private FirebaseAuth.AuthStateListener authListener; | |
private FirebaseAuth auth; | |
private DatabaseReference mTutorDatabase; | |
private ImageView mProfileImage; | |
private Uri resultUri; | |
private String userID; | |
private String mFullName; | |
private String mUserName; | |
private String mProfileImageUrl; | |
// private static final String TAG = EditProfileActivity.class.getSimpleName(); | |
// | |
// private EditText editProfileName; | |
// | |
// private EditText editProfileCountry; | |
// | |
// private EditText editProfilePhoneNumber; | |
// | |
// private EditText editProfileHobby; | |
// | |
// private EditText editProfileBirthday; | |
// | |
// private FirebaseAuth.AuthStateListener authStateListener; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_edit_profile); | |
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); | |
setSupportActionBar(toolbar); | |
getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |
setTitle("Edit Profile Information"); | |
btnChangeFullname = (Button) findViewById(R.id.change_fullname_button); | |
btnChangeUsername = (Button) findViewById(R.id.change_username_button); | |
btnChangeEmail = (Button) findViewById(R.id.change_email_button); | |
btnChangePassword = (Button) findViewById(R.id.change_password_button); | |
btnSendResetEmail = (Button) findViewById(R.id.sending_pass_reset_button); | |
btnRemoveUser = (Button) findViewById(R.id.remove_user_button); | |
changeFullname = (Button) findViewById(R.id.changeFullName); | |
changeUsername = (Button) findViewById(R.id.changeUsername); | |
changeEmail = (Button) findViewById(R.id.changeEmail); | |
changePassword = (Button) findViewById(R.id.changePass); | |
sendEmail = (Button) findViewById(R.id.send); | |
remove = (Button) findViewById(R.id.remove); | |
signOut = (Button) findViewById(R.id.sign_out); | |
mUpload = (Button) findViewById(R.id.btn_upload); | |
fullName = (EditText) findViewById(R.id.full_name); | |
userName = (EditText) findViewById(R.id.user_name); | |
oldEmail = (EditText) findViewById(R.id.old_email); | |
newEmail = (EditText) findViewById(R.id.new_email); | |
password = (EditText) findViewById(R.id.password); | |
newPassword = (EditText) findViewById(R.id.newPassword); | |
mProfileImage = (ImageView) findViewById(R.id.profileImage); | |
fullName.setVisibility(View.GONE); | |
userName.setVisibility(View.GONE); | |
oldEmail.setVisibility(View.GONE); | |
newEmail.setVisibility(View.GONE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.GONE); | |
changeFullname.setVisibility(View.GONE); | |
changeUsername.setVisibility(View.GONE); | |
changeEmail.setVisibility(View.GONE); | |
changePassword.setVisibility(View.GONE); | |
sendEmail.setVisibility(View.GONE); | |
remove.setVisibility(View.GONE); | |
progressBar = (ProgressBar) findViewById(R.id.progressBar); | |
if (progressBar != null) { | |
progressBar.setVisibility(View.GONE); | |
} | |
//get firebase auth instance | |
auth = FirebaseAuth.getInstance(); | |
//get current user | |
userID = auth.getCurrentUser().getUid(); | |
mTutorDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child("Tutors").child(userID); | |
getUserInfo(); | |
mProfileImage.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
Intent intent = new Intent(Intent.ACTION_PICK); | |
intent.setType("image/*"); | |
startActivityForResult(intent, 1); | |
} | |
}); | |
//get current user | |
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); | |
authListener = new FirebaseAuth.AuthStateListener() { | |
@Override | |
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { | |
FirebaseUser user = firebaseAuth.getCurrentUser(); | |
if (user == null) { | |
// user auth state is changed - user is null | |
// launch login activity | |
startActivity(new Intent(EditProfileActivity.this, LoginActivity.class)); | |
finish(); | |
} | |
} | |
}; | |
//change full name | |
btnChangeFullname.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
changeFullname.setVisibility(View.VISIBLE); | |
changeUsername.setVisibility(View.GONE); | |
fullName.setVisibility(View.VISIBLE); | |
userName.setVisibility(View.GONE); | |
oldEmail.setVisibility(View.GONE); | |
newEmail.setVisibility(View.GONE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.GONE); | |
changeEmail.setVisibility(View.GONE); | |
changePassword.setVisibility(View.GONE); | |
sendEmail.setVisibility(View.GONE); | |
remove.setVisibility(View.GONE); | |
} | |
}); | |
//change full name | |
btnChangeUsername.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
changeFullname.setVisibility(View.GONE); | |
changeUsername.setVisibility(View.VISIBLE); | |
fullName.setVisibility(View.GONE); | |
userName.setVisibility(View.VISIBLE); | |
oldEmail.setVisibility(View.GONE); | |
newEmail.setVisibility(View.GONE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.GONE); | |
changeEmail.setVisibility(View.GONE); | |
changePassword.setVisibility(View.GONE); | |
sendEmail.setVisibility(View.GONE); | |
remove.setVisibility(View.GONE); | |
} | |
}); | |
//INITIATE change username BUTTON FUNCTION | |
btnChangeEmail.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
changeFullname.setVisibility(View.GONE); | |
changeUsername.setVisibility(View.GONE); | |
fullName.setVisibility(View.GONE); | |
userName.setVisibility(View.GONE); | |
oldEmail.setVisibility(View.VISIBLE); | |
newEmail.setVisibility(View.VISIBLE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.GONE); | |
changeEmail.setVisibility(View.VISIBLE); | |
changePassword.setVisibility(View.GONE); | |
sendEmail.setVisibility(View.GONE); | |
remove.setVisibility(View.GONE); | |
} | |
}); | |
changeFullname.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
saveUserInformationFullName(); | |
} | |
}); | |
changeUsername.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
saveUserInformationUsername(); | |
} | |
}); | |
mUpload.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
uploadProfileImage(); | |
} | |
}); | |
changeEmail.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
progressBar.setVisibility(View.VISIBLE); | |
if (user != null && !newEmail.getText().toString().trim().equals("")) { | |
user.updateEmail(newEmail.getText().toString().trim()) | |
.addOnCompleteListener(new OnCompleteListener<Void>() { | |
@Override | |
public void onComplete(@NonNull Task<Void> task) { | |
if (task.isSuccessful()) { | |
Toast.makeText(EditProfileActivity.this, "Email address is updated. Please sign in with new email id!", Toast.LENGTH_LONG).show(); | |
signOut(); | |
progressBar.setVisibility(View.GONE); | |
} else { | |
Toast.makeText(EditProfileActivity.this, "Failed to update email!", Toast.LENGTH_LONG).show(); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
} else if (newEmail.getText().toString().trim().equals("")) { | |
newEmail.setError("Enter email"); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
btnChangePassword.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
changeFullname.setVisibility(View.GONE); | |
changeUsername.setVisibility(View.GONE); | |
fullName.setVisibility(View.GONE); | |
userName.setVisibility(View.GONE); | |
oldEmail.setVisibility(View.GONE); | |
newEmail.setVisibility(View.GONE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.VISIBLE); | |
changeEmail.setVisibility(View.GONE); | |
changePassword.setVisibility(View.VISIBLE); | |
sendEmail.setVisibility(View.GONE); | |
remove.setVisibility(View.GONE); | |
} | |
}); | |
changePassword.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
progressBar.setVisibility(View.VISIBLE); | |
if (user != null && !newPassword.getText().toString().trim().equals("")) { | |
if (newPassword.getText().toString().trim().length() < 6) { | |
newPassword.setError("Password too short, enter minimum 6 characters"); | |
progressBar.setVisibility(View.GONE); | |
} else { | |
user.updatePassword(newPassword.getText().toString().trim()) | |
.addOnCompleteListener(new OnCompleteListener<Void>() { | |
@Override | |
public void onComplete(@NonNull Task<Void> task) { | |
if (task.isSuccessful()) { | |
Toast.makeText(EditProfileActivity.this, "Password is updated, sign in with new password!", Toast.LENGTH_SHORT).show(); | |
signOut(); | |
progressBar.setVisibility(View.GONE); | |
} else { | |
Toast.makeText(EditProfileActivity.this, "Failed to update password!", Toast.LENGTH_SHORT).show(); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
} | |
} else if (newPassword.getText().toString().trim().equals("")) { | |
newPassword.setError("Enter password"); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
btnSendResetEmail.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
changeFullname.setVisibility(View.GONE); | |
changeUsername.setVisibility(View.GONE); | |
fullName.setVisibility(View.GONE); | |
userName.setVisibility(View.GONE); | |
oldEmail.setVisibility(View.VISIBLE); | |
newEmail.setVisibility(View.GONE); | |
password.setVisibility(View.GONE); | |
newPassword.setVisibility(View.GONE); | |
changeEmail.setVisibility(View.GONE); | |
changePassword.setVisibility(View.GONE); | |
sendEmail.setVisibility(View.VISIBLE); | |
remove.setVisibility(View.GONE); | |
} | |
}); | |
sendEmail.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
progressBar.setVisibility(View.VISIBLE); | |
if (!oldEmail.getText().toString().trim().equals("")) { | |
auth.sendPasswordResetEmail(oldEmail.getText().toString().trim()) | |
.addOnCompleteListener(new OnCompleteListener<Void>() { | |
@Override | |
public void onComplete(@NonNull Task<Void> task) { | |
if (task.isSuccessful()) { | |
Toast.makeText(EditProfileActivity.this, "Reset password email is sent!", Toast.LENGTH_SHORT).show(); | |
progressBar.setVisibility(View.GONE); | |
} else { | |
Toast.makeText(EditProfileActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show(); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
} else { | |
oldEmail.setError("Enter email"); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
btnRemoveUser.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
progressBar.setVisibility(View.VISIBLE); | |
if (user != null) { | |
user.delete() | |
.addOnCompleteListener(new OnCompleteListener<Void>() { | |
@Override | |
public void onComplete(@NonNull Task<Void> task) { | |
if (task.isSuccessful()) { | |
Toast.makeText(EditProfileActivity.this, "Your profile is deleted:( Create a account now!", Toast.LENGTH_SHORT).show(); | |
startActivity(new Intent(EditProfileActivity.this, RegisterActivity.class)); | |
finish(); | |
progressBar.setVisibility(View.GONE); | |
} else { | |
Toast.makeText(EditProfileActivity.this, "Failed to delete your account!", Toast.LENGTH_SHORT).show(); | |
progressBar.setVisibility(View.GONE); | |
} | |
} | |
}); | |
} | |
} | |
}); | |
signOut.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
signOut(); | |
} | |
}); | |
} | |
//To display data from database | |
private void getUserInfo() { | |
mTutorDatabase.addValueEventListener(new ValueEventListener() { | |
@Override | |
public void onDataChange(DataSnapshot dataSnapshot) { | |
if(dataSnapshot.exists() && dataSnapshot.getChildrenCount()>0){ | |
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue(); | |
if(map.get("FullName")!=null){ | |
mFullName = map.get("FullName").toString(); | |
fullName.setText(mFullName); | |
} | |
if(map.get("UserName")!=null){ | |
mUserName = map.get("UserName").toString(); | |
userName.setText("@"+mUserName); | |
} | |
if(map.get("profileImageUrl")!=null){ | |
mProfileImageUrl = map.get("profileImageUrl").toString(); | |
Glide.with(getApplication()).load(mProfileImageUrl).into(mProfileImage); | |
} | |
} | |
} | |
@Override | |
public void onCancelled(DatabaseError databaseError) { | |
} | |
}); | |
} | |
private void uploadProfileImage() { | |
if(resultUri != null) { | |
StorageReference filePath = FirebaseStorage.getInstance().getReference().child("profileImageUrl").child(userID); | |
Bitmap bitmap = null; | |
try { | |
bitmap = MediaStore.Images.Media.getBitmap(getApplication().getContentResolver(), resultUri); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |
; | |
// bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); | |
// byte[] data = baos.toByteArray(); | |
// | |
// UploadTask uploadTask = mountainsRef.putBytes(data); | |
// uploadTask.addOnFailureListener(new OnFailureListener() { | |
// @Override | |
// public void onFailure(@NonNull Exception exception) { | |
// // Handle unsuccessful uploads | |
// } | |
// }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { | |
// @Override | |
// public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { | |
// // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL. | |
// Uri downloadUrl = taskSnapshot.getDownloadUrl(); | |
// } | |
// }); | |
// StorageReference riversRef = storageRef.child("images/"+file.getLastPathSegment()); | |
// uploadTask = riversRef.putFile(file); | |
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos); | |
byte[] data = baos.toByteArray(); | |
UploadTask uploadTask = filePath.putBytes(data); | |
Toast.makeText(EditProfileActivity.this, "Uploading..", Toast.LENGTH_SHORT).show(); | |
uploadTask.addOnFailureListener(new OnFailureListener() { | |
@Override | |
public void onFailure(@NonNull Exception e) { | |
finish(); | |
return; | |
} | |
}); | |
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { | |
@Override | |
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { | |
Uri downloadUrl = taskSnapshot.getDownloadUrl(); | |
Map newImage = new HashMap(); | |
newImage.put("profileImageUrl", downloadUrl.toString()); | |
mTutorDatabase.updateChildren(newImage); | |
return; | |
} | |
}); | |
}else{ | |
finish(); | |
} | |
// if(resultUri != null){ | |
// StorageReference filePath = FirebaseStorage.getInstance().getReference().child("profile_images").child(userID); | |
// Bitmap bitmap = null; | |
// | |
// try { | |
// bitmap = MediaStore.Images.Media.getBitmap(getApplication().getContentResolver(), resultUri); | |
// } catch (IOException e) { | |
// e.printStackTrace(); | |
// } | |
// //compress image | |
// ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |
// bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos); | |
// byte [] data = baos.toByteArray(); | |
// UploadTask uploadTask = filePath.putBytes(data); | |
// | |
// uploadTask.addOnFailureListener(new OnFailureListener() { | |
// @Override | |
// public void onFailure(@NonNull Exception e) { | |
// finish(); | |
// return; | |
// } | |
// }); | |
// | |
// uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { | |
// @Override | |
// public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { | |
// @SuppressWarnings("VisibleForTests") Uri downloadUri = taskSnapshot.getDownloadUrl(); | |
// | |
// Map newImage = new HashMap(); | |
// newImage.put("profileImageUrl", downloadUri.toString()); | |
// mTutorDatabase.updateChildren(newImage); | |
// | |
// finish(); | |
// return; | |
// } | |
// }); | |
// }else{ | |
// finish(); | |
// | |
// } | |
} | |
private void saveUserInformationUsername() { | |
mUserName = userName.getText().toString(); | |
Map userInfo = new HashMap(); | |
userInfo.put("UserName", mUserName); | |
mTutorDatabase.updateChildren(userInfo); | |
Toast.makeText(this, "Changed succesful", Toast.LENGTH_SHORT).show(); | |
return; | |
} | |
private void saveUserInformationFullName() { | |
mFullName = fullName.getText().toString(); | |
Map userInfo = new HashMap(); | |
userInfo.put("FullName", mFullName); | |
// userInfo.put("UserName", mUserName); | |
mTutorDatabase.updateChildren(userInfo); | |
Toast.makeText(this, "Changed succesful", Toast.LENGTH_SHORT).show(); | |
return; | |
} | |
//sign out method | |
public void signOut() { | |
auth.signOut(); | |
} | |
@Override | |
protected void onResume() { | |
super.onResume(); | |
progressBar.setVisibility(View.GONE); | |
} | |
@Override | |
public void onStart() { | |
super.onStart(); | |
auth.addAuthStateListener(authListener); | |
} | |
@Override | |
public void onStop() { | |
super.onStop(); | |
if (authListener != null) { | |
auth.removeAuthStateListener(authListener); | |
} | |
} | |
@Override | |
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
super.onActivityResult(requestCode, resultCode, data); | |
if(requestCode == 1 && resultCode == Activity.RESULT_OK){ | |
final Uri imageUri = data.getData(); | |
resultUri = imageUri; | |
mProfileImage.setImageURI(resultUri); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment