diff --git a/Foodify/app/build.gradle b/Foodify/app/build.gradle
index 039cd80..229fb93 100644
--- a/Foodify/app/build.gradle
+++ b/Foodify/app/build.gradle
@@ -10,7 +10,7 @@ android {
minSdk 23
targetSdk 30
versionCode 1
- versionName "79.0"
+ versionName "80.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/Foodify/app/src/main/AndroidManifest.xml b/Foodify/app/src/main/AndroidManifest.xml
index 93f0c18..17f3c09 100644
--- a/Foodify/app/src/main/AndroidManifest.xml
+++ b/Foodify/app/src/main/AndroidManifest.xml
@@ -60,13 +60,17 @@
android:exported="false" />
+ android:exported="false"
+ android:theme="@style/Theme.Foodify.NoActionBar"
+ />
+ android:exported="false"
+ android:theme="@style/Theme.Foodify.NoActionBar"/>
+ android:exported="false"
+ android:theme="@style/Theme.Foodify.NoActionBar"/>
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java b/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java
index d63d137..479db26 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java
@@ -12,6 +12,7 @@ import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
+import com.waterbase.foodify.Common.Common;
import com.waterbase.foodify.Model.User;
import java.util.regex.Matcher;
@@ -58,7 +59,7 @@ public class ChangePassword extends AppCompatActivity {
//Check same password
if (edtPassword.getText().toString().equals(edtPasswordVerify.getText().toString())) {
- table_user.child(phone).child("password").setValue(edtPasswordVerify.getText().toString());
+ table_user.child(phone).child("password").setValue(Common.encryptPassword(edtPasswordVerify.getText().toString()));
Toast.makeText(ChangePassword.this, "Đổi mật khẩu thành công. Vui lòng đăng nhập lại để tiếp tục!", Toast.LENGTH_SHORT).show();
startActivity(new Intent(ChangePassword.this, SignIn.class));
finish();
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java b/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java
index e94ee12..bbfe73e 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java
@@ -11,6 +11,9 @@ import com.waterbase.foodify.Remote.APIService;
import com.waterbase.foodify.Remote.IGoogleService;
import com.waterbase.foodify.Remote.RetrofitClient;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import java.util.Calendar;
import java.util.Locale;
@@ -82,4 +85,36 @@ public class Common {
DateFormat.format("dd-MM-yyyy HH:mm", calendar).toString());
return date.toString();
}
+
+ public static String encryptPassword(String input)
+ {
+ try {
+ // getInstance() method is called with algorithm SHA-1
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+
+ // digest() method is called
+ // to calculate message digest of the input string
+ // returned as array of byte
+ byte[] messageDigest = md.digest(input.getBytes());
+
+ // Convert byte array into signum representation
+ BigInteger no = new BigInteger(1, messageDigest);
+
+ // Convert message digest into hex value
+ String hashtext = no.toString(16);
+
+ // Add preceding 0s to make it 32 bit
+ while (hashtext.length() < 32) {
+ hashtext = "0" + hashtext;
+ }
+
+ // return the HashText
+ return hashtext;
+ }
+
+ // For specifying wrong message digest algorithms
+ catch (NoSuchAlgorithmException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
index d8fa9a8..22f0295 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
@@ -73,6 +73,8 @@ import io.paperdb.Paper;
public class Home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
+ private long backPressedTime;
+
String versionNameApp = BuildConfig.VERSION_NAME;
FirebaseDatabase database;
@@ -471,7 +473,7 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
//Write value
Paper.book().write("sub_new", "true");
if(!NotificationManagerCompat.from(Home.this).areNotificationsEnabled()){
- showNotificationAlertDialog("Oops, máy bạn chưa được bật thông báo! Bạn có muốn bật để nhận thông báo từ hệ thống báo không?");
+ showNotificationAlertDialog("Oops, máy bạn chưa được cấp quyền thông báo! Bạn có muốn bật để nhận thông báo từ hệ thống không?");
}
} else {
FirebaseMessaging.getInstance().unsubscribeFromTopic(Common.topicName);
@@ -622,4 +624,17 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
return super.onOptionsItemSelected(item);
}
+
+ @Override
+ public void onBackPressed() {
+ if(backPressedTime + 2000 > System.currentTimeMillis()) {
+ super.onBackPressed();
+ return;
+ } else {
+ Toast.makeText(this, "Nhấn BACK 1 lần nữa để thoát!", Toast.LENGTH_SHORT).show();
+ }
+
+ backPressedTime = System.currentTimeMillis();
+
+ }
}
\ No newline at end of file
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java
index ef759ac..1e2c678 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java
@@ -58,7 +58,7 @@ public class SignIn extends AppCompatActivity {
//Save user& password
if(ckbRemember.isChecked()) {
Paper.book().write(Common.USER_KEY, edtPhone.getText().toString());
- Paper.book().write(Common.PWD_KEY, edtPassword.getText().toString());
+ Paper.book().write(Common.PWD_KEY, Common.encryptPassword(edtPassword.getText().toString()));
}
final ProgressDialog mDialog = new ProgressDialog(SignIn.this);
mDialog.setMessage("Xin vui lòng chờ...");
@@ -77,7 +77,7 @@ public class SignIn extends AppCompatActivity {
mDialog.dismiss();
User user = dataSnapshot.child(edtPhone.getText().toString()).getValue(User.class);
user.setPhone(edtPhone.getText().toString());
- if (user.getPassword().equals(edtPassword.getText().toString())) {
+ if (user.getPassword().equals(Common.encryptPassword(edtPassword.getText().toString()))) {
Intent homeIntent = new Intent(SignIn.this, Home.class);
Common.currentUser = user;
startActivity(homeIntent);
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java
index c88d3cd..5fefa61 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java
@@ -125,7 +125,7 @@ public class SignUp extends AppCompatActivity {
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
progressBar.setVisibility(View.GONE);
btnSignUp.setVisibility(View.VISIBLE);
- User user = new User(edtName.getText().toString(), edtPassword.getText().toString());
+ User user = new User(edtName.getText().toString(), Common.encryptPassword(edtPassword.getText().toString()));
Intent intent = new Intent(SignUp.this, VerifyPhone.class);
intent.putExtra("user", user);
intent.putExtra("phone", edtPhone.getText().toString());
diff --git a/Foodify/app/src/main/res/layout/activity_sign_in.xml b/Foodify/app/src/main/res/layout/activity_sign_in.xml
index ac0728b..46db117 100644
--- a/Foodify/app/src/main/res/layout/activity_sign_in.xml
+++ b/Foodify/app/src/main/res/layout/activity_sign_in.xml
@@ -133,6 +133,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Chưa có tài khoản Foodify?"
+ android:layout_marginRight="4dp"
android:fontFamily="@font/regular"
android:textAlignment="center"
android:textColor="#FBFBFB"
diff --git a/Foodify/app/src/main/res/layout/activity_sign_up.xml b/Foodify/app/src/main/res/layout/activity_sign_up.xml
index fb6ae57..dae3e5c 100644
--- a/Foodify/app/src/main/res/layout/activity_sign_up.xml
+++ b/Foodify/app/src/main/res/layout/activity_sign_up.xml
@@ -155,27 +155,29 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Đã tạo tài khoản?"
+ android:layout_marginRight="4dp"
android:fontFamily="@font/regular"
android:textAlignment="center"
+ android:gravity="center"
android:textColor="#FBFBFB"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias=".3"
+ app:layout_constraintEnd_toStartOf="@+id/txtSignIn"
+ app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/frameLayout" />
\ No newline at end of file
diff --git a/Foodify/app/src/main/res/values-night/themes.xml b/Foodify/app/src/main/res/values-night/themes.xml
index 7e2caa2..759fc80 100644
--- a/Foodify/app/src/main/res/values-night/themes.xml
+++ b/Foodify/app/src/main/res/values-night/themes.xml
@@ -1,16 +1,58 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Foodify/app/src/main/res/values/themes.xml b/Foodify/app/src/main/res/values/themes.xml
index 087230a..759fc80 100644
--- a/Foodify/app/src/main/res/values/themes.xml
+++ b/Foodify/app/src/main/res/values/themes.xml
@@ -1,6 +1,6 @@
-