Search in sources :

Example 1 with ImageLoader

use of com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader in project MusicDNA by harjot-oberai.

the class CustomGeneralBottomSheetDialog method onAttach.

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    this.activity = (HomeActivity) activity;
    imgLoader = new ImageLoader(activity);
}
Also used : ImageLoader(com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader)

Example 2 with ImageLoader

use of com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader in project MusicDNA by harjot-oberai.

the class FavouritesFragment method onAttach.

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    try {
        mCallback = (favouriteFragmentCallback) context;
        imgLoader = new ImageLoader(context);
    } catch (ClassCastException e) {
        throw new ClassCastException(context.toString() + " must implement OnHeadlineSelectedListener");
    }
}
Also used : ImageLoader(com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader)

Example 3 with ImageLoader

use of com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader 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();
}
Also used : ServiceConnection(android.content.ServiceConnection) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) Gson(com.google.gson.Gson) ViewTarget(com.github.amlcurran.showcaseview.targets.ViewTarget) WindowManager(android.view.WindowManager) IBinder(android.os.IBinder) PackageManager(android.content.pm.PackageManager) Random(java.util.Random) Button(android.widget.Button) TelephonyManager(android.telephony.TelephonyManager) Dialog(android.app.Dialog) CustomLocalBottomSheetDialog(com.sdsmdg.harjot.MusicDNA.custombottomsheets.CustomLocalBottomSheetDialog) CustomGeneralBottomSheetDialog(com.sdsmdg.harjot.MusicDNA.custombottomsheets.CustomGeneralBottomSheetDialog) PhoneStateListener(android.telephony.PhoneStateListener) HeadSetReceiver(com.sdsmdg.harjot.MusicDNA.headsethandler.HeadSetReceiver) ComponentName(android.content.ComponentName) TextView(android.widget.TextView) MediaPlayerService(com.sdsmdg.harjot.MusicDNA.notificationmanager.MediaPlayerService) PlayerFragment(com.sdsmdg.harjot.MusicDNA.fragments.PlayerFragment.PlayerFragment) IntentFilter(android.content.IntentFilter) PackageInfo(android.content.pm.PackageInfo) Handler(android.os.Handler) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) ImageView(android.widget.ImageView) VisualizerView(com.sdsmdg.harjot.MusicDNA.visualizers.VisualizerView) RecyclerView(android.support.v7.widget.RecyclerView) NavigationView(android.support.design.widget.NavigationView) SearchView(android.support.v7.widget.SearchView) CircleImageView(de.hdodenhof.circleimageview.CircleImageView) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) WheelView(com.lantouzi.wheelview.WheelView) ListView(android.widget.ListView) FileNotFoundException(java.io.FileNotFoundException) TextPaint(android.text.TextPaint) TextPaint(android.text.TextPaint) ColorDrawable(android.graphics.drawable.ColorDrawable) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) RelativeLayout(android.widget.RelativeLayout) ImageLoader(com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView) Display(android.view.Display)

Example 4 with ImageLoader

use of com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader in project MusicDNA by harjot-oberai.

the class PlayerFragment method onViewCreated.

