@startuml class com.example.music.Adapter.MusicAdapter { - Context mContext - ArrayList mFiles + MyVieHolder onCreateViewHolder(ViewGroup,int) + void onBindViewHolder(MyVieHolder,int) - void deleteFlie(int,View) + int getItemCount() - byte[] getAlbumArt(String) } class com.example.music.Adapter.MusicAdapter$MyVieHolder { ~ TextView file_name ~ ImageView album_art } class com.example.music.Activity.PlayerActivity { ~ TextView song_name ~ ImageView cover_art ~ FloatingActionButton playPauseBtn ~ SeekBar seekBar ~ int position ~ {static} ArrayList listSongs ~ {static} Uri uri ~ {static} MediaPlayer mediaPlayer - Handler handler - Thread playThread # void onCreate(Bundle) # void onResume() - void prevThreadBtn() - void prevBtnClicked() - void nextThreadBtn() - void nextBtnClicked() - int getRandom(int) - void playThreadBtn() - void playPauseBtnClicked() - String formattedTime(int) - void getIntentMethod() - void initView() - void metaData(Uri) + void ImageAnimation(Context,ImageView,Bitmap) + void onCompletion(MediaPlayer) } class com.example.music.databases.DaBa { - {static} int VERSION - {static} String DBNAME - Context mContext + void onCreate(SQLiteDatabase) + void onUpgrade(SQLiteDatabase,int,int) } class com.example.music.Activity.RegisterActivity { ~ Button button_submit ~ DaBa daBa ~ EditText index_username ~ EditText index_password ~ SQLiteDatabase sqLiteDatabase # void onCreate(Bundle) } class com.example.music.Adapter.AlbumAdapter { - Context mContext - ArrayList albumFiles ~ View view + MyHolder onCreateViewHolder(ViewGroup,int) + void onBindViewHolder(MyHolder,int) + int getItemCount() - byte[] getAlbumArt(String) } class com.example.music.Adapter.AlbumAdapter$MyHolder { ~ ImageView album_image ~ TextView album_name } class com.example.music.Fragment.AlbumsFragment { ~ RecyclerView recyclerView ~ AlbumAdapter albumAdapter + View onCreateView(LayoutInflater,ViewGroup,Bundle) } class com.example.music.Activity.LoginActivity { ~ EditText usernameInput ~ EditText passwordInput ~ Button button_login ~ Button button_index ~ Context that - CheckBox RePassword - CheckBox AutoLogin - String Tag - String SP_Name - String SP_Password - String SP_IsRemember - SharedPreferences sharedPreferences - boolean status # void onCreate(Bundle) - void initData() - void initUI() } class com.example.music.MusicFiles { - String path - String title - String artist - String album - String duration - String id + String getPath() + void setPath(String) + String getTitle() + void setTitle(String) + String getArtist() + void setArtist(String) + String getAlbum() + void setAlbum(String) + String getDuration() + void setDuration(String) + String getId() + void setId(String) } class com.example.music.Adapter.PagerAdapter { - int tabsNumber + Fragment getItem(int) + int getCount() } class com.example.music.Activity.MainActivity { ~ DrawerLayout drawerLayout ~ ActionBarDrawerToggle toggle ~ NavigationView navigationView ~ ViewPager pager ~ TabLayout mTabLayout ~ TabItem songs ~ PagerAdapter pagerAdapter + {static} int REQUEST_CODE ~ {static} ArrayList musicFiles ~ {static} boolean shuffleBoolean # void onCreate(Bundle) - void initViewPager() - void permission() + void onRequestPermissionsResult(int,String[],int[]) + boolean onNavigationItemSelected(MenuItem) + {static} ArrayList getAllAudio(Context) } class com.example.music.Fragment.SongsFragment { ~ RecyclerView recyclerView ~ MusicAdapter musicAdapter + View onCreateView(LayoutInflater,ViewGroup,Bundle) } com.example.music.Adapter.Adapter <|-- com.example.music.Adapter.MusicAdapter com.example.music.Adapter.MusicAdapter +.. com.example.music.Adapter.MusicAdapter$MyVieHolder com.example.music.Adapter.ViewHolder <|-- com.example.music.Adapter.MusicAdapter$MyVieHolder com.example.music.Activity.OnCompletionListener <|.. com.example.music.Activity.PlayerActivity androidx.appcompat.app.AppCompatActivity <|-- com.example.music.Activity.PlayerActivity android.database.sqlite.SQLiteOpenHelper <|-- com.example.music.databases.DaBa androidx.appcompat.app.AppCompatActivity <|-- com.example.music.Activity.RegisterActivity com.example.music.Adapter.Adapter <|-- com.example.music.Adapter.AlbumAdapter com.example.music.Adapter.AlbumAdapter +.. com.example.music.Adapter.AlbumAdapter$MyHolder com.example.music.Adapter.ViewHolder <|-- com.example.music.Adapter.AlbumAdapter$MyHolder androidx.fragment.app.Fragment <|-- com.example.music.Fragment.AlbumsFragment androidx.appcompat.app.AppCompatActivity <|-- com.example.music.Activity.LoginActivity androidx.fragment.app.FragmentPagerAdapter <|-- com.example.music.Adapter.PagerAdapter com.example.music.Activity.OnNavigationItemSelectedListener <|.. com.example.music.Activity.MainActivity androidx.appcompat.app.AppCompatActivity <|-- com.example.music.Activity.MainActivity androidx.fragment.app.Fragment <|-- com.example.music.Fragment.SongsFragment @enduml