use of com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack in project MusicDNA by harjot-oberai.
the class FavouritesFragment method onViewCreated.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
backBtn = (ImageView) view.findViewById(R.id.fav_back_btn);
backBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().onBackPressed();
}
});
fragIcon = (ImageView) view.findViewById(R.id.fav_frag_icon);
fragIcon.setImageTintList(ColorStateList.valueOf(HomeActivity.themeColor));
fragTitle = (TextView) view.findViewById(R.id.fav_fragment_title);
if (SplashActivity.tf4 != null)
fragTitle.setTypeface(SplashActivity.tf4);
addToQueueIcon = (ImageView) view.findViewById(R.id.add_fav_to_queue_icon);
addToQueueIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCallback.addFavToQueue();
}
});
backdrop = (ImageView) view.findViewById(R.id.fav_backdrop);
if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
UnifiedTrack ut = HomeActivity.favouriteTracks.getFavourite().get(0);
if (ut.getType()) {
LocalTrack lt = ut.getLocalTrack();
imgLoader.DisplayImage(lt.getPath(), backdrop);
} else {
Track t = ut.getStreamTrack();
Picasso.with(getContext()).load(t.getArtworkURL()).resize(100, 100).error(R.drawable.ic_default).placeholder(R.drawable.ic_default).into(backdrop);
}
}
bottomMarginLayout = view.findViewById(R.id.bottom_margin_layout);
if (HomeActivity.isReloaded)
bottomMarginLayout.getLayoutParams().height = 0;
else
bottomMarginLayout.getLayoutParams().height = CommonUtils.dpTopx(65, getContext());
favouriteRecycler = (RecyclerView) view.findViewById(R.id.favouriteRecycler);
noFavouriteContent = (LinearLayout) view.findViewById(R.id.noFavouriteContent);
playAll = (FloatingActionButton) view.findViewById(R.id.fav_play_all_fab);
if (SplashActivity.tf4 != null)
((TextView) view.findViewById(R.id.favNoContentText)).setTypeface(SplashActivity.tf4);
if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
favouriteRecycler.setVisibility(View.INVISIBLE);
playAll.setVisibility(View.INVISIBLE);
noFavouriteContent.setVisibility(View.VISIBLE);
} else {
favouriteRecycler.setVisibility(View.VISIBLE);
playAll.setVisibility(View.VISIBLE);
noFavouriteContent.setVisibility(View.INVISIBLE);
}
fAdapter = new FavouriteTrackAdapter(HomeActivity.favouriteTracks.getFavourite(), this, getContext());
mLayoutManager2 = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
favouriteRecycler.setLayoutManager(mLayoutManager2);
favouriteRecycler.setItemAnimator(new DefaultItemAnimator());
favouriteRecycler.setAdapter(fAdapter);
favouriteRecycler.addOnItemTouchListener(new ClickItemTouchListener(favouriteRecycler) {
@Override
public boolean onClick(RecyclerView parent, View view, int position, long id) {
mCallback.onFavouriteItemClicked(position);
return true;
}
@Override
public boolean onLongClick(RecyclerView parent, View view, int position, long id) {
return true;
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
playAll.setVisibility(View.INVISIBLE);
} else {
playAll.setVisibility(View.VISIBLE);
}
playAll.setBackgroundTintList(ColorStateList.valueOf(HomeActivity.themeColor));
playAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
HomeActivity.queue.getQueue().clear();
for (int i = 0; i < HomeActivity.favouriteTracks.getFavourite().size(); i++) {
HomeActivity.queue.getQueue().add(HomeActivity.favouriteTracks.getFavourite().get(i));
}
HomeActivity.queueCurrentIndex = 0;
mCallback.onFavouritePlayAll();
}
}
});
ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(fAdapter);
mItemTouchHelper = new ItemTouchHelper(callback);
mItemTouchHelper.attachToRecyclerView(favouriteRecycler);
}
use of com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack in project MusicDNA by harjot-oberai.
the class HomeActivity method bottomSheetListener.
public void bottomSheetListener(int position, String action, String fragment, boolean type) {
UnifiedTrack ut = null;
if (fragment == null) {
ut = new UnifiedTrack(true, finalLocalSearchResultList.get(position), null);
} else if (fragment.equals("Artist")) {
ut = new UnifiedTrack(true, tempArtist.getArtistSongs().get(position), null);
} else if (fragment.equals("Album")) {
ut = new UnifiedTrack(true, tempAlbum.getAlbumSongs().get(position), null);
} else if (fragment.equals("Folder")) {
ut = new UnifiedTrack(true, tempMusicFolder.getLocalTracks().get(position), null);
} else if (fragment.equals("Recents")) {
ut = recentlyPlayed.getRecentlyPlayed().get(position);
} else if (fragment.equals("RecentHorizontalList")) {
ut = continuePlayingList.get(position);
} else if (fragment.equals("Stream")) {
ut = new UnifiedTrack(false, null, streamingTrackList.get(position));
}
if (action.equals("Add to Playlist")) {
showAddToPlaylistDialog(ut);
pAdapter.notifyDataSetChanged();
}
if (action.equals("Add to Queue")) {
queue.getQueue().add(ut);
updateVisualizerRecycler();
}
if (action.equals("Play")) {
if (queue.getQueue().size() == 0) {
queueCurrentIndex = 0;
queue.getQueue().add(ut);
} else if (queueCurrentIndex == queue.getQueue().size() - 1) {
queueCurrentIndex++;
queue.getQueue().add(ut);
} else if (isReloaded) {
isReloaded = false;
queueCurrentIndex = queue.getQueue().size();
queue.getQueue().add(ut);
} else {
queue.getQueue().add(++queueCurrentIndex, ut);
}
streamSelected = !type;
localSelected = type;
queueCall = false;
isReloaded = false;
if (type) {
localSelectedTrack = ut.getLocalTrack();
onLocalTrackSelected(position);
} else {
selectedTrack = ut.getStreamTrack();
onTrackSelected(position);
}
updateVisualizerRecycler();
}
if (action.equals("Play Next")) {
if (queue.getQueue().size() == 0) {
queueCurrentIndex = 0;
queue.getQueue().add(ut);
streamSelected = !type;
localSelected = type;
queueCall = false;
isReloaded = false;
if (type) {
localSelectedTrack = ut.getLocalTrack();
onLocalTrackSelected(position);
} else {
selectedTrack = ut.getStreamTrack();
onTrackSelected(position);
}
} else if (queueCurrentIndex == queue.getQueue().size() - 1) {
queue.getQueue().add(ut);
} else if (isReloaded) {
isReloaded = false;
queueCurrentIndex = queue.getQueue().size();
queue.getQueue().add(ut);
streamSelected = !type;
localSelected = type;
queueCall = false;
isReloaded = false;
if (type) {
localSelectedTrack = ut.getLocalTrack();
onLocalTrackSelected(position);
} else {
selectedTrack = ut.getStreamTrack();
onTrackSelected(position);
}
} else {
queue.getQueue().add(queueCurrentIndex + 1, ut);
}
updateVisualizerRecycler();
}
if (action.equals("Add to Favourites")) {
addToFavourites(ut);
}
if (action.equals("Share")) {
FileUtils.shareLocalSong(ut.getLocalTrack().getPath(), this);
}
if (action.equals("Edit")) {
editSong = ut.getLocalTrack();
showFragment("Edit");
}
}
use of com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack in project MusicDNA by harjot-oberai.
the class HomeActivity method folderAddToQueue.
@Override
public void folderAddToQueue() {
List<LocalTrack> list = tempFolderContent;
for (LocalTrack lt : list) {
HomeActivity.queue.addToQueue(new UnifiedTrack(true, lt, null));
}
if (playerFragment != null && playerFragment.snappyRecyclerView != null) {
playerFragment.snappyRecyclerView.getAdapter().notifyDataSetChanged();
playerFragment.snappyRecyclerView.setTransparency();
}
Toast.makeText(ctx, "Added " + list.size() + " song(s) to queue", Toast.LENGTH_SHORT).show();
}
use of com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack in project MusicDNA by harjot-oberai.
the class HomeActivity method onPlaylistItemClicked.
@Override
public void onPlaylistItemClicked(int position) {
UnifiedTrack ut = tempPlaylist.getSongList().get(position);
if (ut.getType()) {
LocalTrack track = ut.getLocalTrack();
if (queue.getQueue().size() == 0) {
queueCurrentIndex = 0;
queue.getQueue().add(new UnifiedTrack(true, track, null));
} else if (queueCurrentIndex == queue.getQueue().size() - 1) {
queueCurrentIndex++;
queue.getQueue().add(new UnifiedTrack(true, track, null));
} else if (isReloaded) {
isReloaded = false;
queueCurrentIndex = queue.getQueue().size();
queue.getQueue().add(new UnifiedTrack(true, track, null));
} else {
queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(true, track, null));
}
localSelectedTrack = track;
streamSelected = false;
localSelected = true;
queueCall = false;
isReloaded = false;
onLocalTrackSelected(position);
} else {
Track track = ut.getStreamTrack();
if (queue.getQueue().size() == 0) {
queueCurrentIndex = 0;
queue.getQueue().add(new UnifiedTrack(false, null, track));
} else if (queueCurrentIndex == queue.getQueue().size() - 1) {
queueCurrentIndex++;
queue.getQueue().add(new UnifiedTrack(false, null, track));
} else if (isReloaded) {
isReloaded = false;
queueCurrentIndex = queue.getQueue().size();
queue.getQueue().add(new UnifiedTrack(false, null, track));
} else {
queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(false, null, track));
}
selectedTrack = track;
streamSelected = true;
localSelected = false;
queueCall = false;
isReloaded = false;
onTrackSelected(position);
}
}
use of com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack in project MusicDNA by harjot-oberai.
the class HomeActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
screen_width = display.getWidth();
screen_height = display.getHeight();
ratio = (float) screen_height / (float) 1920;
ratio2 = (float) screen_width / (float) 1080;
ratio = Math.min(ratio, ratio2);
setContentView(R.layout.activity_home);
headSetReceiver = new HeadSetReceiver();
IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
registerReceiver(headSetReceiver, filter);
PackageInfo pInfo;
try {
pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
versionName = pInfo.versionName;
versionCode = pInfo.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
mEndButton = new Button(this);
mEndButton.setBackgroundColor(themeColor);
mEndButton.setTextColor(Color.WHITE);
tp = new TextPaint();
tp.setColor(themeColor);
tp.setTextSize(65 * ratio);
tp.setFakeBoldText(true);
recentsViewAll = (TextView) findViewById(R.id.recents_view_all);
recentsViewAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("recent");
}
});
playlistsViewAll = (TextView) findViewById(R.id.playlists_view_all);
playlistsViewAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("allPlaylists");
}
});
copyrightText = (TextView) findViewById(R.id.copyright_text);
copyrightText.setText("Music DNA v" + versionName);
if (SplashActivity.tf4 != null) {
try {
copyrightText.setTypeface(SplashActivity.tf4);
} catch (Exception e) {
e.printStackTrace();
}
}
imgLoader = new ImageLoader(this);
ctx = this;
initializeHeaderImages();
hasSoftNavbar = CommonUtils.hasNavBar(this);
statusBarHeightinDp = CommonUtils.getStatusBarHeight(this);
navBarHeightSizeinDp = hasSoftNavbar ? CommonUtils.getNavBarHeight(this) : 0;
serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
// cast the IBinder and get MyService instance
MediaPlayerService.LocalBinder binder = (MediaPlayerService.LocalBinder) service;
myService = binder.getService();
bound = true;
// register
myService.setCallbacks(HomeActivity.this);
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
bound = false;
}
};
minuteList = new ArrayList<>();
for (int i = 1; i < 25; i++) {
minuteList.add(String.valueOf(i * 5));
}
sleepHandler = new Handler();
lps = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lps.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lps.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
int margin = ((Number) (getResources().getDisplayMetrics().density * 12)).intValue();
lps.setMargins(margin, margin, margin, navBarHeightSizeinDp + ((Number) (getResources().getDisplayMetrics().density * 5)).intValue());
fragMan = getSupportFragmentManager();
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
if (SplashActivity.tf4 != null) {
collapsingToolbar.setCollapsedTitleTypeface(SplashActivity.tf4);
collapsingToolbar.setExpandedTitleTypeface(SplashActivity.tf4);
}
customLinearGradient = (CustomLinearGradient) findViewById(R.id.custom_linear_gradient);
customLinearGradient.setAlpha(170);
customLinearGradient.invalidate();
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
navigationView = (NavigationView) findViewById(R.id.nav_view);
if (navigationView != null) {
navigationView.setNavigationItemSelectedListener(this);
}
navigationView.setCheckedItem(R.id.nav_home);
View header = navigationView.getHeaderView(0);
navImageView = (ImageView) header.findViewById(R.id.nav_image_view);
if (navImageView != null) {
navImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PlayerFragment pFrag = getPlayerFragment();
if (pFrag != null) {
if (pFrag.mMediaPlayer != null && pFrag.mMediaPlayer.isPlaying()) {
onBackPressed();
isPlayerVisible = true;
// hideTabs();
showPlayer();
}
}
}
});
}
connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
PlayerFragment pFrag = playerFragment;
if (playerFragment != null) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
// Incoming call: Pause music
if (pFrag.mMediaPlayer != null && pFrag.mMediaPlayer.isPlaying()) {
wasMediaPlayerPlaying = true;
pFrag.togglePlayPause();
} else {
wasMediaPlayerPlaying = false;
}
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
// Not in call: Play music
if (pFrag.mMediaPlayer != null && !pFrag.mMediaPlayer.isPlaying() && wasMediaPlayerPlaying) {
pFrag.togglePlayPause();
}
} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
// A call is dialing, active or on hold
if (playerFragment.mMediaPlayer != null && pFrag.mMediaPlayer.isPlaying()) {
wasMediaPlayerPlaying = true;
pFrag.togglePlayPause();
} else {
wasMediaPlayerPlaying = false;
}
}
}
super.onCallStateChanged(state, incomingNumber);
}
};
TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (mgr != null) {
mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
mPrefs = getPreferences(MODE_PRIVATE);
prefsEditor = mPrefs.edit();
gson = new Gson();
main = this;
localBanner = (RelativeLayout) findViewById(R.id.localBanner);
favBanner = (ImageView) findViewById(R.id.favBanner);
recentBanner = (ImageView) findViewById(R.id.recentBanner);
folderBanner = (ImageView) findViewById(R.id.folderBanner);
savedDNABanner = (ImageView) findViewById(R.id.savedDNABanner);
localBannerPlayAll = (ImageView) findViewById(R.id.local_banner_play_all);
localBanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("local");
}
});
favBanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("favourite");
}
});
recentBanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("recent");
}
});
folderBanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("allFolders");
}
});
savedDNABanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("allSavedDNAs");
}
});
localBannerPlayAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
queue.getQueue().clear();
for (int i = 0; i < localTrackList.size(); i++) {
UnifiedTrack ut = new UnifiedTrack(true, localTrackList.get(i), null);
queue.getQueue().add(ut);
}
if (queue.getQueue().size() > 0) {
Random r = new Random();
int tmp = r.nextInt(queue.getQueue().size());
queueCurrentIndex = tmp;
LocalTrack track = localTrackList.get(tmp);
localSelectedTrack = track;
streamSelected = false;
localSelected = true;
queueCall = false;
isReloaded = false;
onLocalTrackSelected(-1);
}
}
});
bottomToolbar = (FrameLayout) findViewById(R.id.bottomMargin);
spHome = (Toolbar) findViewById(R.id.smallPlayer_home);
playerControllerHome = (ImageView) findViewById(R.id.player_control_sp_home);
spImgHome = (CircleImageView) findViewById(R.id.selected_track_image_sp_home);
spTitleHome = (TextView) findViewById(R.id.selected_track_title_sp_home);
playerControllerHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (queue != null && queue.getQueue().size() > 0) {
onQueueItemClicked(queueCurrentIndex);
bottomToolbar.setVisibility(View.INVISIBLE);
}
}
});
playerControllerHome.setImageResource(R.drawable.ic_play_arrow_white_48dp);
spHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (queue != null && queue.getQueue().size() > 0) {
onQueueItemClicked(queueCurrentIndex);
bottomToolbar.setVisibility(View.INVISIBLE);
}
}
});
localRecyclerContainer = (RelativeLayout) findViewById(R.id.localRecyclerContainer);
recentsRecyclerContainer = (RelativeLayout) findViewById(R.id.recentsRecyclerContainer);
streamRecyclerContainer = (RelativeLayout) findViewById(R.id.streamRecyclerContainer);
playlistRecyclerContainer = (RelativeLayout) findViewById(R.id.playlistRecyclerContainer);
if (SplashActivity.tf4 != null) {
try {
((TextView) findViewById(R.id.playListRecyclerLabel)).setTypeface(SplashActivity.tf4);
((TextView) findViewById(R.id.recentsRecyclerLabel)).setTypeface(SplashActivity.tf4);
} catch (Exception e) {
e.printStackTrace();
}
}
localNothingText = (TextView) findViewById(R.id.localNothingText);
streamNothingText = (TextView) findViewById(R.id.streamNothingText);
recentsNothingText = (TextView) findViewById(R.id.recentsNothingText);
playlistNothingText = (TextView) findViewById(R.id.playlistNothingText);
localViewAll = (TextView) findViewById(R.id.localViewAll);
localViewAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("local");
}
});
streamViewAll = (TextView) findViewById(R.id.streamViewAll);
streamViewAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment("stream");
}
});
progress = new Dialog(ctx);
progress.setCancelable(false);
progress.requestWindowFeature(Window.FEATURE_NO_TITLE);
progress.setContentView(R.layout.custom_progress_dialog);
progress.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
progress.show();
showCase = new ShowcaseView.Builder(this).blockAllTouches().singleShot(0).setStyle(R.style.CustomShowcaseTheme).useDecorViewAsParent().replaceEndButton(mEndButton).setContentTitlePaint(tp).setTarget(new ViewTarget(R.id.recentsRecyclerLabel, this)).setContentTitle("Recents and Playlists").setContentText("Here all you recent songs and playlists will be listed." + "Long press the cards or playlists for more options \n" + "\n" + "(Press Next to continue / Press back to Hide)").build();
showCase.setButtonText("Next");
showCase.setButtonPosition(lps);
showCase.overrideButtonClick(new View.OnClickListener() {
int count1 = 0;
@Override
public void onClick(View v) {
count1++;
switch(count1) {
case 1:
showCase.setTarget(new ViewTarget(R.id.local_banner_alt_showcase, (Activity) ctx));
showCase.setContentTitle("Local Songs");
showCase.setContentText("See all songs available locally, classified on basis of Artist and Album");
showCase.setButtonPosition(lps);
showCase.setButtonText("Next");
break;
case 2:
showCase.setTarget(new ViewTarget(searchView.getId(), (Activity) ctx));
showCase.setContentTitle("Search");
showCase.setContentText("Search for songs from local library and SoundCloud™");
showCase.setButtonPosition(lps);
showCase.setButtonText("Done");
break;
case 3:
showCase.hide();
break;
}
}
});
new loadSavedData().execute();
}
Aggregations