Skip to content

Commit

Permalink
code optimisation and bug fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
evicky2002 committed Jul 27, 2022
1 parent 158ef9b commit 239932b
Show file tree
Hide file tree
Showing 17 changed files with 128 additions and 182 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,28 +1,18 @@
package com.vignesh.attendancetracker

import android.app.Application
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.util.Log
import android.widget.Button
import android.widget.EditText
import android.widget.FrameLayout
import android.widget.Toast
import androidx.appcompat.widget.AppCompatEditText
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import com.vignesh.attendancetracker.fragments.GetDepartmentFragment
import com.vignesh.attendancetracker.fragments.GetSemesterFragment

class GetPreferencesActivity : AppCompatActivity() {
private var TAG = "GetPreferences"
private lateinit var myApplication: GlobalStorage
private lateinit var sharedPreferences: SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -32,7 +22,7 @@ class GetPreferencesActivity : AppCompatActivity() {

sharedPreferences = this.getSharedPreferences("USER_PREFERENCE", Context.MODE_PRIVATE)

val getDepartmentFragment: GetDepartmentFragment = GetDepartmentFragment()
val getDepartmentFragment= GetDepartmentFragment()
supportFragmentManager.beginTransaction().apply {
replace(R.id.flFragment, getDepartmentFragment).commit()
}
Expand Down
15 changes: 0 additions & 15 deletions app/src/main/java/com/vignesh/attendancetracker/GlobalStorage.kt
Original file line number Diff line number Diff line change
@@ -1,22 +1,7 @@
package com.vignesh.attendancetracker

import android.app.Application
import android.content.ContentValues.TAG
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.vignesh.attendancetracker.dataModels.NewSubject
import com.vignesh.attendancetracker.dataModels.Semester
import com.vignesh.attendancetracker.dataModels.Subject
import com.vignesh.attendancetracker.dataModels.User
import kotlinx.coroutines.tasks.await
import java.lang.Exception
import java.util.logging.Handler

class GlobalStorage : Application() {
companion object{
Expand Down
25 changes: 10 additions & 15 deletions app/src/main/java/com/vignesh/attendancetracker/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package com.vignesh.attendancetracker

import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import android.os.Handler
import android.util.Log
import android.view.View
import android.widget.ProgressBar
Expand All @@ -13,10 +14,6 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.card.MaterialCardView
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.vignesh.attendancetracker.dataModels.Semester
import com.vignesh.attendancetracker.dataModels.User
import com.vignesh.attendancetracker.fragments.DashboardFragment
Expand All @@ -26,18 +23,14 @@ import com.vignesh.attendancetracker.networkActivity.NetworkService

class MainActivity : AppCompatActivity() {
private var TAG = "NetworkService"
private lateinit var sharedPreferences: SharedPreferences

private var networkService = NetworkService(this)

private lateinit var myApplication: GlobalStorage
private var mFirebaseAuth: FirebaseAuth = FirebaseAuth.getInstance()
private var db: FirebaseFirestore = Firebase.firestore

private lateinit var networkService: NetworkService

private var semesterObject: Semester? = null
private var userObject: com.vignesh.attendancetracker.dataModels.User? = null
private var userObject: User? = null

var progressBar: ProgressBar? = null
private var progressBar: ProgressBar? = null
private var tvWait:TextView? = null
private var bottom:MaterialCardView? = null
private lateinit var homeFragment: HomeFragment
Expand All @@ -47,12 +40,14 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sharedPreferences = getSharedPreferences("USER_PREFERENCE", Context.MODE_PRIVATE)
networkService = NetworkService(this, sharedPreferences.getString("DEPARTMENT","dept") as String, sharedPreferences.getString("SEMESTER","sem") as String)
WindowCompat.setDecorFitsSystemWindows(window, false)
hideSystemBars()
tvWait = findViewById(R.id.tvWait)
progressBar = findViewById(R.id.progressBar)
bottom = findViewById(R.id.bottom)
progressBar?.setVisibility(View.VISIBLE);
progressBar?.setVisibility(View.VISIBLE)
tvWait?.visibility = View.VISIBLE
bottom?.visibility = View.INVISIBLE
bottomNavigationView = findViewById(R.id.bottomNavigationView)
Expand Down Expand Up @@ -107,7 +102,7 @@ class MainActivity : AppCompatActivity() {
bottom?.visibility = View.VISIBLE
bottom?.visibility = View.VISIBLE
tvWait?.visibility = View.INVISIBLE
progressBar?.setVisibility(View.GONE);
progressBar?.setVisibility(View.GONE)
}
bottomNavigationView.setOnItemSelectedListener {
when(it.itemId){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,20 @@ class SubjectDataCardAdapter(private val mList: ArrayList<NewSubject>, private v

@SuppressLint("ResourceAsColor")
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val myDialog: Dialog = Dialog(context)
val myDialog = Dialog(context)
myDialog.setContentView(R.layout.history_dialog)
myDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
holder.tvSubjectDataCardName?.text = userObject?.subjectsList?.get(position)?.subjectName
holder.tvSubjectDataCount?.text = userObject?.subjectsList?.get(position)?.totalAbsentCount
var totalHours = mList.get(position).subjectTotalHours.toInt()
var totalAbsentCount = mList.get(position).totalAbsentCount.toInt()
var remainingHours = (totalHours - totalAbsentCount)
var percentage : Double = ( remainingHours.toDouble()/ totalHours.toDouble())* 100
val totalHours = mList.get(position).subjectTotalHours.toInt()
val totalAbsentCount = mList.get(position).totalAbsentCount.toInt()
val remainingHours = (totalHours - totalAbsentCount)
val percentage : Double = ( remainingHours.toDouble()/ totalHours.toDouble())* 100
Log.d(TAG,totalHours.toString())
Log.d(TAG,totalAbsentCount.toString())
Log.d(TAG,remainingHours.toString())
Log.d(TAG,percentage.toString())
var roundedPercentage = percentage.toInt()
val roundedPercentage = percentage.toInt()
holder.dataCard?.setBackgroundColor(ContextCompat.getColor(context, R.color.project_yellow))

if(roundedPercentage < 75.0){
Expand All @@ -59,7 +59,6 @@ class SubjectDataCardAdapter(private val mList: ArrayList<NewSubject>, private v
var string = ""
val tvDates = myDialog.findViewById<TextView>(R.id.tvDates)
for(i in array){
val map = i
string+="\n\n"
string+=i.getValue(1.toString())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,24 +59,19 @@ class SubjectUpdateCardAdapter(private val mList: ArrayList<NewSubject>, private
count = count?.plus(temp)
if(temp>0){
for(i in 1..temp){
val map = mapOf<String,String>("1" to getCurrentDate())
val map = mapOf("1" to getCurrentDate())
GlobalStorage.userObject?.subjectsList?.get(position)?.dateTracker?.add(map)
}
}else if(temp<0){
val pos = temp + (temp*-2)
Log.d(TAG,"here")
Log.d(TAG,"pos : ${pos.toString()}")
Log.d(TAG,"pos : $pos")
Log.d(TAG,"size : ${userObject?.subjectsList?.get(position)?.dateTracker?.size as Int}")
for (i in pos downTo 1){
GlobalStorage.userObject?.subjectsList?.get(position)?.dateTracker
?.removeAt((userObject!!.subjectsList.get(position).dateTracker?.size as Int) - 1)
}
}

// if(temp>0){
// val map = mapOf<String,String>(temp.toString() to getCurrentDate())
// userObject.subjectsList.get(position).dateTracker?.add(map)
// }
GlobalStorage.userObject?.subjectsList?.get(position)?.totalAbsentCount = count.toString()
holder.tvSubjectCardCount?.text = "0"
db.collection("users").document(user?.uid.toString())
Expand All @@ -87,7 +82,7 @@ class SubjectUpdateCardAdapter(private val mList: ArrayList<NewSubject>, private
}

}
fun getCurrentDate():String{
private fun getCurrentDate():String{
val sdf = SimpleDateFormat("'Date: 'dd-MM-yyyy 'Time: 'HH:mm")
return sdf.format(Date())
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package com.vignesh.attendancetracker.dataModels

import java.io.Serializable

data class NewSubject(
var subjectCode : String,
var subjectCredits : String,
var subjectName : String,
var subjectTotalHours : String,
var totalAbsentCount: String,
var dateTracker: ArrayList<Map<String,String>>?
): Serializable
)
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
package com.vignesh.attendancetracker.dataModels

data class Semester (
var subjectsList: ArrayList<Subject>

)
data class Semester (var subjectsList: ArrayList<Subject>)
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.vignesh.attendancetracker.dataModels

import java.io.Serializable

data class Subject(
var subjectCode : String,
var subjectCredits : String,
var subjectName : String,
var subjectTotalHours : String
): Serializable
)
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
package com.vignesh.attendancetracker.dataModels

data class User(
var subjectsList: ArrayList<NewSubject>
)
data class User(var subjectsList: ArrayList<NewSubject>)
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,11 @@ import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.button.MaterialButton
import com.google.firebase.auth.FirebaseAuth
import com.vignesh.attendancetracker.GlobalStorage
import com.vignesh.attendancetracker.LoginActivity
Expand Down Expand Up @@ -48,9 +44,9 @@ class DashboardFragment : Fragment(R.layout.fragment_dashboard) {
var n = 0
for(i in userObject!!.subjectsList){
n++
var total = i.subjectTotalHours.toInt()
var absent = i.totalAbsentCount.toInt()
var rem = total-absent
val total = i.subjectTotalHours.toInt()
val absent = i.totalAbsentCount.toInt()
val rem = total-absent
val perc : Double= (rem.toDouble()/total.toDouble())*100
percentageTotal+=perc
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ package com.vignesh.attendancetracker.fragments
import android.content.Context
import android.content.SharedPreferences
import android.content.res.ColorStateList
import android.graphics.Color
import android.os.Bundle
import android.util.Log
import android.view.HapticFeedbackConstants
import androidx.fragment.app.Fragment
import android.view.View
import android.widget.Toast
import androidx.core.view.WindowCompat
import com.google.android.material.button.MaterialButton
import com.vignesh.attendancetracker.R

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,17 @@ import android.content.Intent
import android.content.SharedPreferences
import android.content.res.ColorStateList
import android.os.Bundle
import android.util.Log
import android.view.HapticFeedbackConstants
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import com.google.android.material.button.MaterialButton
import com.vignesh.attendancetracker.GlobalStorage
import com.vignesh.attendancetracker.MainActivity
import com.vignesh.attendancetracker.R

class GetSemesterFragment : Fragment(R.layout.fragment_get_semester), View.OnClickListener {
private var myApplication: GlobalStorage? = null
private var TAG = "GetSemesterFragment"
private var btnSemOne: MaterialButton? = null
private var btnSemTwo: MaterialButton? = null
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
package com.vignesh.attendancetracker.fragments

import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import android.os.Handler
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.firebase.auth.FirebaseAuth
Expand All @@ -19,13 +13,9 @@ import com.google.firebase.ktx.Firebase
import com.vignesh.attendancetracker.GlobalStorage
import com.vignesh.attendancetracker.R
import com.vignesh.attendancetracker.adapters.SubjectUpdateCardAdapter
import com.vignesh.attendancetracker.dataModels.Semester
import com.vignesh.attendancetracker.dataModels.Subject
import com.vignesh.attendancetracker.dataModels.User

class HomeFragment : Fragment(R.layout.fragment_home) {
private lateinit var myApplication: GlobalStorage
private lateinit var sharedPreferences: SharedPreferences
private val TAG = "HomeFragment"
private var userObject: User? = null
private var rvSubjectList: RecyclerView? = null
Expand Down
Loading

0 comments on commit 239932b

Please sign in to comment.