Skip to content

Commit 2165de7

Browse files
committed
Cleared crashing bug ( it was due to not doing a null check in the observe function of CounterViewModel.java )..
Also cleared a major bug that was causing the to not respond to the button clicks ( it was actually because of using update query instead of insert query in the CountDao.java class of ROOM database so it tried to update a value that was not yet created. Thanks to harish for bringing out these bugs.. ;) )
1 parent a59decb commit 2165de7

File tree

5 files changed

+6
-16
lines changed

5 files changed

+6
-16
lines changed

app/src/main/java/com/geeks4ever/counter_app/model/CountModel.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.geeks4ever.counter_app.model;
22

3-
import android.util.Log;
4-
5-
import androidx.lifecycle.LiveData;
63
import androidx.room.ColumnInfo;
74
import androidx.room.Entity;
85
import androidx.room.PrimaryKey;
@@ -24,7 +21,4 @@ public CountModel(int key, String count){
2421
public String getCount(){
2522
return this.count;
2623
}
27-
28-
public void setCount(String count){
29-
this.count = count;}
3024
}

app/src/main/java/com/geeks4ever/counter_app/model/repository/CountDao.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@
44
import androidx.room.Dao;
55
import androidx.room.Insert;
66
import androidx.room.Query;
7-
import androidx.room.Update;
87

98
import com.geeks4ever.counter_app.model.CountModel;
109

1110
import java.util.List;
1211

12+
import static androidx.room.OnConflictStrategy.REPLACE;
13+
1314
@Dao
1415
public interface CountDao {
1516

1617
@Query("Select * from countmodel where `key`= 0")
1718
LiveData<List<CountModel>> getCount();
1819

19-
@Update
20+
@Insert(onConflict = REPLACE)
2021
void setCount(CountModel count);
2122

2223
}

app/src/main/java/com/geeks4ever/counter_app/model/repository/CountDatabase.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package com.geeks4ever.counter_app.model.repository;
22

33
import android.content.Context;
4-
import android.util.Log;
54

65
import androidx.room.Database;
76
import androidx.room.Room;
87
import androidx.room.RoomDatabase;
98

109
import com.geeks4ever.counter_app.model.CountModel;
1110

12-
import java.util.concurrent.Executors;
13-
1411
@Database(entities = {CountModel.class}, version = 1, exportSchema = false)
1512
public abstract class CountDatabase extends RoomDatabase {
1613

app/src/main/java/com/geeks4ever/counter_app/viewmodel/CounterViewModel.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
package com.geeks4ever.counter_app.viewmodel;
22

33
import android.app.Application;
4-
import android.content.Context;
54

65
import androidx.annotation.NonNull;
76
import androidx.lifecycle.AndroidViewModel;
87
import androidx.lifecycle.LiveData;
98
import androidx.lifecycle.MutableLiveData;
109
import androidx.lifecycle.Observer;
11-
import androidx.lifecycle.ViewModel;
1210

1311
import com.geeks4ever.counter_app.model.CountModel;
14-
import com.geeks4ever.counter_app.model.repository.CountDatabase;
1512
import com.geeks4ever.counter_app.model.repository.CountRepository;
1613

1714
import java.util.List;
@@ -36,7 +33,8 @@ public CounterViewModel(@NonNull Application application) {
3633
countRepository.getCount().observeForever( new Observer<List<CountModel>>() {
3734
@Override
3835
public void onChanged(List<CountModel> countModel) {
39-
count.setValue(countModel.get(0).getCount());
36+
if(!countModel.isEmpty())
37+
count.setValue(countModel.get(0).getCount());
4038
}
4139
});
4240
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath "com.android.tools.build:gradle:4.1.0"
8+
classpath 'com.android.tools.build:gradle:4.1.2'
99

1010
// NOTE: Do not place your application dependencies here; they belong
1111
// in the individual module build.gradle files

0 commit comments

Comments
 (0)