Propagate song changes to UI
This commit is contained in:
		
							parent
							
								
									6768f3f2f4
								
							
						
					
					
						commit
						03ffad650c
					
				| @ -294,5 +294,15 @@ public class MainActivity extends AppCompatActivity implements MetaDataDialog.On | |||||||
|             musicDB.musicNoteDao().updateSong(updatedSong); |             musicDB.musicNoteDao().updateSong(updatedSong); | ||||||
|             Log.d("MainActivity", "Updated Song: " + updatedSong.getTitle()); |             Log.d("MainActivity", "Updated Song: " + updatedSong.getTitle()); | ||||||
|         }).start(); |         }).start(); | ||||||
|  |         NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment_content_main); | ||||||
|  |         Fragment currentFragment = navHostFragment != null ? navHostFragment.getChildFragmentManager().getFragments().get(0) : null; | ||||||
|  | 
 | ||||||
|  |         if(currentFragment instanceof HomeFragment) { | ||||||
|  |             HomeFragment homeFragment = (HomeFragment) currentFragment; | ||||||
|  |             homeFragment.updateSong(updatedSong); | ||||||
|  |         } else if(currentFragment instanceof GalleryFragment) { | ||||||
|  |             GalleryFragment galleryFragment = (GalleryFragment) currentFragment; | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -151,4 +151,8 @@ public class HomeFragment extends Fragment { | |||||||
|     public void addSong(MusicNote musicNote) { |     public void addSong(MusicNote musicNote) { | ||||||
|         this.homeViewModel.addSong(musicNote); |         this.homeViewModel.addSong(musicNote); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public void updateSong(MusicNote song) { | ||||||
|  |         this.homeViewModel.updateSong(song); | ||||||
|  |     } | ||||||
| } | } | ||||||
| @ -47,4 +47,17 @@ public class HomeViewModel extends ViewModel { | |||||||
|             noteTitles.setValue(currentSongs); |             noteTitles.setValue(currentSongs); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public void updateSong(MusicNote updatedSong) { | ||||||
|  |         List<MusicNote> currentSongs = noteTitles.getValue(); | ||||||
|  |         if(currentSongs != null) { | ||||||
|  |             for(int i=0; i<currentSongs.size(); i++) { | ||||||
|  |                 if(currentSongs.get(i).getMusicNoteId() == updatedSong.getMusicNoteId()) { | ||||||
|  |                     currentSongs.set(i, updatedSong); | ||||||
|  |                     break; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             noteTitles.setValue(currentSongs); | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user