Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,8 @@ dependencies {
//SpotsDialog
implementation 'com.github.d-max:spots-dialog:1.1@aar'

//Mascara de telefone
implementation 'com.github.rtoshiro.mflibrary:mflibrary:1.0.0'


}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){//empresa
linearTipoUsuario.setVisibility(View.GONE); //Caso queira que qualquer um possa cadastrar empresa, alterar de GONE para VISIBLE
linearTipoUsuario.setVisibility(View.GONE);//Caso queira que qualquer um possa cadastrar empresa, alterar de GONE para VISIBLE
}else{//Usuario
linearTipoUsuario.setVisibility(View.GONE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ public void onDataChange(DataSnapshot dataSnapshot) {
editEmpresaTaxa.setText(empresa.getPrecoEntrega().toString());

urlImagemSelecionada = empresa.getUrlImagem();

if (urlImagemSelecionada != ""){
Picasso.get().load(urlImagemSelecionada).into(imagePerfilEmpresa);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,56 +1,101 @@
package com.example.bomapetite.activity;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import com.example.bomapetite.R;
import com.example.bomapetite.helper.ConfiguracaoFirebase;
import com.example.bomapetite.helper.UsuarioFirebase;
import com.example.bomapetite.model.Empresa;
import com.example.bomapetite.model.Usuario;
import com.github.rtoshiro.util.format.SimpleMaskFormatter;
import com.github.rtoshiro.util.format.text.MaskTextWatcher;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import com.squareup.picasso.Picasso;

import java.io.ByteArrayOutputStream;

public class ConfiguracoesUsuarioActivity extends AppCompatActivity {

private EditText editUsuarioNome, editUsuarioEndereco;
private EditText editUsuarioNome, editUsuarioEndereco, editUsuarioTelefone;
private String idUsuario;
private ImageView imagePerfilUsuario;

private static final int SELECAO_GALERIA = 200;
private StorageReference storageReference;
private DatabaseReference firebaseRef;
private String idUsuarioLogado;
private String urlImagemSelecionada = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_configuracoes_usuario);
getSupportActionBar().setTitle("Configurações");
getSupportActionBar().setTitle("Perfil");

inicializaComponentes();
idUsuario = UsuarioFirebase.getIdUsuario();
firebaseRef = ConfiguracaoFirebase.getFirebase();
storageReference = ConfiguracaoFirebase.getFirebaseStorage();
firebaseRef = ConfiguracaoFirebase.getFirebase();
idUsuarioLogado = UsuarioFirebase.getIdUsuario();

imagePerfilUsuario.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
if (i.resolveActivity(getPackageManager()) != null){
startActivityForResult(i, SELECAO_GALERIA);
}
}
});
recuperarDadosUsuario();

SimpleMaskFormatter smf = new SimpleMaskFormatter("(NN)NNNNN-NNNN");
MaskTextWatcher mtw = new MaskTextWatcher(editUsuarioTelefone, smf);
editUsuarioTelefone.addTextChangedListener(mtw);
}

public void validarDadosUsuario(View view){
String nome = editUsuarioNome.getText().toString();
String endereco = editUsuarioEndereco.getText().toString();
String telefone = editUsuarioTelefone.getText().toString();

if (!nome.isEmpty()){
if (!endereco.isEmpty()){
Usuario usuario = new Usuario();
usuario.setIdUsuario(idUsuario);
usuario.setNome(nome);
usuario.setEndereco(endereco);
usuario.salvar();
exibirMensagem("Dados salvos com sucesso!");
finish();
if (!telefone.isEmpty()){
Usuario usuario = new Usuario();
usuario.setIdUsuario(idUsuario);
usuario.setNome(nome);
usuario.setEndereco(endereco);
usuario.setTelefone(telefone);
usuario.setUrlImagem(urlImagemSelecionada);
usuario.salvar();
exibirMensagem("Dados salvos com sucesso!");
finish();
}else{
exibirMensagem("Digite seu telefone!");
}
}else{
exibirMensagem("Digite seu endereço completo!");
exibirMensagem("Digite seu endereço completo!");
}
}else{
exibirMensagem("Digite seu nome!");
Expand All @@ -66,15 +111,12 @@ public void onDataChange(DataSnapshot dataSnapshot) {
Usuario usuario = dataSnapshot.getValue(Usuario.class);
editUsuarioNome.setText(usuario.getNome());
editUsuarioEndereco.setText(usuario.getEndereco());
//editUsuarioTelefone.setText(usuario.getTelefone());
editUsuarioTelefone.setText(usuario.getTelefone());

/*
urlImagemSelecionada = usuario.getUrlImagem();
if (urlImagemSelecionada != ""){
Picasso.get().load(urlImagemSelecionada).into(imagePerfilEmpresa);
Picasso.get().load(urlImagemSelecionada).into(imagePerfilUsuario);
}

*/
}
}

Expand All @@ -85,12 +127,58 @@ public void onCancelled(DatabaseError databaseError) {
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Bitmap imagem = null;
try {

switch (requestCode){
case SELECAO_GALERIA:
Uri localImagem = data.getData();
imagem = MediaStore.Images.Media.getBitmap(getContentResolver(),localImagem);
break;
}

if (imagem != null){
imagePerfilUsuario.setImageBitmap(imagem);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imagem.compress(Bitmap.CompressFormat.JPEG, 70, baos);
byte[] dadosImagem = baos.toByteArray();

StorageReference imagemRef = storageReference.child("imagens").child("usuarios").child(idUsuarioLogado + "jpeg");
UploadTask uploadTask = imagemRef.putBytes(dadosImagem);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(ConfiguracoesUsuarioActivity.this, "Erro ao fazer upload da imagem", Toast.LENGTH_SHORT).show();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
urlImagemSelecionada = taskSnapshot.getDownloadUrl().toString();
Toast.makeText(ConfiguracoesUsuarioActivity.this, "Sucesso ao fazer upload da imagem", Toast.LENGTH_SHORT).show();
}
});
}

}catch (Exception e){
e.printStackTrace();
}
}
}