@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    imgLoader = new ImageLoader(getContext());
    smallPlayer = (RelativeLayout) view.findViewById(R.id.smallPlayer);
    snappyRecyclerView = (SnappyRecyclerView) view.findViewById(R.id.visualizer_recycler);
    bufferingIndicator = (AVLoadingIndicatorView) view.findViewById(R.id.bufferingIndicator);
    currTime = (TextView) view.findViewById(R.id.currTime);
    totalTime = (TextView) view.findViewById(R.id.totalTime);
    repeatController = (ImageView) view.findViewById(R.id.repeat_controller);
    shuffleController = (ImageView) view.findViewById(R.id.shuffle_controller);
    spToolbar = (RelativeLayout) view.findViewById(R.id.smallPlayer_AB);
    overflowMenuAB = (ImageView) view.findViewById(R.id.menuIcon);
    lyricsContainer = (RelativeLayout) view.findViewById(R.id.lyrics_container);
    lyricsIcon = (ImageView) view.findViewById(R.id.lyrics_icon);
    lyricsContent = (TextView) view.findViewById(R.id.lyrics_content);
    lyricsLoadingIndicator = (AVLoadingIndicatorView) view.findViewById(R.id.lyrics_loading_indicator);
    lyricsStatus = (TextView) view.findViewById(R.id.lyrics_status_text);
    lyricsIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            if (!isLyricsVisisble) {
                lyricsIcon.setAlpha(1.0f);
                mVisualizerView.setVisibility(View.GONE);
                lyricsContainer.setVisibility(View.VISIBLE);
                lyricsLoadingIndicator.setVisibility(View.VISIBLE);
                lyricsStatus.setText("Searching Lyrics");
                lyricsStatus.setVisibility(View.VISIBLE);
                if (currentLyrics == null) {
                    downloadThread = new DownloadThread(PlayerFragment.this, false, selected_track_artist.getText().toString(), selected_track_title.getText().toString());
                    downloadThread.start();
                } else {
                    onLyricsDownloaded(currentLyrics);
                }
            } else {
                lyricsIcon.setAlpha(0.5f);
                lyricsContent.setText("");
                lyricsContainer.setVisibility(View.GONE);
                mVisualizerView.setVisibility(View.VISIBLE);
            }
            isLyricsVisisble = !isLyricsVisisble;
        }
    });
    spImgAB = (ImageView) view.findViewById(R.id.selected_track_image_sp_AB);
    spImgAB.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (!homeActivity.isPlayerTransitioning && smallPlayer != null) {
                homeActivity.hidePlayer();
                homeActivity.isPlayerVisible = false;
            }
        }
    });
    spTitleAB = (TextView) view.findViewById(R.id.selected_track_title_sp_AB);
    spTitleAB.setSelected(true);
    spArtistAB = (TextView) view.findViewById(R.id.selected_track_artist_sp_AB);
    if (homeActivity.shuffleEnabled) {
        shuffleController.setImageResource(R.drawable.ic_shuffle_filled);
    } else {
        shuffleController.setImageResource(R.drawable.ic_shuffle_alpha);
    }
    if (homeActivity.repeatEnabled) {
        repeatController.setImageResource(R.drawable.ic_repeat_filled);
    } else if (homeActivity.repeatOnceEnabled) {
        repeatController.setImageResource(R.drawable.ic_repeat_once);
    } else {
        repeatController.setImageResource(R.drawable.ic_repeat_alpha);
    }
    repeatController.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (homeActivity.repeatOnceEnabled) {
                homeActivity.repeatOnceEnabled = false;
                repeatController.setImageResource(R.drawable.ic_repeat_alpha);
            } else if (homeActivity.repeatEnabled) {
                homeActivity.repeatEnabled = false;
                homeActivity.repeatOnceEnabled = true;
                repeatController.setImageResource(R.drawable.ic_repeat_once);
            } else {
                homeActivity.repeatEnabled = true;
                repeatController.setImageResource(R.drawable.ic_repeat_filled);
            }
        }
    });
    shuffleController.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (homeActivity.shuffleEnabled) {
                homeActivity.shuffleEnabled = false;
                shuffleController.setImageResource(R.drawable.ic_shuffle_alpha);
                mCallback.onShuffleDisabled();
            } else {
                homeActivity.shuffleEnabled = true;
                shuffleController.setImageResource(R.drawable.ic_shuffle_filled);
                mCallback.onShuffleEnabled();
            }
            snappyRecyclerView.scrollToPosition(HomeActivity.queueCurrentIndex);
            snappyRecyclerView.setCurrentPosition(HomeActivity.queueCurrentIndex);
            customAdapter.notifyDataSetChanged();
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    snappyRecyclerView.setTransparency();
                }
            }, 400);
        }
    });
    equalizerIcon = (ImageView) view.findViewById(R.id.equalizer_icon);
    equalizerIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.onEqualizerClicked();
        }
    });
    equalizerIcon.setVisibility(View.INVISIBLE);
    saveDNAToggle = (ImageView) view.findViewById(R.id.toggleSaveDNA);
    if (homeActivity.isSaveDNAEnabled) {
        saveDNAToggle.setImageResource(R.drawable.ic_save_filled);
    } else {
        saveDNAToggle.setImageResource(R.drawable.ic_save_alpha);
    }
    saveDNAToggle.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (homeActivity.isSaveDNAEnabled) {
                homeActivity.isSaveDNAEnabled = false;
                saveDNAToggle.setImageResource(R.drawable.ic_save_alpha);
            } else {
                homeActivity.isSaveDNAEnabled = true;
                saveDNAToggle.setImageResource(R.drawable.ic_save_filled);
            }
        }
    });
    mainTrackController = (ImageView) view.findViewById(R.id.controller);
    nextTrackController = (ImageView) view.findViewById(R.id.next);
    previousTrackController = (ImageView) view.findViewById(R.id.previous);
    isFav = false;
    favouriteIcon = (ImageView) view.findViewById(R.id.fav_icon);
    favControllerSp = (ImageView) view.findViewById(R.id.fav_controller_sp);
    if (homeActivity.isFavourite) {
        favouriteIcon.setImageResource(R.drawable.ic_heart_filled_1);
        favControllerSp.setImageResource(R.drawable.ic_heart_filled_1);
        isFav = true;
    } else {
        favouriteIcon.setImageResource(R.drawable.ic_heart_alpha);
        favControllerSp.setImageResource(R.drawable.ic_heart_alpha);
        isFav = false;
    }
    favouriteIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isFav) {
                favouriteIcon.setImageResource(R.drawable.ic_heart_alpha);
                favControllerSp.setImageResource(R.drawable.ic_heart_alpha);
                isFav = false;
                removeFromFavourite();
            } else {
                favouriteIcon.setImageResource(R.drawable.ic_heart_filled_1);
                favControllerSp.setImageResource(R.drawable.ic_heart_filled_1);
                isFav = true;
                addToFavourite();
            }
            new HomeActivity.SaveFavourites().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
        }
    });
    favControllerSp.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isFav) {
                favouriteIcon.setImageResource(R.drawable.ic_heart_alpha);
                favControllerSp.setImageResource(R.drawable.ic_heart_alpha);
                isFav = false;
                removeFromFavourite();
            } else {
                favouriteIcon.setImageResource(R.drawable.ic_heart_filled_1);
                favControllerSp.setImageResource(R.drawable.ic_heart_filled_1);
                isFav = true;
                addToFavourite();
            }
            new HomeActivity.SaveFavourites().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
        }
    });
    queueIcon = (ImageView) view.findViewById(R.id.queue_icon);
    queueIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.onQueueClicked();
        }
    });
    selected_track_image = (ImageView) view.findViewById(R.id.selected_track_image_sp);
    selected_track_title = (TextView) view.findViewById(R.id.selected_track_title_sp);
    selected_track_artist = (TextView) view.findViewById(R.id.selected_track_artist_sp);
    player_controller = (ImageView) view.findViewById(R.id.player_control_sp);
    nextControllerSp = (ImageView) view.findViewById(R.id.next_controller_sp);
    nextControllerSp.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mMediaPlayer.pause();
            homeActivity.nextControllerClicked = true;
            mCallback.onComplete();
        }
    });
    bottomContainer = (RelativeLayout) view.findViewById(R.id.mainControllerContainer);
    seekBarContainer = (RelativeLayout) view.findViewById(R.id.seekBarContainer);
    toggleContainer = (RelativeLayout) view.findViewById(R.id.toggleContainer);
    mVisualizerView = (VisualizerView) view.findViewById(R.id.myvisualizerview);
    VisualizerView.w = HomeActivity.screen_width;
    VisualizerView.h = HomeActivity.screen_height;
    VisualizerView.conf = Bitmap.Config.ARGB_8888;
    VisualizerView.bmp = Bitmap.createBitmap(VisualizerView.w, VisualizerView.h, VisualizerView.conf);
    HomeActivity.cacheCanvas = new Canvas(VisualizerView.bmp);
    if (HomeActivity.queue != null) {
        customAdapter = new CustomAdapter(getContext(), snappyRecyclerView, HomeActivity.queue.getQueue());
    } else {
        customAdapter = new CustomAdapter(getContext(), snappyRecyclerView, new ArrayList<UnifiedTrack>());
    }
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
    snappyRecyclerView.setLayoutManager(linearLayoutManager);
    snappyRecyclerView.setItemAnimator(new DefaultItemAnimator());
    snappyRecyclerView.setAdapter(customAdapter);
    snappyRecyclerView.setActivity(homeActivity);
    snappyRecyclerView.addOnItemTouchListener(new ClickItemTouchListener(snappyRecyclerView) {

        @Override
        public boolean onClick(RecyclerView parent, View view, int position, long id) {
            return false;
        }

        @Override
        public boolean onLongClick(RecyclerView parent, View view, int position, long id) {
            if (homeActivity.isFullScreenEnabled) {
                homeActivity.isFullScreenEnabled = false;
                bottomContainer.setVisibility(View.VISIBLE);
                seekBarContainer.setVisibility(View.VISIBLE);
                toggleContainer.setVisibility(View.VISIBLE);
                spToolbar.setVisibility(View.VISIBLE);
                mCallback.onFullScreen();
            } else {
                homeActivity.isFullScreenEnabled = true;
                bottomContainer.setVisibility(View.GONE);
                seekBarContainer.setVisibility(View.GONE);
                toggleContainer.setVisibility(View.GONE);
                spToolbar.setVisibility(View.INVISIBLE);
                mCallback.onFullScreen();
            }
            return true;
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        }
    });
    cpb = (CustomProgressBar) view.findViewById(R.id.customProgress);
    smallPlayer.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.onSmallPlayerTouched();
        }
    });
    track = homeActivity.selectedTrack;
    localTrack = homeActivity.localSelectedTrack;
    if (homeActivity.streamSelected) {
        try {
            durationInMilliSec = track.getDuration();
        } catch (Exception e) {
        }
        if (track.getArtworkURL() != null) {
            Picasso.with(getActivity()).load(track.getArtworkURL()).resize(100, 100).into(selected_track_image);
        } else {
            selected_track_image.setImageResource(R.drawable.ic_default);
        }
        try {
            spTitleAB.setText(track.getTitle());
            selected_track_title.setText(track.getTitle());
            selected_track_artist.setText("");
            spArtistAB.setText("");
        } catch (Exception e) {
        }
    } else {
        try {
            durationInMilliSec = (int) localTrack.getDuration();
        } catch (Exception e) {
        }
        try {
            imgLoader.DisplayImage(localTrack.getPath(), selected_track_image);
        } catch (Exception e) {
        }
        try {
            spTitleAB.setText(localTrack.getTitle());
            selected_track_title.setText(localTrack.getTitle());
            selected_track_artist.setText(localTrack.getArtist());
            spArtistAB.setText(localTrack.getArtist());
        } catch (Exception e) {
        }
    }
    temp = getTime(durationInMilliSec);
    totalTime.setText(temp.first + ":" + temp.second);
    homeActivity.mWifi = homeActivity.connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    try {
        if (homeActivity.streamSelected) {
            if ((homeActivity.settings.isStreamOnlyOnWifiEnabled() && homeActivity.mWifi.isConnected()) || !homeActivity.settings.isStreamOnlyOnWifiEnabled()) {
                isPrepared = false;
                mMediaPlayer.reset();
                mMediaPlayer.setDataSource(track.getStreamURL() + "?client_id=" + Config.CLIENT_ID);
                mMediaPlayer.prepareAsync();
            } else {
                mMediaPlayer.pause();
                homeActivity.nextControllerClicked = true;
                mCallback.onComplete();
            }
        } else {
            isPrepared = false;
            mMediaPlayer.reset();
            File f = new File(localTrack.getPath());
            if (f.exists()) {
                mMediaPlayer.setDataSource(localTrack.getPath());
                mMediaPlayer.prepareAsync();
            } else {
                Toast.makeText(getContext(), "Error playing " + localTrack.getTitle() + ". Skipping to next track", Toast.LENGTH_SHORT).show();
                mMediaPlayer.pause();
                homeActivity.nextControllerClicked = true;
                mCallback.onComplete();
            }
        }
        bufferingIndicator.setVisibility(View.VISIBLE);
        mainTrackController.setVisibility(View.GONE);
    } catch (Exception e) {
        e.printStackTrace();
    }
    overflowMenuAB.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            PopupMenu popMenu = new PopupMenu(getContext(), overflowMenuAB);
            popMenu.getMenuInflater().inflate(R.menu.player_overflow_menu, popMenu.getMenu());
            popMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    if (item.getTitle().equals("Full Screen")) {
                        if (homeActivity.isFullScreenEnabled) {
                            homeActivity.isFullScreenEnabled = false;
                            bottomContainer.setVisibility(View.VISIBLE);
                            seekBarContainer.setVisibility(View.VISIBLE);
                            toggleContainer.setVisibility(View.VISIBLE);
                            spToolbar.setVisibility(View.VISIBLE);
                            mCallback.onFullScreen();
                        } else {
                            homeActivity.isFullScreenEnabled = true;
                            bottomContainer.setVisibility(View.GONE);
                            seekBarContainer.setVisibility(View.GONE);
                            toggleContainer.setVisibility(View.GONE);
                            spToolbar.setVisibility(View.INVISIBLE);
                            mCallback.onFullScreen();
                        }
                    } else if (item.getTitle().equals("Settings")) {
                        mCallback.onSettingsClicked();
                    } else if (item.getTitle().equals("Add to playlist")) {
                        UnifiedTrack ut = HomeActivity.queue.getQueue().get(HomeActivity.queueCurrentIndex);
                        mCallback.addCurrentSongtoPlaylist(ut);
                    }
                    return true;
                }
            });
            popMenu.show();
        }
    });
    player_controller.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isReplayIconVisible) {
                homeActivity.hasQueueEnded = true;
                mCallback.onComplete();
            } else {
                if (!pauseClicked) {
                    pauseClicked = true;
                }
                togglePlayPause();
            }
        }
    });
    mainTrackController.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isReplayIconVisible) {
                homeActivity.hasQueueEnded = true;
                mCallback.onComplete();
            } else {
                if (!pauseClicked) {
                    pauseClicked = true;
                }
                togglePlayPause();
            }
        }
    });
    nextTrackController.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mMediaPlayer.pause();
            homeActivity.nextControllerClicked = true;
            mCallback.onComplete();
        }
    });
    previousTrackController.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (homeActivity.queueCurrentIndex != 0) {
                mMediaPlayer.pause();
                mCallback.onPreviousTrack();
            }
        }
    });
    progressBar = (SeekBar) view.findViewById(R.id.progressBar);
    progressBar.setMax(durationInMilliSec);
    timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {

        public void run() {
            if (isPrepared && !isTracking && getActivity() != null) {
                getActivity().runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        float[] hsv = new float[3];
                        hsv[0] = homeActivity.seekBarColor;
                        hsv[1] = (float) 0.8;
                        hsv[2] = (float) 0.5;
                        progressBar.getProgressDrawable().setColorFilter(new PorterDuffColorFilter(Color.HSVToColor(hsv), PorterDuff.Mode.SRC_IN));
                        cpb.update();
                    }
                });
                try {
                    temp = getTime(mMediaPlayer.getCurrentPosition());
                    getActivity().runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            currTime.setText(temp.first + ":" + temp.second);
                        }
                    });
                    progressBar.setProgress(mMediaPlayer.getCurrentPosition());
                } catch (Exception e) {
                    Log.e("MEDIA", e.getMessage() + ":");
                }
            }
        }
    }, 0, 50);
    progressBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            temp = getTime(progress);
            getActivity().runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    currTime.setText(temp.first + ":" + temp.second);
                }
            });
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            isTracking = true;
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            mMediaPlayer.seekTo(seekBar.getProgress());
            if (mMediaPlayer.isPlaying())
                mMediaPlayer.start();
            isTracking = false;
        }
    });
    final Button mEndButton = new Button(getContext());
    mEndButton.setBackgroundColor(homeActivity.themeColor);
    mEndButton.setTextColor(Color.WHITE);
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {

        @Override
        public void run() {
            showCase = new ShowcaseView.Builder(getActivity()).blockAllTouches().singleShot(2).setStyle(R.style.CustomShowcaseTheme).useDecorViewAsParent().replaceEndButton(mEndButton).setContentTitlePaint(homeActivity.tp).setTarget(new ViewTarget(mVisualizerView.getId(), getActivity())).setContentTitle("The DNA").setContentText("The DNA of the currently playing song.").build();
            showCase.setButtonText("Next");
            showCase.setButtonPosition(homeActivity.lps);
            showCase.overrideButtonClick(new View.OnClickListener() {

                int count1 = -1;

                @Override
                public void onClick(View v) {
                    count1++;
                    switch(count1) {
                        case 0:
                            showCase.setTarget(new ViewTarget(mVisualizerView.getId(), getActivity()));
                            showCase.setContentTitle("The DNA");
                            showCase.setContentText("Swipe Left or Right to change Song." + "Long Press for fullscreen");
                            showCase.setButtonPosition(homeActivity.lps);
                            showCase.setButtonText("Next");
                            break;
                        case 1:
                            showCase.setTarget(new ViewTarget(R.id.toggleContainer, getActivity()));
                            showCase.setContentTitle("The Controls");
                            showCase.setContentText("Equalizer \n" + "Save DNA toggle\n" + "Add to Favourites \n" + "Queue");
                            showCase.setButtonPosition(homeActivity.lps);
                            showCase.setButtonText("Done");
                            break;
                        case 2:
                            showCase.setTarget(new ViewTarget(R.id.lyrics_icon, getActivity()));
                            showCase.setContentTitle("Lyrics");
                            showCase.setContentText("Get lyrics by tapping this icon");
                            showCase.setButtonPosition(homeActivity.lps);
                            showCase.setButtonText("Done");
                            break;
                        case 3:
                            showCase.hide();
                            break;
                    }
                }
            });
        }
    }, 500);
}
Also used : ArrayList(java.util.ArrayList) PorterDuffColorFilter(android.graphics.PorterDuffColorFilter) ViewTarget(com.github.amlcurran.showcaseview.targets.ViewTarget) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) CustomAdapter(com.sdsmdg.harjot.MusicDNA.snappyrecyclerview.CustomAdapter) DefaultItemAnimator(android.support.v7.widget.DefaultItemAnimator) DownloadThread(com.sdsmdg.harjot.MusicDNA.utilities.DownloadThread) TimerTask(java.util.TimerTask) Button(android.widget.Button) ClickItemTouchListener(com.sdsmdg.harjot.MusicDNA.clickitemtouchlistener.ClickItemTouchListener) SeekBar(android.widget.SeekBar) Canvas(android.graphics.Canvas) Handler(android.os.Handler) MenuItem(android.view.MenuItem) ImageView(android.widget.ImageView) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView) View(android.view.View) TextView(android.widget.TextView) AVLoadingIndicatorView(com.wang.avi.AVLoadingIndicatorView) VisualizerView(com.sdsmdg.harjot.MusicDNA.visualizers.VisualizerView) RecyclerView(android.support.v7.widget.RecyclerView) SnappyRecyclerView(com.sdsmdg.harjot.MusicDNA.snappyrecyclerview.SnappyRecyclerView) Timer(java.util.Timer) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) RecyclerView(android.support.v7.widget.RecyclerView) SnappyRecyclerView(com.sdsmdg.harjot.MusicDNA.snappyrecyclerview.SnappyRecyclerView) ImageLoader(com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader) File(java.io.File) PopupMenu(android.widget.PopupMenu)

