Primeiro commit
This commit is contained in:
27
app/src/main/java/com/fluxup/app/ConnectivityUtils.java
Normal file
27
app/src/main/java/com/fluxup/app/ConnectivityUtils.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package com.fluxup.app;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
|
||||
public class ConnectivityUtils {
|
||||
|
||||
/**
|
||||
* Verifica se existe uma ligação ativa à internet (Wi-Fi ou Dados Móveis).
|
||||
*/
|
||||
public static boolean isNetworkAvailable(Context context) {
|
||||
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
if (connectivityManager != null) {
|
||||
Network activeNetwork = connectivityManager.getActiveNetwork();
|
||||
if (activeNetwork != null) {
|
||||
NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork);
|
||||
return networkCapabilities != null && (
|
||||
networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) ||
|
||||
networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) ||
|
||||
networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
169
app/src/main/java/com/fluxup/app/SettingsActivity.java
Normal file
169
app/src/main/java/com/fluxup/app/SettingsActivity.java
Normal file
@@ -0,0 +1,169 @@
|
||||
package com.fluxup.app;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import com.google.android.material.switchmaterial.SwitchMaterial;
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.auth.FirebaseUser;
|
||||
import java.util.Locale;
|
||||
|
||||
public class SettingsActivity extends AppCompatActivity {
|
||||
|
||||
private ImageButton btnBack;
|
||||
private SwitchMaterial switchDarkMode, switchPrivacy, switchNotifications;
|
||||
private TextView tvEmail, btnChangePassword;
|
||||
private Spinner spinnerLanguage;
|
||||
private View btnLogout;
|
||||
private SharedPreferences sharedPreferences;
|
||||
private static final String PREFS_NAME = "FluxupSettings";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
sharedPreferences = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
|
||||
|
||||
// Aplicar o idioma guardado antes de carregar o layout
|
||||
String lang = sharedPreferences.getString("language", "pt");
|
||||
updateLocaleSilent(lang);
|
||||
|
||||
// Aplicar tema guardado
|
||||
applyTheme(sharedPreferences.getBoolean("darkMode", false));
|
||||
|
||||
setContentView(R.layout.activity_settings);
|
||||
|
||||
initViews();
|
||||
setupListeners();
|
||||
loadSettings();
|
||||
}
|
||||
|
||||
private void applyTheme(boolean isDarkMode) {
|
||||
if (isDarkMode) {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
||||
} else {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||
}
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
btnBack = findViewById(R.id.btnBack);
|
||||
switchDarkMode = findViewById(R.id.switchDarkMode);
|
||||
switchPrivacy = findViewById(R.id.switchPrivacy);
|
||||
switchNotifications = findViewById(R.id.switchNotifications);
|
||||
tvEmail = findViewById(R.id.tvEmail);
|
||||
btnChangePassword = findViewById(R.id.btnChangePassword);
|
||||
spinnerLanguage = findViewById(R.id.spinnerLanguage);
|
||||
btnLogout = findViewById(R.id.btnLogout);
|
||||
|
||||
// Configurar Spinner de Idiomas
|
||||
String[] languages = {"Português", "English", "Español"};
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, languages);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinnerLanguage.setAdapter(adapter);
|
||||
|
||||
// Mostrar email do utilizador
|
||||
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
|
||||
if (user != null) {
|
||||
tvEmail.setText(user.getEmail());
|
||||
}
|
||||
}
|
||||
|
||||
private void setupListeners() {
|
||||
btnBack.setOnClickListener(v -> finish());
|
||||
|
||||
switchDarkMode.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
applyTheme(isChecked);
|
||||
saveSetting("darkMode", isChecked);
|
||||
});
|
||||
|
||||
switchPrivacy.setOnCheckedChangeListener((buttonView, isChecked) -> saveSetting("privacy", isChecked));
|
||||
switchNotifications.setOnCheckedChangeListener((buttonView, isChecked) -> saveSetting("notifications", isChecked));
|
||||
|
||||
btnLogout.setOnClickListener(v -> {
|
||||
FirebaseAuth.getInstance().signOut();
|
||||
Intent intent = new Intent(SettingsActivity.this, LoginActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
});
|
||||
|
||||
spinnerLanguage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||
String selectedLang = "pt";
|
||||
if (position == 1) selectedLang = "en";
|
||||
else if (position == 2) selectedLang = "es";
|
||||
|
||||
String currentLang = sharedPreferences.getString("language", "pt");
|
||||
if (!selectedLang.equals(currentLang)) {
|
||||
saveSetting("language", selectedLang);
|
||||
updateLocale(selectedLang);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> parent) {}
|
||||
});
|
||||
|
||||
btnChangePassword.setOnClickListener(v -> {
|
||||
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
|
||||
if (user != null && user.getEmail() != null) {
|
||||
FirebaseAuth.getInstance().sendPasswordResetEmail(user.getEmail())
|
||||
.addOnCompleteListener(task -> {
|
||||
if (task.isSuccessful()) {
|
||||
Toast.makeText(this, "Email de redefinição enviado!", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void loadSettings() {
|
||||
switchDarkMode.setChecked(sharedPreferences.getBoolean("darkMode", false));
|
||||
switchPrivacy.setChecked(sharedPreferences.getBoolean("privacy", false));
|
||||
switchNotifications.setChecked(sharedPreferences.getBoolean("notifications", true));
|
||||
|
||||
String lang = sharedPreferences.getString("language", "pt");
|
||||
if (lang.equals("en")) spinnerLanguage.setSelection(1, false);
|
||||
else if (lang.equals("es")) spinnerLanguage.setSelection(2, false);
|
||||
else spinnerLanguage.setSelection(0, false);
|
||||
}
|
||||
|
||||
private void updateLocaleSilent(String langCode) {
|
||||
Locale locale = new Locale(langCode);
|
||||
Locale.setDefault(locale);
|
||||
Resources resources = getResources();
|
||||
Configuration config = resources.getConfiguration();
|
||||
config.setLocale(locale);
|
||||
resources.updateConfiguration(config, resources.getDisplayMetrics());
|
||||
}
|
||||
|
||||
private void updateLocale(String langCode) {
|
||||
updateLocaleSilent(langCode);
|
||||
Intent intent = new Intent(this, SettingsActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
private void saveSetting(String key, boolean value) {
|
||||
sharedPreferences.edit().putBoolean(key, value).apply();
|
||||
}
|
||||
|
||||
private void saveSetting(String key, String value) {
|
||||
sharedPreferences.edit().putString(key, value).apply();
|
||||
}
|
||||
}
|
||||
9
app/src/main/res/drawable/ic_back.xml
Normal file
9
app/src/main/res/drawable/ic_back.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_settings.xml
Normal file
9
app/src/main/res/drawable/ic_settings.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.13,5.91 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87c-0.12,0.21 -0.08,0.47 0.12,0.61l2.03,1.58C4.84,11.36 4.81,11.67 4.81,12c0,0.33 0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5s3.5,1.57 3.5,3.5S13.93,15.5 12,15.5z"/>
|
||||
</vector>
|
||||
303
app/src/main/res/layout/activity_settings.xml
Normal file
303
app/src/main/res/layout/activity_settings.xml
Normal file
@@ -0,0 +1,303 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/background_light">
|
||||
|
||||
<!-- Header -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="@color/white"
|
||||
android:elevation="4dp">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/btnBack"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/ic_back"
|
||||
app:tint="@color/icon_light" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:text="@string/settings"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<!-- Preferences Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/preferences"
|
||||
android:textColor="@color/text_muted_light"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp"
|
||||
android:backgroundTint="@color/white"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/dark_mode"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switchDarkMode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Account Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account"
|
||||
android:textColor="@color/text_muted_light"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp"
|
||||
android:backgroundTint="@color/white"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvEmail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="email@exemplo.com"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/border_light"
|
||||
android:layout_marginVertical="12dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btnChangePassword"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/change_password"
|
||||
android:textColor="@color/primary_light"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:clickable="true"
|
||||
android:focusable="true" />
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Privacy Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/privacy"
|
||||
android:textColor="@color/text_muted_light"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp"
|
||||
android:backgroundTint="@color/white"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/private_account"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switchPrivacy"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Notifications Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/notifications"
|
||||
android:textColor="@color/text_muted_light"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp"
|
||||
android:backgroundTint="@color/white"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/notifications"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switchNotifications"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- App Section -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_section"
|
||||
android:textColor="@color/text_muted_light"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp" />
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp"
|
||||
android:backgroundTint="@color/white"
|
||||
android:layout_marginBottom="40dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/language"
|
||||
android:textColor="@color/text_light"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spinnerLanguage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textAlignment="viewEnd" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Logout Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btnLogout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:text="@string/logout"
|
||||
android:textColor="@color/error_light"
|
||||
android:textStyle="bold"
|
||||
app:backgroundTint="#FEE2E2"
|
||||
app:cornerRadius="16dp"
|
||||
app:elevation="0dp"
|
||||
app:icon="@drawable/ic_back"
|
||||
app:iconGravity="textStart"
|
||||
app:iconTint="@color/error_light"
|
||||
android:layout_marginBottom="20dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
21
app/src/main/res/values-en/strings.xml
Normal file
21
app/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<resources>
|
||||
<string name="app_name">Fluxup</string>
|
||||
<string name="greeting">Today is a good day</string>
|
||||
<string name="subtitle">Hello! Ready for your productivity day?</string>
|
||||
|
||||
<!-- Settings Strings -->
|
||||
<string name="settings">Settings</string>
|
||||
<string name="preferences">Preferences</string>
|
||||
<string name="dark_mode">Dark Mode</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="username">Username</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="change_password">Change Password</string>
|
||||
<string name="privacy">Privacy</string>
|
||||
<string name="private_account">Private Account</string>
|
||||
<string name="notifications">Notifications</string>
|
||||
<string name="app_section">App</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="logout">Log out</string>
|
||||
<string name="back">Back</string>
|
||||
</resources>
|
||||
21
app/src/main/res/values-es/strings.xml
Normal file
21
app/src/main/res/values-es/strings.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<resources>
|
||||
<string name="app_name">Fluxup</string>
|
||||
<string name="greeting">Hoy es un buen día</string>
|
||||
<string name="subtitle">¡Hola! ¿Preparado para tu día de productividad?</string>
|
||||
|
||||
<!-- Settings Strings -->
|
||||
<string name="settings">Configuraciones</string>
|
||||
<string name="preferences">Preferencias</string>
|
||||
<string name="dark_mode">Modo Oscuro</string>
|
||||
<string name="account">Cuenta</string>
|
||||
<string name="username">Usuario</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="change_password">Cambiar contraseña</string>
|
||||
<string name="privacy">Privacidad</string>
|
||||
<string name="private_account">Cuenta Privada</string>
|
||||
<string name="notifications">Notificaciones</string>
|
||||
<string name="app_section">App</string>
|
||||
<string name="language">Idioma</string>
|
||||
<string name="logout">Cerrar sesión</string>
|
||||
<string name="back">Volver</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user