1eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyarpackage com.android.example.bindingdemo.vo; 2eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 3fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.Bindable; 4eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyarimport android.graphics.Color; 5eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 6fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.BaseObservable; 7a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyarimport com.android.example.bindingdemo.BR; 8eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 9eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyarimport java.util.Objects; 10eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 1157f5033de8ae6f260930e11ddef0a0e9091ee116George Mountpublic class User extends BaseObservable { 12b617e5da04aa910be70204afb886b1ebebb80618George Mount @Bindable 13eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar private String name; 14b617e5da04aa910be70204afb886b1ebebb80618George Mount @Bindable 15eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar private String lastName; 16b617e5da04aa910be70204afb886b1ebebb80618George Mount @Bindable 17eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar private int photoResource = 0; 18b617e5da04aa910be70204afb886b1ebebb80618George Mount @Bindable 19eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar private int favoriteColor = Color.RED; 20b617e5da04aa910be70204afb886b1ebebb80618George Mount @Bindable 21eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar private int group; 22658c71b9ba3211ac5c10f261a8c6f38b1916d3bfYigit Boyar public static final int KITTEN = 1; 23eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public static final int ROBOT = 2; 24eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 25eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public User(String name, String lastName, int photoResource, int group) { 26eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.name = name; 27eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.lastName = lastName; 28eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.photoResource = photoResource; 29eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.group = group; 30eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 31eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 32eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public void setGroup(int group) { 33eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar if (this.group == group) { 34eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return; 35eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 36eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.group = group; 37a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyar notifyPropertyChanged(BR.group); 38eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 39eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 40eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public int getGroup() { 41eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return group; 42eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 43eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 44eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public String getName() { 45eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return name; 46eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 47eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 48eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public void setName(String name) { 49eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar if (Objects.equals(name, this.name)) { 50eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return; 51eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 52eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.name = name; 53a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyar notifyPropertyChanged(BR.name); 54eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 55eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 56eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public String getLastName() { 57eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return lastName; 58eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 59eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 60eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public void setLastName(String lastName) { 61eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar if (Objects.equals(lastName, this.lastName)) { 62eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return; 63eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 64eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.lastName = lastName; 65a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyar notifyPropertyChanged(BR.lastName); 66eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 67eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 68eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public int getPhotoResource() { 69eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return photoResource; 70eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 71eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 72eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public void setPhotoResource(int photoResource) { 73eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar if (this.photoResource == photoResource) { 74eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return; 75eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 76eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar this.photoResource = photoResource; 77a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyar notifyPropertyChanged(BR.photoResource); 78eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 79eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar 80eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar public int getFavoriteColor() { 81eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar return favoriteColor; 82eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar } 83eb1062abaed1314c71cf80584fe8bcb8b2a6ba53Yigit Boyar} 84