Example 5 with ImageLoader

use of com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader in project MusicDNA by harjot-oberai.

the class RecentsFragment method onAttach.

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    try {
        imgLoader = new ImageLoader(context);
        mCallback = (recentsCallbackListener) context;
    } catch (ClassCastException e) {
        throw new ClassCastException(context.toString() + " must implement OnHeadlineSelectedListener");
    }
}
Also used : ImageLoader(com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader)

Aggregations

ImageLoader (com.sdsmdg.harjot.MusicDNA.imageloader.ImageLoader)13 Handler (android.os.Handler)2 RecyclerView (android.support.v7.widget.RecyclerView)2 View (android.view.View)2 Button (android.widget.Button)2 ImageView (android.widget.ImageView)2 TextView (android.widget.TextView)2 ShowcaseView (com.github.amlcurran.showcaseview.ShowcaseView)2 ViewTarget (com.github.amlcurran.showcaseview.targets.ViewTarget)2 UnifiedTrack (com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack)2 VisualizerView (com.sdsmdg.harjot.MusicDNA.visualizers.VisualizerView)2 Dialog (android.app.Dialog)1 ComponentName (android.content.ComponentName)1 IntentFilter (android.content.IntentFilter)1 ServiceConnection (android.content.ServiceConnection)1 PackageInfo (android.content.pm.PackageInfo)1 PackageManager (android.content.pm.PackageManager)1 Canvas (android.graphics.Canvas)1 PorterDuffColorFilter (android.graphics.PorterDuffColorFilter)1 ColorDrawable (android.graphics.drawable.ColorDrawable)1