private void exibirMensagem(String texto){
Toast.makeText(this, texto, Toast.LENGTH_SHORT).show();
}

private void inicializaComponentes(){
editUsuarioNome = findViewById(R.id.editUsuarioNome);
editUsuarioEndereco = findViewById(R.id.editUsuarioEndereco);
editUsuarioTelefone = findViewById(R.id.editUsuarioTelefone);
imagePerfilUsuario = findViewById(R.id.imagePerfilUsuario);
}

}
18 changes: 18 additions & 0 deletions app/src/main/java/com/example/bomapetite/model/Usuario.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ public class Usuario {
private String idUsuario;
private String nome;
private String endereco;
private String telefone;
private String urlImagem;

public Usuario() {
}
Expand Down Expand Up @@ -41,4 +43,20 @@ public String getEndereco() {
public void setEndereco(String endereco) {
this.endereco = endereco;
}

public String getTelefone() {
return telefone;
}

public void setTelefone(String telefone) {
this.telefone = telefone;
}

public String getUrlImagem() {
return urlImagem;
}

public void setUrlImagem(String urlImagem) {
this.urlImagem = urlImagem;
}
}
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_perfil.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
</vector>
30 changes: 29 additions & 1 deletion app/src/main/res/layout/activity_autenticacao.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<LinearLayout
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content">
<ImageView
android:layout_marginTop="10dp"
android:layout_marginBottom="20dp"
Expand Down Expand Up @@ -46,6 +46,34 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<LinearLayout
tools:visibility="visible"
android:visibility="gone"
android:id="@+id/linearCadastro"
android:layout_marginTop="-2dp"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:padding="16dp"
android:background="@drawable/bg_edit_text"
android:id="@+id/editUsuarioNome"
android:inputType="textEmailAddress"
android:hint="Nome"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:layout_marginTop="-2dp"
android:padding="16dp"
android:background="@drawable/bg_edit_text"
android:id="@+id/editUsuarioEndereco"
android:inputType="textPassword"
android:hint="Endereço"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>


<LinearLayout
android:layout_marginTop="10dp"
android:gravity="center"
Expand Down
23 changes: 23 additions & 0 deletions app/src/main/res/layout/activity_configuracoes_usuario.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@
android:orientation="vertical"
tools:context=".activity.ConfiguracoesUsuarioActivity">

<LinearLayout
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="match_parent">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_marginTop="50dp"
android:id="@+id/imagePerfilUsuario"
android:layout_width="match_parent"
android:layout_height="120dp"
android:src="@drawable/capa_perfil"/>

</LinearLayout>

<LinearLayout
android:layout_weight="1"
android:padding="16dp"
Expand All @@ -20,6 +33,15 @@
android:hint="Nome"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:inputType="number"
android:layout_marginTop="-2dp"
android:padding="16dp"
android:background="@drawable/bg_edit_text"
android:id="@+id/editUsuarioTelefone"
android:hint="Telefone"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:layout_marginTop="-2dp"
android:padding="16dp"
Expand All @@ -39,6 +61,7 @@
android:id="@+id/buttonUsuarioSalvar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

</LinearLayout>
5 changes: 3 additions & 2 deletions app/src/main/res/menu/menu_usuario.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
app:showAsAction="always"/>
<item
android:id="@+id/menuConfiguracoes"
android:title="Configurações"
app:showAsAction="never"/>
android:title="Perfil"
android:icon="@drawable/ic_perfil"
app:showAsAction="always"/>
<item
android:id="@+id/menuSair"
android:title="Sair"
Expand Down