Skip to content

Commit

Permalink
Fixed issue (#5) - Unnecessary use of Custom AppBar (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
rajitdeb authored Oct 25, 2023
1 parent 944ecfc commit 33c1be5
Show file tree
Hide file tree
Showing 23 changed files with 212 additions and 292 deletions.
4 changes: 2 additions & 2 deletions .idea/kotlinc.xml

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

33 changes: 16 additions & 17 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ android {

defaultConfig {
applicationId "dev.dsi.robust"
minSdk 26
minSdk 21
targetSdk 33
versionCode 1
versionName "1.0"
Expand All @@ -28,7 +28,6 @@ android {

buildFeatures {
viewBinding true
dataBinding true
}

compileOptions {
Expand All @@ -48,32 +47,32 @@ android {

dependencies {

implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.6.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

//navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.4'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.4'

//coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.2'

//lifecycle
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2"

//recyclerview
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.1'
implementation "androidx.recyclerview:recyclerview-selection:1.2.0-alpha01"

//room
def room_version = "2.4.2"
def room_version = "2.5.0"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"

Expand All @@ -82,5 +81,5 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

//lottie
implementation "com.airbnb.android:lottie:4.2.2"
implementation "com.airbnb.android:lottie:6.1.0"
}
24 changes: 23 additions & 1 deletion app/src/main/java/dev/dsi/robust/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package dev.dsi.robust

import android.graphics.Color
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.findNavController
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupWithNavController
import dev.dsi.robust.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

private lateinit var binding: ActivityMainBinding
private lateinit var navController: NavController

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -19,9 +23,27 @@ class MainActivity : AppCompatActivity() {
val navHost = supportFragmentManager
.findFragmentById(binding.navHostFragment.id) as NavHostFragment

val navController: NavController = navHost.navController
navController = navHost.navController

val appBarConfiguration = AppBarConfiguration(
setOf(
R.id.fridgeFragment,
R.id.tipsFragment,
R.id.aboutFragment
)
)

binding.toolbar.apply {
setTitleTextColor(Color.WHITE)
setupWithNavController(navController, appBarConfiguration)
}

binding.bottomNav.setupWithNavController(navController)

}

override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp() || super.onSupportNavigateUp()
}

}
23 changes: 15 additions & 8 deletions app/src/main/java/dev/dsi/robust/SplashActivity.kt
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
package dev.dsi.robust

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import androidx.appcompat.app.AppCompatActivity
import dev.dsi.robust.databinding.ActivitySplashBinding
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch

class SplashActivity : AppCompatActivity() {

private lateinit var binding: ActivitySplashBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setStatusBarColor(this.getResources().getColor(R.color.gradient_start))
window.statusBarColor = this.resources.getColor(R.color.gradient_start)
binding = ActivitySplashBinding.inflate(layoutInflater)
val view = binding.root
Handler().postDelayed({
startActivity(Intent(this, MainActivity::class.java))

// Instead of Handler().postDelayed used coroutines
CoroutineScope(Dispatchers.Main).launch {
delay(1000)
startActivity(Intent(this@SplashActivity, MainActivity::class.java))
finish()
}, 1000)
setContentView(view)
}

setContentView(binding.root)
}
}
17 changes: 7 additions & 10 deletions app/src/main/java/dev/dsi/robust/fridge/Adapter/FridgeAdapter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,18 @@ package dev.dsi.robust.fridge.Adapter
import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import dev.dsi.robust.databinding.RecyclerViewItemBinding
import dev.dsi.robust.fridge.Database.FridgeItems
import dev.dsi.robust.fridge.Database.FridgeViewModel
import dev.dsi.robust.utils.Snacker

class FridgeAdapter(
val fridgeViewModel: FridgeViewModel,
val parentView: View,
val activity: FragmentActivity?,
private val fridgeViewModel: FridgeViewModel
) :
ListAdapter<FridgeItems, FridgeAdapter.FridgeViewHolder>(
ListDiffCallbacks()
Expand All @@ -35,13 +30,15 @@ class FridgeAdapter(

override fun onBindViewHolder(holder: FridgeViewHolder, position: Int) {
val item = getItem(position)
holder.bind(item, fridgeViewModel, parentView)
holder.bind(item, fridgeViewModel)
}

class FridgeViewHolder(val binding: RecyclerViewItemBinding, val context: Context) :
RecyclerView.ViewHolder(binding.root) {
class FridgeViewHolder(
private val binding: RecyclerViewItemBinding,
val context: Context
) : RecyclerView.ViewHolder(binding.root) {

fun bind(item: FridgeItems, fridgeViewModel: FridgeViewModel, parentView: View) {
fun bind(item: FridgeItems, fridgeViewModel: FridgeViewModel) {

binding.productName.text = item.itemName
binding.expiry.text = item.itemExpiry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase

@Database(entities = [FridgeItems::class], version = 1)
@Database(entities = [FridgeItems::class], version = 1, exportSchema = false)
abstract class FridgeDatabase : RoomDatabase() {

abstract fun getFridgeDao(): FridgeDao
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package dev.dsi.robust.fridge.Database

import androidx.annotation.WorkerThread
import androidx.lifecycle.LiveData

class FridgeRepository(private val fridgeDao: FridgeDao) {

// val alllists:LiveData<List<FridgeItems>>=getAllItems()

@WorkerThread
suspend fun insert(items: FridgeItems) = fridgeDao.insert(items)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import kotlinx.coroutines.*

class FridgeViewModel (application: Application):AndroidViewModel(Application()){
class FridgeViewModel(application: Application) : AndroidViewModel(Application()) {

private var parentJob = Job()
private val scope = CoroutineScope(parentJob + Dispatchers.Main)
Expand All @@ -20,17 +20,17 @@ class FridgeViewModel (application: Application):AndroidViewModel(Application())
allLists = getAllFridgeItems()
}

fun insert(items:FridgeItems)=scope.launch {
fun insert(items: FridgeItems) = scope.launch {
repository.insert(items)
}

fun delete(items:FridgeItems)=scope.launch {
fun delete(items: FridgeItems) = scope.launch {
repository.delete(items)
}

fun update(items:FridgeItems)=scope.launch {
fun update(items: FridgeItems) = scope.launch {
repository.update(items)
}

fun getAllFridgeItems() = repository.getAllItems()
fun getAllFridgeItems() = repository.getAllItems()
}

This file was deleted.

Loading

0 comments on commit 33c1be5

Please sign in to comment.