android:id="@+id/menu_audio_player_ringtone"
android:showAsAction="never"
android:title="@string/context_menu_use_as_ringtone"/>
+ <item
+ android:id="@+id/menu_audio_player_delete"
+ android:showAsAction="never"
+ android:title="@string/context_menu_delete"/>
</menu>
*/
public class DeleteDialog extends DialogFragment {
+ public interface DeleteDialogCallback {
+ public void onDelete(long[] id);
+ }
+
/**
* The item(s) to delete
*/
mFetcher.removeFromCache(key);
// Delete the selected item(s)
MusicUtils.deleteTracks(getActivity(), mItemList);
+ if (getActivity() instanceof DeleteDialogCallback) {
+ ((DeleteDialogCallback)getActivity()).onDelete(mItemList);
+ }
dialog.dismiss();
}
}).setNegativeButton(R.string.cancel, new OnClickListener() {
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.Window;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.andrew.apollo.adapters.PagerAdapter;
import com.andrew.apollo.cache.ImageFetcher;
import com.andrew.apollo.ui.fragments.QueueFragment;
+import com.andrew.apollo.menu.DeleteDialog;
import com.andrew.apollo.utils.ApolloUtils;
import com.andrew.apollo.utils.MusicUtils;
import com.andrew.apollo.utils.MusicUtils.ServiceToken;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public class AudioPlayerActivity extends FragmentActivity implements ServiceConnection,
- OnSeekBarChangeListener {
+ OnSeekBarChangeListener, DeleteDialog.DeleteDialogCallback {
// Message to refresh the time
private static final int REFRESH_TIME = 1;
// Settings
NavUtils.openSettings(this);
return true;
+ case R.id.menu_audio_player_delete:
+ // Delete current song
+ DeleteDialog.newInstance(MusicUtils.getTrackName(), new long[] {
+ MusicUtils.getCurrentAudioId()
+ }, null).show(getSupportFragmentManager(), "DeleteDialog");
+ return true;
default:
break;
}
return super.onOptionsItemSelected(item);
}
+ @Override
+ public void onDelete(long[] ids) {
+ ((QueueFragment)mPagerAdapter.getFragment(0)).refreshQueue();
+ if (MusicUtils.getQueue().length == 0) {
+ NavUtils.goHome(this);
+ }
+ }
+
/**
* {@inheritDoc}
*/