Skip to content

Commit 51e3132

Browse files
authored
Merge pull request #4 from samarthhatte/Samarth_Hatte
Add XML configuration files and update Gradle dependencies for improved project structure
2 parents fff4422 + 0f611d6 commit 51e3132

16 files changed

Lines changed: 67 additions & 95 deletions

File tree

app/build.gradle.kts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ android {
1212
applicationId = "com.agpitcodeclub.codeclubagpit"
1313
minSdk = 24
1414
targetSdk = 35
15-
versionCode = 7
16-
versionName = "1.7"
15+
versionCode = 10
16+
versionName = "2.0"
1717

1818
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
1919
}
@@ -35,13 +35,6 @@ android {
3535
}
3636

3737
dependencies {
38-
39-
implementation(libs.appcompat)
40-
implementation(libs.material)
41-
implementation(libs.activity)
42-
implementation(libs.constraintlayout)
43-
implementation(libs.firebase.auth)
44-
implementation(libs.firebase.firestore)
4538
implementation("com.google.firebase:firebase-messaging")
4639
implementation(platform("com.google.firebase:firebase-bom:34.8.0"))
4740
implementation("com.google.firebase:firebase-analytics")
@@ -53,7 +46,19 @@ dependencies {
5346
implementation("com.github.bumptech.glide:glide:4.16.0")
5447
annotationProcessor("com.github.bumptech.glide:compiler:4.16.0")
5548
implementation("com.cloudinary:cloudinary-android:2.3.1")
49+
implementation("com.facebook.soloader:soloader:0.10.5")
50+
implementation(libs.appcompat)
51+
implementation(libs.material)
52+
implementation(libs.activity)
53+
implementation(libs.constraintlayout)
54+
implementation(libs.firebase.auth)
55+
implementation(libs.firebase.firestore)
5656
testImplementation(libs.junit)
5757
androidTestImplementation(libs.ext.junit)
5858
androidTestImplementation(libs.espresso.core)
59-
}
59+
}
60+
configurations.all {
61+
resolutionStrategy {
62+
force("com.facebook.soloader:soloader:0.10.5")
63+
}
64+
}

app/src/androidTest/java/com/agpitcodeclub/codeclubagpit/ExampleInstrumentedTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package com.agpitcodeclub.codeclubagpit;
22

3+
import static org.junit.Assert.assertEquals;
4+
35
import android.content.Context;
46

5-
import androidx.test.platform.app.InstrumentationRegistry;
67
import androidx.test.ext.junit.runners.AndroidJUnit4;
8+
import androidx.test.platform.app.InstrumentationRegistry;
79

810
import org.junit.Test;
911
import org.junit.runner.RunWith;
1012

