From 4c45f21f25265917b6c4593e6e36c273d99986b6 Mon Sep 17 00:00:00 2001 From: phanhuuloi27 <73208452+phanhuuloi27@users.noreply.github.com> Date: Sat, 4 Jun 2022 21:34:40 +0700 Subject: [PATCH] Upload Foodify-Server --- FoodifyServer/.gitignore | 15 ++ FoodifyServer/app/.gitignore | 1 + FoodifyServer/app/build.gradle | 52 +++++ FoodifyServer/app/proguard-rules.pro | 21 ++ .../ExampleInstrumentedTest.java | 26 +++ .../app/src/main/AndroidManifest.xml | 35 ++++ .../app/src/main/assets/fonts/NABILA.TTF | Bin 0 -> 144472 bytes .../foodifyServer/Common/Common.java | 7 + .../com/waterbase/foodifyServer/Home.java | 72 +++++++ .../waterbase/foodifyServer/MainActivity.java | 38 ++++ .../waterbase/foodifyServer/Model/User.java | 45 +++++ .../com/waterbase/foodifyServer/SignIn.java | 99 ++++++++++ .../drawable-v24/ic_launcher_foreground.xml | 30 +++ .../app/src/main/res/drawable/background.jpg | Bin 0 -> 38306 bytes .../src/main/res/drawable/btn_bg_design.xml | 5 + .../main/res/drawable/foreground_design.xml | 10 + .../drawable/ic_baseline_access_time_24.xml | 6 + .../drawable/ic_baseline_exit_to_app_24.xml | 5 + .../drawable/ic_baseline_local_phone_24.xml | 5 + .../drawable/ic_baseline_playlist_add_24.xml | 5 + .../drawable/ic_baseline_restaurant_24.xml | 5 + .../drawable/ic_baseline_shopping_cart_24.xml | 5 + .../res/drawable/ic_baseline_vpn_key_24.xml | 5 + .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++++ .../src/main/res/drawable/ic_menu_camera.xml | 12 ++ .../src/main/res/drawable/ic_menu_gallery.xml | 9 + .../main/res/drawable/ic_menu_slideshow.xml | 9 + .../src/main/res/drawable/side_nav_bar.xml | 9 + .../app/src/main/res/layout/activity_home.xml | 31 +++ .../app/src/main/res/layout/activity_main.xml | 67 +++++++ .../src/main/res/layout/activity_sign_in.xml | 97 +++++++++ .../app/src/main/res/layout/app_bar_home.xml | 33 ++++ .../app/src/main/res/layout/content_home.xml | 15 ++ .../src/main/res/layout/nav_header_home.xml | 36 ++++ .../main/res/menu/activity_main_drawer.xml | 24 +++ FoodifyServer/app/src/main/res/menu/home.xml | 9 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/values-land/dimens.xml | 3 + .../app/src/main/res/values-night/themes.xml | 16 ++ .../src/main/res/values-w1240dp/dimens.xml | 3 + .../app/src/main/res/values-w600dp/dimens.xml | 3 + .../app/src/main/res/values/colors.xml | 13 ++ .../app/src/main/res/values/dimens.xml | 8 + .../app/src/main/res/values/strings.xml | 15 ++ .../app/src/main/res/values/themes.xml | 25 +++ .../app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../foodifyServer/ExampleUnitTest.java | 17 ++ FoodifyServer/build.gradle | 27 +++ FoodifyServer/gradle.properties | 22 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + FoodifyServer/gradlew | 185 ++++++++++++++++++ FoodifyServer/gradlew.bat | 89 +++++++++ FoodifyServer/settings.gradle | 10 + 66 files changed, 1497 insertions(+) create mode 100644 FoodifyServer/.gitignore create mode 100644 FoodifyServer/app/.gitignore create mode 100644 FoodifyServer/app/build.gradle create mode 100644 FoodifyServer/app/proguard-rules.pro create mode 100644 FoodifyServer/app/src/androidTest/java/com/waterbase/foodifyServer/ExampleInstrumentedTest.java create mode 100644 FoodifyServer/app/src/main/AndroidManifest.xml create mode 100644 FoodifyServer/app/src/main/assets/fonts/NABILA.TTF create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/MainActivity.java create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/User.java create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SignIn.java create mode 100644 FoodifyServer/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/background.jpg create mode 100644 FoodifyServer/app/src/main/res/drawable/btn_bg_design.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/foreground_design.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_access_time_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_local_phone_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_playlist_add_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_restaurant_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_shopping_cart_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_vpn_key_24.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_menu_camera.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_menu_gallery.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_menu_slideshow.xml create mode 100644 FoodifyServer/app/src/main/res/drawable/side_nav_bar.xml create mode 100644 FoodifyServer/app/src/main/res/layout/activity_home.xml create mode 100644 FoodifyServer/app/src/main/res/layout/activity_main.xml create mode 100644 FoodifyServer/app/src/main/res/layout/activity_sign_in.xml create mode 100644 FoodifyServer/app/src/main/res/layout/app_bar_home.xml create mode 100644 FoodifyServer/app/src/main/res/layout/content_home.xml create mode 100644 FoodifyServer/app/src/main/res/layout/nav_header_home.xml create mode 100644 FoodifyServer/app/src/main/res/menu/activity_main_drawer.xml create mode 100644 FoodifyServer/app/src/main/res/menu/home.xml create mode 100644 FoodifyServer/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 FoodifyServer/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 FoodifyServer/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 FoodifyServer/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 FoodifyServer/app/src/main/res/values-land/dimens.xml create mode 100644 FoodifyServer/app/src/main/res/values-night/themes.xml create mode 100644 FoodifyServer/app/src/main/res/values-w1240dp/dimens.xml create mode 100644 FoodifyServer/app/src/main/res/values-w600dp/dimens.xml create mode 100644 FoodifyServer/app/src/main/res/values/colors.xml create mode 100644 FoodifyServer/app/src/main/res/values/dimens.xml create mode 100644 FoodifyServer/app/src/main/res/values/strings.xml create mode 100644 FoodifyServer/app/src/main/res/values/themes.xml create mode 100644 FoodifyServer/app/src/main/res/xml/backup_rules.xml create mode 100644 FoodifyServer/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 FoodifyServer/app/src/test/java/com/waterbase/foodifyServer/ExampleUnitTest.java create mode 100644 FoodifyServer/build.gradle create mode 100644 FoodifyServer/gradle.properties create mode 100644 FoodifyServer/gradle/wrapper/gradle-wrapper.jar create mode 100644 FoodifyServer/gradle/wrapper/gradle-wrapper.properties create mode 100644 FoodifyServer/gradlew create mode 100644 FoodifyServer/gradlew.bat create mode 100644 FoodifyServer/settings.gradle diff --git a/FoodifyServer/.gitignore b/FoodifyServer/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/FoodifyServer/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/FoodifyServer/app/.gitignore b/FoodifyServer/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/FoodifyServer/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/FoodifyServer/app/build.gradle b/FoodifyServer/app/build.gradle new file mode 100644 index 0000000..79ea59b --- /dev/null +++ b/FoodifyServer/app/build.gradle @@ -0,0 +1,52 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdk 32 + + defaultConfig { + applicationId "com.waterbase.foodifyServer" + minSdk 23 + targetSdk 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + buildFeatures { + viewBinding true + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'com.google.android.material:material:1.6.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1' + implementation 'androidx.navigation:navigation-fragment:2.4.2' + implementation 'androidx.navigation:navigation-ui:2.4.2' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + + + //Add library + implementation 'com.google.firebase:firebase-core:10.2.0' + implementation 'com.google.firebase:firebase-database:10.2.0' +} + +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/FoodifyServer/app/proguard-rules.pro b/FoodifyServer/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/FoodifyServer/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/FoodifyServer/app/src/androidTest/java/com/waterbase/foodifyServer/ExampleInstrumentedTest.java b/FoodifyServer/app/src/androidTest/java/com/waterbase/foodifyServer/ExampleInstrumentedTest.java new file mode 100644 index 0000000..1804c68 --- /dev/null +++ b/FoodifyServer/app/src/androidTest/java/com/waterbase/foodifyServer/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.waterbase.foodifyServer; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.waterbase.foodifyServer", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/FoodifyServer/app/src/main/AndroidManifest.xml b/FoodifyServer/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9c5baa9 --- /dev/null +++ b/FoodifyServer/app/src/main/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/assets/fonts/NABILA.TTF b/FoodifyServer/app/src/main/assets/fonts/NABILA.TTF new file mode 100644 index 0000000000000000000000000000000000000000..4f74aff6e0d6d1c689823d8df6901f70bff80350 GIT binary patch literal 144472 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 F(kVDA`QQKm literal 0 HcmV?d00001 diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java new file mode 100644 index 0000000..04c0921 --- /dev/null +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java @@ -0,0 +1,7 @@ +package com.waterbase.foodifyServer.Common; + +import com.waterbase.foodifyServer.Model.User; + +public class Common { + public static User currentUser; +} diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java new file mode 100644 index 0000000..a39dcae --- /dev/null +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java @@ -0,0 +1,72 @@ +package com.waterbase.foodifyServer; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; +import android.view.Menu; +import android.widget.TextView; + +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.navigation.NavigationView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.widget.Toolbar; +import androidx.core.view.GravityCompat; +import androidx.navigation.NavController; +import androidx.navigation.Navigation; +import androidx.navigation.ui.AppBarConfiguration; +import androidx.navigation.ui.NavigationUI; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.appcompat.app.AppCompatActivity; + +import com.waterbase.foodifyServer.Common.Common; +import com.waterbase.foodifyServer.databinding.ActivityHomeBinding; + +public class Home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{ + + TextView txtFullName; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_home); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + toolbar.setTitle("Menu Management"); + setSupportActionBar(toolbar); + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.app_name, R.string.app_name); + drawer.setDrawerListener(toggle); + toggle.syncState(); + NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + navigationView.setNavigationItemSelectedListener(this); + + //Set Name for user + View headerView = navigationView.getHeaderView(0); + txtFullName = (TextView) headerView.findViewById(R.id.txtFullName); + txtFullName.setText(Common.currentUser.getName()); + + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.home, menu); + return true; + } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + int id = item.getItemId(); + + + DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + drawerLayout.closeDrawer(GravityCompat.START); + + return true; + } +} \ No newline at end of file diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/MainActivity.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/MainActivity.java new file mode 100644 index 0000000..5af6fd9 --- /dev/null +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/MainActivity.java @@ -0,0 +1,38 @@ +package com.waterbase.foodifyServer; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +public class MainActivity extends AppCompatActivity { + + Button btnSignIn; + TextView txtSlogan, txtAppName; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + btnSignIn = (Button) findViewById(R.id.btnSignIn); + txtSlogan = (TextView) findViewById(R.id.txtSlogan); + txtAppName = (TextView) findViewById(R.id.txtAppName); + + Typeface face = Typeface.createFromAsset(getAssets(), "fonts/NABILA.TTF"); + txtSlogan.setTypeface(face); + txtAppName.setTypeface(face); + + btnSignIn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent signIn = new Intent(MainActivity.this, SignIn.class); + startActivity(signIn); + } + }); + } +} \ No newline at end of file diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/User.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/User.java new file mode 100644 index 0000000..5c89da0 --- /dev/null +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/User.java @@ -0,0 +1,45 @@ +package com.waterbase.foodifyServer.Model; + +public class User { + private String Name, Password, Phone, IsStaff; + + public User(String name, String password) { + Name = name; + Password = password; + } + + public User() { + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getPassword() { + return Password; + } + + public void setPassword(String password) { + Password = password; + } + + public String getPhone() { + return Phone; + } + + public void setPhone(String phone) { + Phone = phone; + } + + public String getIsStaff() { + return IsStaff; + } + + public void setIsStaff(String isStaff) { + IsStaff = isStaff; + } +} diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SignIn.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SignIn.java new file mode 100644 index 0000000..4d05c60 --- /dev/null +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SignIn.java @@ -0,0 +1,99 @@ +package com.waterbase.foodifyServer; + +import androidx.appcompat.app.AppCompatActivity; + +import android.app.ProgressDialog; +import android.content.Intent; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + +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.waterbase.foodifyServer.Common.Common; +import com.waterbase.foodifyServer.Model.User; + +public class SignIn extends AppCompatActivity { + + EditText edtPhone, edtPassword; + Button btnSignIn; + + TextView txtAppName; + + FirebaseDatabase db; + DatabaseReference users; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_sign_in); + + edtPassword = (EditText) findViewById(R.id.edtPassword); + edtPhone = (EditText) findViewById(R.id.edtPhone); + btnSignIn = (Button) findViewById(R.id.btnSignIn); + txtAppName = (TextView) findViewById(R.id.txtAppName); + + Typeface face = Typeface.createFromAsset(getAssets(), "fonts/NABILA.TTF"); + txtAppName.setTypeface(face); + + //Init Firebase + db = FirebaseDatabase.getInstance(); + users = db.getReference("User"); + + btnSignIn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + signInUser(edtPhone.getText().toString(), edtPassword.getText().toString()); + } + }); + + } + + private void signInUser(String phone, String password) { + final ProgressDialog mDialog = new ProgressDialog(SignIn.this); + mDialog.setMessage("Vui lòng chờ..."); + mDialog.show(); + + final String localPhone = phone; + final String localPassword = password; + users.addValueEventListener(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + if (dataSnapshot.child(localPhone).exists()) { + mDialog.dismiss(); + User user = dataSnapshot.child(localPhone).getValue(User.class); + user.setPhone(localPhone); + if (Boolean.parseBoolean(user.getIsStaff())) //If isStaff = true + { + if (user.getPassword().equals(localPassword)) { + //Login ok + Intent login = new Intent(SignIn.this, Home.class); + Common.currentUser = user; + startActivity(login); + finish(); + } else + Toast.makeText(SignIn.this, "Wrong password!", Toast.LENGTH_SHORT).show(); + } + else + Toast.makeText(SignIn.this, "Please login with Staff account!", Toast.LENGTH_SHORT).show(); + } + else { + mDialog.dismiss(); + Toast.makeText(SignIn.this, "User not exist in Database", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + }); + } +} \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/FoodifyServer/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/drawable/background.jpg b/FoodifyServer/app/src/main/res/drawable/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4657f612959e89e5385140b4b327c256a65b2a8f GIT binary patch literal 38306 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 + + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/drawable/foreground_design.xml b/FoodifyServer/app/src/main/res/drawable/foreground_design.xml new file mode 100644 index 0000000..bc60c66 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/foreground_design.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_access_time_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_access_time_24.xml new file mode 100644 index 0000000..bdf91f9 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_access_time_24.xml @@ -0,0 +1,6 @@ + + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml new file mode 100644 index 0000000..0d905fd --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_local_phone_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_local_phone_24.xml new file mode 100644 index 0000000..67d862a --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_local_phone_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_playlist_add_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_playlist_add_24.xml new file mode 100644 index 0000000..6dc6a69 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_playlist_add_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_restaurant_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_restaurant_24.xml new file mode 100644 index 0000000..9ead2b7 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_restaurant_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_shopping_cart_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_shopping_cart_24.xml new file mode 100644 index 0000000..ba0b471 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_shopping_cart_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_vpn_key_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_vpn_key_24.xml new file mode 100644 index 0000000..1bdb032 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_vpn_key_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_launcher_background.xml b/FoodifyServer/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_menu_camera.xml b/FoodifyServer/app/src/main/res/drawable/ic_menu_camera.xml new file mode 100644 index 0000000..634fe92 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_menu_camera.xml @@ -0,0 +1,12 @@ + + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_menu_gallery.xml b/FoodifyServer/app/src/main/res/drawable/ic_menu_gallery.xml new file mode 100644 index 0000000..03c7709 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_menu_gallery.xml @@ -0,0 +1,9 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/ic_menu_slideshow.xml b/FoodifyServer/app/src/main/res/drawable/ic_menu_slideshow.xml new file mode 100644 index 0000000..5e9e163 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/ic_menu_slideshow.xml @@ -0,0 +1,9 @@ + + + diff --git a/FoodifyServer/app/src/main/res/drawable/side_nav_bar.xml b/FoodifyServer/app/src/main/res/drawable/side_nav_bar.xml new file mode 100644 index 0000000..6d81870 --- /dev/null +++ b/FoodifyServer/app/src/main/res/drawable/side_nav_bar.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/layout/activity_home.xml b/FoodifyServer/app/src/main/res/layout/activity_home.xml new file mode 100644 index 0000000..25be055 --- /dev/null +++ b/FoodifyServer/app/src/main/res/layout/activity_home.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/layout/activity_main.xml b/FoodifyServer/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..6cf6488 --- /dev/null +++ b/FoodifyServer/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,67 @@ + + + + + + + + + +