From e64d908dabfc19090f6dd6a4b36570895852fb4a Mon Sep 17 00:00:00 2001 From: Dharmesh Raj Date: Wed, 21 Feb 2024 08:21:41 +0530 Subject: [PATCH 1/4] 6th commit Dharmesh splash xml --- .../app/src/main/res/drawable/photo3.png | Bin 0 -> 9723 bytes .../src/main/res/layout/activity_splash.xml | 73 ++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 Team Patrologix/app/src/main/res/drawable/photo3.png create mode 100644 Team Patrologix/app/src/main/res/layout/activity_splash.xml diff --git a/Team Patrologix/app/src/main/res/drawable/photo3.png b/Team Patrologix/app/src/main/res/drawable/photo3.png new file mode 100644 index 0000000000000000000000000000000000000000..01590ea6e3e3caf792e2a08e9575bc54116c67ad GIT binary patch literal 9723 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 K=@&zspZyP6 + + + + + + + + + + + + \ No newline at end of file From 3eed6ef9abc6abccaffcdc2f709cf9c0799b30b5 Mon Sep 17 00:00:00 2001 From: Yajy Date: Wed, 21 Feb 2024 08:30:59 +0530 Subject: [PATCH 2/4] registration and Users java file done --- .../main/java/com/example/sentinex/Users.java | 73 +++++++ .../com/example/sentinex/registration.java | 197 +++++++++++++++++- 2 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 Team Patrologix/app/src/main/java/com/example/sentinex/Users.java diff --git a/Team Patrologix/app/src/main/java/com/example/sentinex/Users.java b/Team Patrologix/app/src/main/java/com/example/sentinex/Users.java new file mode 100644 index 00000000..8ab53c33 --- /dev/null +++ b/Team Patrologix/app/src/main/java/com/example/sentinex/Users.java @@ -0,0 +1,73 @@ +package com.example.sentinex; + + +public class Users { + String profilepic,mail,userName,password,userId,lastMessage,status; + + public Users(){} + + public Users(String userId, String userName, String maill, String password, String profilepic, String status) { + this.userId = userId; + this.userName = userName; + this.mail = maill; + this.password = password; + this.profilepic = profilepic; + this.status = status; + } + + public String getProfilepic() { + return profilepic; + } + + public void setProfilepic(String profilepic) { + this.profilepic = profilepic; + } + + public String getMail() { + return mail; + } + + public void setMail(String mail) { + this.mail = mail; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getLastMessage() { + return lastMessage; + } + + public void setLastMessage(String lastMessage) { + this.lastMessage = lastMessage; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/Team Patrologix/app/src/main/java/com/example/sentinex/registration.java b/Team Patrologix/app/src/main/java/com/example/sentinex/registration.java index 84940d91..728be3c7 100644 --- a/Team Patrologix/app/src/main/java/com/example/sentinex/registration.java +++ b/Team Patrologix/app/src/main/java/com/example/sentinex/registration.java @@ -1,5 +1,200 @@ package com.example.sentinex; -public class registration { +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import android.app.ProgressDialog; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + +import com.example.sentinex.R; +import com.example.sentinex.login; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.OnSuccessListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.AuthResult; +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.auth.UserProfileChangeRequest; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; +import com.google.firebase.storage.FirebaseStorage; +import com.google.firebase.storage.StorageReference; +import com.google.firebase.storage.UploadTask; + +import de.hdodenhof.circleimageview.CircleImageView; + +public class registration extends AppCompatActivity { + + TextView loginBut; + EditText rgUsername, rgEmail, rgPassword, rgRepassword; + Button rgSignup; + CircleImageView rgProfileImg; + FirebaseAuth auth; + Uri imageURI; + String imageUri; + String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"; + FirebaseDatabase database; + FirebaseStorage storage; + ProgressDialog progressDialog; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_registration); + getSupportActionBar().hide(); + progressDialog = new ProgressDialog(this); + progressDialog.setMessage("Establishing The Account"); + progressDialog.setCancelable(false); + database = FirebaseDatabase.getInstance(); + storage = FirebaseStorage.getInstance(); + auth = FirebaseAuth.getInstance(); + loginBut = findViewById(R.id.loginbut); + rgUsername = findViewById(R.id.rgusername); + rgEmail = findViewById(R.id.rgemail); + rgPassword = findViewById(R.id.rgpassword); + rgRepassword = findViewById(R.id.rgrepassword); + rgProfileImg = findViewById(R.id.profilerg0); + rgSignup = findViewById(R.id.signupbutton); + + loginBut.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(registration.this, login.class ); + startActivity(intent); + finish(); + } + }); + + rgSignup.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + String name = rgUsername.getText().toString(); + String email = rgEmail.getText().toString(); + String password = rgPassword.getText().toString(); + String confirmPassword = rgRepassword.getText().toString(); + String status = "Hey I'm Using This Application"; + + if (TextUtils.isEmpty(name) || TextUtils.isEmpty(email) || + TextUtils.isEmpty(password) || TextUtils.isEmpty(confirmPassword)) { + progressDialog.dismiss(); + Toast.makeText(registration.this, "Please Enter Valid Information", Toast.LENGTH_SHORT).show(); + } else if (!email.matches(emailPattern)) { + progressDialog.dismiss(); + rgEmail.setError("Type A Valid Email Here"); + } else if (password.length() < 6) { + progressDialog.dismiss(); + rgPassword.setError("Password Must Be 6 Characters Or More"); + } else if (!password.equals(confirmPassword)) { + progressDialog.dismiss(); + rgPassword.setError("The Password Doesn't Match"); + } else { + auth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + FirebaseUser user = auth.getCurrentUser(); + String id = user.getUid(); + DatabaseReference reference = database.getReference().child("user").child(id); + StorageReference storageReference = storage.getReference().child("Upload").child(id); + + if (imageURI != null) { + uploadProfileImage(user, reference, storageReference, name, email, password, status); + } else { + // No image selected, proceed with default image + String defaultImageUri = "https://firebasestorage.googleapis.com/v0/b/yatra-360.appspot.com/o/man.png?alt=media&token=131835fd-74a6-44ec-8299-1629b5166959"; + Users users = new Users(id, name, email, password, defaultImageUri, status); + reference.setValue(users).addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + progressDialog.show(); + Intent intent = new Intent(registration.this, MainActivity.class); + startActivity(intent); + finish(); + } else { + Toast.makeText(registration.this, "Error in creating the user", Toast.LENGTH_SHORT).show(); + } + } + }); + } + } else { + Toast.makeText(registration.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show(); + } + } + }); + } + } + Intent intent = new Intent(registration.this, MainActivity.class); + + }); + + rgProfileImg.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(); + intent.setType("image/*"); + intent.setAction(Intent.ACTION_GET_CONTENT); + startActivityForResult(Intent.createChooser(intent, "Select Picture"), 10); + } + }); + } + + private void uploadProfileImage(FirebaseUser user, DatabaseReference reference, StorageReference storageReference, + String name, String email, String password, String status) { + storageReference.putFile(imageURI).addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(Uri uri) { + imageUri = uri.toString(); + Users users = new Users(user.getUid(), name, email, password, imageUri, status); + reference.setValue(users).addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + progressDialog.show(); + Intent intent = new Intent(registration.this, MainActivity.class); + startActivity(intent); + finish(); + } else { + Toast.makeText(registration.this, "Error in creating the user", Toast.LENGTH_SHORT).show(); + Log.e("Registration", "Error setting user data", task.getException()); + } + } + }); + } + }); + } else { + Toast.makeText(registration.this, "Error uploading profile image", Toast.LENGTH_SHORT).show(); + Log.e("Registration", "Error uploading profile image", task.getException()); // Log the exception + } + } + }); + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 10) { + if (data != null) { + imageURI = data.getData(); + rgProfileImg.setImageURI(imageURI); + } + } + } } + From 0503062c539f6b365328054a53fd7d741ee328a4 Mon Sep 17 00:00:00 2001 From: Yajy Date: Wed, 21 Feb 2024 09:15:49 +0530 Subject: [PATCH 3/4] login try part2 --- .../main/java/com/example/sentinex/login.java | 85 +++++++++++++++++-- 1 file changed, 79 insertions(+), 6 deletions(-) diff --git a/Team Patrologix/app/src/main/java/com/example/sentinex/login.java b/Team Patrologix/app/src/main/java/com/example/sentinex/login.java index 2477ca70..f46e44b1 100644 --- a/Team Patrologix/app/src/main/java/com/example/sentinex/login.java +++ b/Team Patrologix/app/src/main/java/com/example/sentinex/login.java @@ -1,5 +1,8 @@ package com.example.sentinex; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; + import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; @@ -10,19 +13,90 @@ import android.widget.TextView; import android.widget.Toast; -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; - -import com.google.firebase.Firebase; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.AuthResult; +import com.google.firebase.auth.FirebaseAuth; public class login extends AppCompatActivity { + TextView logsignup; + Button button; + EditText email, password; + FirebaseAuth auth; + String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"; + android.app.ProgressDialog progressDialog; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + getSupportActionBar().hide(); + progressDialog = new ProgressDialog(this); + progressDialog.setMessage("Please Wait..."); + progressDialog.setCancelable(false); + auth = FirebaseAuth.getInstance(); + button = findViewById(R.id.logbutton); + email = findViewById(R.id.editTexLogEmail); + password = findViewById(R.id.editTextLogPassword); + logsignup = findViewById(R.id.logsignup); + + logsignup.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(login.this,registration.class); + startActivity(intent); + finish(); + } + }); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String Email = email.getText().toString(); + String pass = password.getText().toString(); + if ((TextUtils.isEmpty(Email))){ + progressDialog.dismiss(); + Toast.makeText(login.this, "Enter The Email", Toast.LENGTH_SHORT).show(); + }else if (TextUtils.isEmpty(pass)){ + progressDialog.dismiss(); + Toast.makeText(login.this, "Enter The Password", Toast.LENGTH_SHORT).show(); + }else if (!Email.matches(emailPattern)){ + progressDialog.dismiss(); + email.setError("Give Proper Email Address"); + }else if (password.length()<6){ + progressDialog.dismiss(); + password.setError("More Then Six Characters"); + Toast.makeText(login.this, "Password Needs To Be Longer Then Six Characters", Toast.LENGTH_SHORT).show(); + }else { + auth.signInWithEmailAndPassword(Email,pass).addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()){ + progressDialog.show(); + try { + Intent intent = new Intent(login.this , MainActivity.class); + intent.putExtra("key",Email);//rajeev yeh use karenge as key (email)...yeh pass ho raha hai next activity mei + startActivity(intent); + finish(); + }catch (Exception e){ + Toast.makeText(login.this, e.getMessage(), Toast.LENGTH_SHORT).show(); + } + }else { + Toast.makeText(login.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show(); + } + } + }); + } + + } + }); + } } // -//package com.example.sentenix; +//package com.example.sentenix_prototype2; // //public class Report { // private String description; @@ -45,4 +119,3 @@ public class login extends AppCompatActivity { // return location; // } //} - From aada64244caf792905e7e3807efbf7bde4a35445 Mon Sep 17 00:00:00 2001 From: rajee Date: Wed, 21 Feb 2024 09:18:31 +0530 Subject: [PATCH 4/4] updated main --- .../com/example/sentinex/MainActivity.java | 152 ++++++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 36 +++-- .../app/src/main/res/menu/bottom_menu.xml | 27 ++++ 3 files changed, 206 insertions(+), 9 deletions(-) create mode 100644 Team Patrologix/app/src/main/res/menu/bottom_menu.xml diff --git a/Team Patrologix/app/src/main/java/com/example/sentinex/MainActivity.java b/Team Patrologix/app/src/main/java/com/example/sentinex/MainActivity.java index 6ddd10a2..b4607e1b 100644 --- a/Team Patrologix/app/src/main/java/com/example/sentinex/MainActivity.java +++ b/Team Patrologix/app/src/main/java/com/example/sentinex/MainActivity.java @@ -1,14 +1,166 @@ package com.example.sentinex; +import static android.content.ContentValues.TAG; +import androidx.fragment.app.Fragment; + +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; +import android.annotation.SuppressLint; +import android.app.Dialog; +import android.content.Intent; +import android.graphics.drawable.GradientDrawable; import android.os.Bundle; +import android.provider.MediaStore; +import android.util.Log; +import android.view.MenuItem; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.PopupMenu; +import android.widget.Toast; + +import com.example.sentinex.Fragments.AddFragment; +import com.example.sentinex.Fragments.HomeFragment; +import com.example.sentinex.Fragments.NotificationsFragment; +import com.example.sentinex.Fragments.ProfileFragment; +import com.example.sentinex.Fragments.SearchFragment; +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GoogleApiAvailability; +import com.google.android.gms.common.GoogleApiAvailabilityLight; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.navigation.NavigationBarView; +import com.google.firebase.auth.FirebaseAuth; public class MainActivity extends AppCompatActivity { + private final int CAMERA_REQ_CODE = 100; + private static final String TAG = "MainActivity"; + // FirebaseAuth auth; + private static final int ERROR_DIALOG_REQUEST = 9001; + FirebaseAuth auth; + BottomNavigationView bottomNavigationView; + @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + bottomNavigationView = (BottomNavigationView) findViewById(R.id.bttom_nav); + FragmentManager fm = (FragmentManager) getSupportFragmentManager(); + FragmentTransaction fragmentTransaction = fm.beginTransaction(); + fragmentTransaction.replace(R.id.container, new HomeFragment()); + fragmentTransaction.commit(); + if (getSupportActionBar() != null) { + getSupportActionBar().hide(); + } + bottomNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + int id = item.getItemId(); + if (id == R.id.nav_home) { + loadFragment(new HomeFragment()); + } else if (id == R.id.nav_search) { + loadFragment(new SearchFragment()); + } +// else if (id == R.id.nav_add) { +// loadFragment(new AddFragment()); +// } + else if (id == R.id.nav_notifications) { + loadFragment(new NotificationsFragment()); + } else if (id == R.id.nav_profile) { + loadFragment(new ProfileFragment()); + } + return false; + } + }); + + } + + + private void loadFragment(Fragment fragment) { + FragmentManager fm = (FragmentManager) getSupportFragmentManager(); + FragmentTransaction fragmentTransaction = fm.beginTransaction(); + fragmentTransaction.replace(R.id.container, fragment); + fragmentTransaction.commit(); + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + } + + + +// Button signupbutton1 = findViewById(R.id.signupbutton1); +// +// signupbutton1.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// Intent icamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); +// startActivityForResult(icamera, CAMERA_REQ_CODE); +// } +// }); + // Create a GradientDrawable with the desired colors + //Button btnmap = findViewById(R.id.signupbutton4); // edit it laater map button + //done +// Button signupbutton4 = findViewById(R.id.signupbutton4); +// signupbutton4.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// Intent intent = new Intent(MainActivity.this, UploadActivity.class); +// startActivity(intent); +// } +// }); +// auth =FirebaseAuth.getInstance(); +// if(auth.getCurrentUser()==null) +// +// { +// Intent intent = new Intent(MainActivity.this, login.class); +// startActivity(intent); +// } +// } +// public void showDropdownMenu(View view) { +// PopupMenu popupMenu = new PopupMenu(this, view); +// popupMenu.getMenuInflater().inflate(R.menu.dropdown_menu, popupMenu.getMenu()); +// +// // Set a listener for menu item clicks +// popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { +// @Override +// public boolean onMenuItemClick(MenuItem menuItem) { +// // Handle menu item clicks here +// +// return true; +// } +// }); +// +// popupMenu.show(); +// } + + public boolean isServiceOK() { + Log.d(TAG, "isServiceOK: checking Google services"); + int available = GoogleApiAvailabilityLight.getInstance().isGooglePlayServicesAvailable(MainActivity.this); + if (available == ConnectionResult.SUCCESS) { + Log.d(TAG, "isServiceOK: WORKING"); + return true; + } else if (GoogleApiAvailability.getInstance().isUserResolvableError(available)) { + Log.d(TAG, "isServiceOK: error but fixed"); + Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(MainActivity.this, available, ERROR_DIALOG_REQUEST); + dialog.show(); + } else { + Toast.makeText(this, "You cannot do anything", Toast.LENGTH_SHORT).show(); + } + return false; } + + + + + + } \ No newline at end of file diff --git a/Team Patrologix/app/src/main/res/layout/activity_main.xml b/Team Patrologix/app/src/main/res/layout/activity_main.xml index 17eab17b..dc270288 100644 --- a/Team Patrologix/app/src/main/res/layout/activity_main.xml +++ b/Team Patrologix/app/src/main/res/layout/activity_main.xml @@ -1,18 +1,36 @@ - - + + + + + + android:layout_alignParentBottom="true" + android:layout_marginBottom="0dp" + android:background="@android:color/transparent" + app:itemTextColor="@color/black" + app:itemIconTint="@color/black" + app:itemIconSize="24dp" + app:elevation="0dp" + app:menu="@menu/bottom_menu" /> + + + - \ No newline at end of file + \ No newline at end of file diff --git a/Team Patrologix/app/src/main/res/menu/bottom_menu.xml b/Team Patrologix/app/src/main/res/menu/bottom_menu.xml new file mode 100644 index 00000000..459f0167 --- /dev/null +++ b/Team Patrologix/app/src/main/res/menu/bottom_menu.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + \ No newline at end of file