11-
import static org.junit.Assert.*;
12-
1313
/**
1414
* Instrumented test, which will execute on an Android device.
1515
*

app/src/main/java/com/agpitcodeclub/codeclubagpit/AddEventActivity.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@
55
import android.widget.EditText;
66
import android.widget.Toast;
77

8-
import androidx.activity.EdgeToEdge;
98
import androidx.appcompat.app.AppCompatActivity;
10-
import androidx.core.graphics.Insets;
11-
import androidx.core.view.ViewCompat;
12-
import androidx.core.view.WindowInsetsCompat;
139

1410
import com.google.firebase.firestore.FieldValue;
1511
import com.google.firebase.firestore.FirebaseFirestore;
@@ -57,9 +53,7 @@ private void saveEvent() {
5753
Toast.makeText(this, "Event Posted Successfully!", Toast.LENGTH_SHORT).show();
5854
finish(); // Go back to dashboard
5955
})
60-
.addOnFailureListener(e -> {
61-
Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
62-
});
56+
.addOnFailureListener(e -> Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show());
6357
}
6458

6559
}

app/src/main/java/com/agpitcodeclub/codeclubagpit/AdminDashboardActivity.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
import android.os.Bundle;
55
import android.util.Log;
66
import android.widget.Toast;
7+
78
import androidx.appcompat.app.AlertDialog;
89
import androidx.appcompat.app.AppCompatActivity;
10+
911
import com.google.android.material.card.MaterialCardView;
1012
import com.google.firebase.auth.FirebaseAuth;
1113
import com.google.firebase.firestore.DocumentSnapshot;
1214
import com.google.firebase.firestore.FirebaseFirestore;
15+
1316
import java.util.ArrayList;
1417
import java.util.List;
1518

@@ -24,9 +27,7 @@ protected void onCreate(Bundle savedInstanceState) {
2427
MaterialCardView cardManageMembers = findViewById(R.id.cardManageMembers);
2528
MaterialCardView cardNotifications = findViewById(R.id.cardNotifications);
2629

27-
cardAddEvent.setOnClickListener(v -> {
28-
startActivity(new Intent(this, AddEventActivity.class));
29-
});
30+
cardAddEvent.setOnClickListener(v -> startActivity(new Intent(this, AddEventActivity.class)));
3031

3132
cardManageMembers.setOnClickListener(v -> {
3233
Intent intent = new Intent(this, MembersActivity.class);
@@ -35,9 +36,7 @@ protected void onCreate(Bundle savedInstanceState) {
3536
});
3637

3738
// Trigger the Tagging Dialog when Notifications card is clicked
38-
cardNotifications.setOnClickListener(v -> {
39-
startActivity(new Intent(this, AdminPushActivity.class));
40-
});
39+
cardNotifications.setOnClickListener(v -> startActivity(new Intent(this, AdminPushActivity.class)));
4140

4241

4342
// Inside onCreate
@@ -81,9 +80,7 @@ private void showNotificationDialog() {
8180
})
8281
.setNegativeButton("Cancel", null)
8382
.show();
84-
}).addOnFailureListener(e -> {
85-
Toast.makeText(this, "Error loading events: " + e.getMessage(), Toast.LENGTH_SHORT).show();
86-
});
83+
}).addOnFailureListener(e -> Toast.makeText(this, "Error loading events: " + e.getMessage(), Toast.LENGTH_SHORT).show());
8784
}
8885

8986
private void sendEventPush(String title, String eventId) {

app/src/main/java/com/agpitcodeclub/codeclubagpit/EventAdapter.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@
44
import android.view.View;
55
import android.view.ViewGroup;
66
import android.widget.TextView;
7+
78
import androidx.annotation.NonNull;
89
import androidx.recyclerview.widget.RecyclerView;
10+
911
import java.util.List;
1012
import java.util.Map;
1113

1214
public class EventAdapter extends RecyclerView.Adapter<EventAdapter.ViewHolder> {
1315

14-
private List<Map<String, Object>> events;
16+
private final List<Map<String, Object>> events;
1517

1618
public EventAdapter(List<Map<String, Object>> events) {
1719
this.events = events;

app/src/main/java/com/agpitcodeclub/codeclubagpit/EventsActivity.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,27 @@
22

33
import android.os.Bundle;
44
import android.widget.Toast;
5+
56
import androidx.appcompat.app.AppCompatActivity;
67
import androidx.recyclerview.widget.LinearLayoutManager;
78
import androidx.recyclerview.widget.RecyclerView;
9+
10+
import com.denzcoskun.imageslider.ImageSlider;
11+
import com.denzcoskun.imageslider.constants.ScaleTypes;
12+
import com.denzcoskun.imageslider.models.SlideModel;
813
import com.google.firebase.firestore.DocumentSnapshot;
914
import com.google.firebase.firestore.FirebaseFirestore;
1015
import com.google.firebase.firestore.Query;
16+
1117
import java.util.ArrayList;
1218
import java.util.List;
1319
import java.util.Map;
14-
import com.denzcoskun.imageslider.ImageSlider;
15-
import com.denzcoskun.imageslider.constants.ScaleTypes;
16-
import com.denzcoskun.imageslider.models.SlideModel;
1720

1821
public class EventsActivity extends AppCompatActivity {
1922

2023
private RecyclerView rvEvents;
2124
private FirebaseFirestore db;
22-
private List<Map<String, Object>> eventList = new ArrayList<>();
25+
private final List<Map<String, Object>> eventList = new ArrayList<>();
2326

2427
@Override
2528
protected void onCreate(Bundle savedInstanceState) {
@@ -55,8 +58,6 @@ private void loadEventsFromFirestore() {
5558
EventAdapter adapter = new EventAdapter(eventList);
5659
rvEvents.setAdapter(adapter);
5760
})
58-
.addOnFailureListener(e -> {
59-
Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
60-
});
61+
.addOnFailureListener(e -> Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show());
6162
}
6263
}

app/src/main/java/com/agpitcodeclub/codeclubagpit/LoginActivity.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@
77
import android.widget.TextView;
88
import android.widget.Toast;
99

10-
import androidx.activity.EdgeToEdge;
1110
import androidx.appcompat.app.AppCompatActivity;
12-
import androidx.core.graphics.Insets;
13-
import androidx.core.view.ViewCompat;
14-
import androidx.core.view.WindowInsetsCompat;
1511

1612
import com.google.firebase.auth.FirebaseAuth;
1713
import com.google.firebase.auth.FirebaseUser;
1814
import com.google.firebase.firestore.FirebaseFirestore;
1915

16+
import java.util.Objects;
17+
2018
public class LoginActivity extends AppCompatActivity {
2119

2220
private EditText etEmail, etPassword;
@@ -36,9 +34,7 @@ protected void onCreate(Bundle savedInstanceState) {
3634
Button btnLogin = findViewById(R.id.btnLogin);
3735
// Inside LoginActivity onCreate
3836
TextView tvGoToSignup = findViewById(R.id.tvSignup);
39-
tvGoToSignup.setOnClickListener(v -> {
40-
startActivity(new Intent(LoginActivity.this, SignupActivity.class));
41-
});
37+
tvGoToSignup.setOnClickListener(v -> startActivity(new Intent(LoginActivity.this, SignupActivity.class)));
4238

4339
btnLogin.setOnClickListener(v -> loginUser());
4440

@@ -59,13 +55,13 @@ private void loginUser() {
5955
if (task.isSuccessful()) {
6056
checkUserRole();
6157
} else {
62-
Toast.makeText(LoginActivity.this, "Auth Failed: " + task.getException().getMessage(), Toast.LENGTH_LONG).show();
58+
Toast.makeText(LoginActivity.this, "Auth Failed: " + Objects.requireNonNull(task.getException()).getMessage(), Toast.LENGTH_LONG).show();
6359
}
6460
});
6561
}
6662

6763
private void checkUserRole() {
68-
String uid = mAuth.getCurrentUser().getUid();
64+
String uid = Objects.requireNonNull(mAuth.getCurrentUser()).getUid();
6965
db.collection("users").document(uid).get().addOnSuccessListener(documentSnapshot -> {
7066
if (documentSnapshot.exists()) {
7167
String role = documentSnapshot.getString("role");
@@ -82,9 +78,7 @@ private void checkUserRole() {
8278
Toast.makeText(this, "Profile not found. Please register.", Toast.LENGTH_SHORT).show();
8379
mAuth.signOut();
8480
}
85-
}).addOnFailureListener(e -> {
86-
Toast.makeText(this, "Database Error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
87-
});
81+
}).addOnFailureListener(e -> Toast.makeText(this, "Database Error: " + e.getMessage(), Toast.LENGTH_SHORT).show());
8882
}
8983

9084
@Override

app/src/main/java/com/agpitcodeclub/codeclubagpit/MainActivity.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.agpitcodeclub.codeclubagpit;
22

3+
import android.Manifest;
34
import android.app.NotificationChannel;
45
import android.app.NotificationManager;
56
import android.content.Intent;
@@ -10,7 +11,6 @@
1011
import android.widget.Button;
1112
import android.widget.TextView;
1213
import android.widget.Toast;
13-
import android.Manifest; // Add this line
1414

1515
import androidx.annotation.NonNull;
1616
import androidx.appcompat.app.AppCompatActivity;
@@ -20,21 +20,20 @@
2020
import com.google.android.material.card.MaterialCardView;
2121
import com.google.firebase.auth.FirebaseAuth;
2222
import com.google.firebase.firestore.FirebaseFirestore;
23-
import com.google.firebase.messaging.FirebaseMessaging; // Add this import
23+
import com.google.firebase.messaging.FirebaseMessaging;
2424

2525
public class MainActivity extends AppCompatActivity {
2626
private FirebaseAuth mAuth;
2727
private FirebaseFirestore db;
2828
private TextView tvWelcome;
29-
private Button btnLogout;
3029
private static final int NOTIFICATION_PERMISSION_CODE = 101;
3130

3231
@Override
3332
protected void onCreate(Bundle savedInstanceState) {
3433
super.onCreate(savedInstanceState);
3534
setContentView(R.layout.activity_main);
3635

37-
btnLogout = findViewById(R.id.btnLogout);
36+
Button btnLogout = findViewById(R.id.btnLogout);
3837
btnLogout.setOnClickListener(v -> {
3938
mAuth.signOut();
4039
startActivity(new Intent(MainActivity.this, LoginActivity.class));
@@ -64,14 +63,10 @@ protected void onCreate(Bundle savedInstanceState) {
6463

6564
// ADD THIS FOR YOUR EVENTS PAGE
6665
MaterialCardView cardEvents = findViewById(R.id.cardEvents);
67-
cardEvents.setOnClickListener(v -> {
68-
startActivity(new Intent(MainActivity.this, EventsActivity.class));
69-
});
66+
cardEvents.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, EventsActivity.class)));
7067

7168
MaterialCardView cardProfile = findViewById(R.id.cardProfile);
72-
cardProfile.setOnClickListener(v -> {
73-
startActivity(new Intent(MainActivity.this, ProfileActivity.class));
74-
} );
69+
cardProfile.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, ProfileActivity.class)));
7570

7671
MaterialCardView cardAlumni = findViewById(R.id.cardAlumni);
7772
cardAlumni.setOnClickListener(v -> {

app/src/main/java/com/agpitcodeclub/codeclubagpit/MemberAdapter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.view.View;
55
import android.view.ViewGroup;
66
import android.widget.TextView;
7+
78
import androidx.annotation.NonNull;
89
import androidx.recyclerview.widget.RecyclerView;
910

@@ -15,12 +16,10 @@
1516

1617
public class MemberAdapter extends RecyclerView.Adapter<MemberAdapter.MemberViewHolder> {
1718

18-
private List<UserModel> memberList;
19-
private boolean isAdmin;
19+
private final List<UserModel> memberList;
2020

2121
public MemberAdapter(List<UserModel> memberList, boolean isAdmin) {
2222
this.memberList = memberList;
23-
this.isAdmin = isAdmin;
2423
}
2524

2625
@NonNull

app/src/main/java/com/agpitcodeclub/codeclubagpit/MembersActivity.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22

33
import android.os.Bundle;
44

5-
import androidx.activity.EdgeToEdge;
65
import androidx.appcompat.app.AppCompatActivity;
7-
import androidx.core.graphics.Insets;
8-
import androidx.core.view.ViewCompat;
9-
import androidx.core.view.WindowInsetsCompat;
106
import androidx.recyclerview.widget.LinearLayoutManager;
117
import androidx.recyclerview.widget.RecyclerView;
128

@@ -19,20 +15,18 @@
1915

2016
public class MembersActivity extends AppCompatActivity {
2117

22-
private RecyclerView rvMembers;
2318
private FirebaseFirestore db;
2419
private List<UserModel> memberList;
2520
private MemberAdapter adapter;
26-
private boolean isAdmin;
2721

2822
@Override
2923
protected void onCreate(Bundle savedInstanceState) {
3024
super.onCreate(savedInstanceState);
3125
setContentView(R.layout.activity_members);
3226

33-
isAdmin = getIntent().getBooleanExtra("isAdmin", false);
27+
boolean isAdmin = getIntent().getBooleanExtra("isAdmin", false);
3428
db = FirebaseFirestore.getInstance();
35-
rvMembers = findViewById(R.id.rvMembers);
29+
RecyclerView rvMembers = findViewById(R.id.rvMembers);
3630
rvMembers.setLayoutManager(new LinearLayoutManager(this));
3731

3832
memberList = new ArrayList<>();

0 commit comments

Comments
 (0)