From ffe3eb152789d67f6db2c417bfe0a23d4a96429b Mon Sep 17 00:00:00 2001 From: 230415 <230415@epvc.pt> Date: Mon, 27 Apr 2026 15:03:58 +0100 Subject: [PATCH] =?UTF-8?q?defini=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 + .../example/lifegrid/DefinicoesActivity.java | 73 +++++ .../example/lifegrid/TelaInicialActivity.java | 7 +- .../main/res/layout/activity_definicoes.xml | 253 ++++++++++++++++++ app/src/main/res/values/strings.xml | 6 + 5 files changed, 338 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/example/lifegrid/DefinicoesActivity.java create mode 100644 app/src/main/res/layout/activity_definicoes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5a2581e..f09a15c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,6 +13,9 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.LifeGrid"> + diff --git a/app/src/main/java/com/example/lifegrid/DefinicoesActivity.java b/app/src/main/java/com/example/lifegrid/DefinicoesActivity.java new file mode 100644 index 0000000..1651192 --- /dev/null +++ b/app/src/main/java/com/example/lifegrid/DefinicoesActivity.java @@ -0,0 +1,73 @@ +package com.example.lifegrid; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.Spinner; +import android.widget.Switch; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; + +public class DefinicoesActivity extends AppCompatActivity { + + private ImageView btnBack; + private TextView tvLogout; + private Button btnSaveSettings; + private EditText etUsername; + private Switch switchNotifications; + private Spinner spinnerCurrency; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_definicoes); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + btnBack = findViewById(R.id.btnBack); + tvLogout = findViewById(R.id.tvLogout); + btnSaveSettings = findViewById(R.id.btnSaveSettings); + etUsername = findViewById(R.id.etUsername); + switchNotifications = findViewById(R.id.switchNotifications); + spinnerCurrency = findViewById(R.id.spinnerCurrency); + + FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); + if (user != null && user.getDisplayName() != null && !user.getDisplayName().isEmpty()) { + etUsername.setText(user.getDisplayName()); + } + + btnBack.setOnClickListener(v -> { + finish(); + }); + + tvLogout.setOnClickListener(v -> { + FirebaseAuth.getInstance().signOut(); + Intent intent = new Intent(DefinicoesActivity.this, LoginActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + startActivity(intent); + finish(); + }); + + btnSaveSettings.setOnClickListener(v -> { + // Em implementações futuras isto iria guardar a foto, username (Firebase UserProfileChangeRequest) + // Notificações e moeda escolhida no Firebase Realtime Database + Toast.makeText(this, "Definições guardadas com sucesso!", Toast.LENGTH_SHORT).show(); + finish(); + }); + } +} diff --git a/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java b/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java index 175fe91..fe8d1c7 100644 --- a/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java +++ b/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java @@ -1,6 +1,7 @@ package com.example.lifegrid; import android.os.Bundle; +import android.content.Intent; import android.widget.ImageView; import android.widget.TextView; @@ -129,10 +130,8 @@ public class TelaInicialActivity extends AppCompatActivity { }); ImageView definicoesImageView = findViewById(R.id.definicoesImageView); definicoesImageView.setOnClickListener(v -> { - Fragment definicoesFragment = new DefinicoesFragment(); - getSupportFragmentManager().beginTransaction() - .replace(R.id.fragmentContainerView, definicoesFragment) - .commit(); + Intent intent = new Intent(TelaInicialActivity.this, DefinicoesActivity.class); + startActivity(intent); }); } diff --git a/app/src/main/res/layout/activity_definicoes.xml b/app/src/main/res/layout/activity_definicoes.xml new file mode 100644 index 0000000..40c9bcb --- /dev/null +++ b/app/src/main/res/layout/activity_definicoes.xml @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +