/* * This is the source code of DMPLayer for Android v. 1.0.0. * You should have received a copy of the license in this archive (see LICENSE). * Copyright @Dibakar_Mistry, 2015. */ package com.dmplayer.manager; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import com.dmplayer.models.SongDetail; import com.dmplayer.phonemidea.PhoneMediaControl; import com.google.gson.Gson; import java.util.ArrayList; public class MusicPreferance { public static ArrayList<SongDetail> playlist = new ArrayList<SongDetail>(); public static ArrayList<SongDetail> shuffledPlaylist = new ArrayList<SongDetail>(); public static SongDetail playingSongDetail; public static SharedPreferences getPreferanse(Context context) { return context.getSharedPreferences("DMPlayer", Activity.MODE_PRIVATE); } public static void saveLastSong(Context context, SongDetail mDetail) { SharedPreferences.Editor editor = getPreferanse(context).edit(); Gson mGson = new Gson(); String lastplaySong = mGson.toJson(mDetail); editor.putString("lastplaysong", lastplaySong); editor.commit(); } public static SongDetail getLastSong(Context context) { if (playingSongDetail == null) { SharedPreferences mSharedPreferences = getPreferanse(context); String lastplaySong = mSharedPreferences.getString("lastplaysong", ""); Gson mGson = new Gson(); playingSongDetail = mGson.fromJson(lastplaySong, SongDetail.class); } return playingSongDetail; } public static void saveLastSongListType(Context context, int type) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putInt("songlisttype", type); editor.commit(); } public static int getLastSongListType(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getInt("songlisttype", 0); } public static void saveLastAlbID(Context context, int id) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putInt("lastalbid", id); editor.commit(); } public static int getLastAlbID(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getInt("lastalbid", 0); } public static void saveLastPosition(Context context, int positon) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putInt("lastposition", positon); editor.commit(); } public static int getLastPosition(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getInt("lastposition", 0); } public static void saveLastPath(Context context, String path) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putString("path", path); editor.commit(); } public static String getLastPath(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getString("path", ""); } public static ArrayList<SongDetail> getPlaylist(Context context) { if (playlist == null || playlist.isEmpty()) { int type = getLastSongListType(context); int id = getLastAlbID(context); String path = getLastPath(context); MediaController.getInstance().type = type; MediaController.getInstance().id = id; MediaController.getInstance().currentPlaylistNum = getLastPosition(context); MediaController.getInstance().path = path; playlist = PhoneMediaControl.getInstance().getList(context, id, PhoneMediaControl.SonLoadFor.values()[type], path); } return playlist; } public static ArrayList<SongDetail> getPlaylist(Context context, String path) { MediaController.getInstance().type = PhoneMediaControl.SonLoadFor.Musicintent.ordinal(); MediaController.getInstance().id = -1; MediaController.getInstance().currentPlaylistNum = 0; MediaController.getInstance().path = path; playlist = PhoneMediaControl.getInstance().getList(context, -1, PhoneMediaControl.SonLoadFor.Musicintent, path); if (playlist != null && !playlist.isEmpty()) playingSongDetail = playlist.get(0); return playlist; } public static void setRepeat(Context context, int isOn) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putInt("repeat", isOn); editor.commit(); } public static int getRepeat(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getInt("repeat", 0); } public static void setShuffel(Context context, boolean isOn) { SharedPreferences.Editor editor = getPreferanse(context).edit(); editor.putBoolean("shuffel", isOn); editor.commit(); } public static boolean getShuffel(Context context) { SharedPreferences mSharedPreferences = getPreferanse(context); return mSharedPreferences.getBoolean("shuffel", false); } }