mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-11-04 09:13:00 +00:00 
			
		
		
		
	made new notification layout available for older platforms
This commit is contained in:
		@@ -205,9 +205,9 @@ public class BackgroundPlayer extends Service /*implements MediaPlayer.OnPrepare
 | 
				
			|||||||
                if(action.equals(ACTION_PLAYPAUSE)) {
 | 
					                if(action.equals(ACTION_PLAYPAUSE)) {
 | 
				
			||||||
                    if(mediaPlayer.isPlaying()) {
 | 
					                    if(mediaPlayer.isPlaying()) {
 | 
				
			||||||
                        mediaPlayer.pause();
 | 
					                        mediaPlayer.pause();
 | 
				
			||||||
                        note.contentView.setImageViewResource(R.id.backgroundPlayPause, R.drawable.ic_play_circle_filled_white_24dp);
 | 
					                        note.contentView.setImageViewResource(R.id.notificationPlayPause, R.drawable.ic_play_circle_filled_white_24dp);
 | 
				
			||||||
                        if(android.os.Build.VERSION.SDK_INT >=16){
 | 
					                        if(android.os.Build.VERSION.SDK_INT >=16){
 | 
				
			||||||
                            note.bigContentView.setImageViewResource(R.id.backgroundPlayPause, R.drawable.ic_play_circle_filled_white_24dp);
 | 
					                            note.bigContentView.setImageViewResource(R.id.notificationPlayPause, R.drawable.ic_play_circle_filled_white_24dp);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        noteMgr.notify(noteID, note);
 | 
					                        noteMgr.notify(noteID, note);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
@@ -215,9 +215,9 @@ public class BackgroundPlayer extends Service /*implements MediaPlayer.OnPrepare
 | 
				
			|||||||
                        //reacquire CPU lock after auto-releasing it on pause
 | 
					                        //reacquire CPU lock after auto-releasing it on pause
 | 
				
			||||||
                        mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
 | 
					                        mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
 | 
				
			||||||
                        mediaPlayer.start();
 | 
					                        mediaPlayer.start();
 | 
				
			||||||
                        note.contentView.setImageViewResource(R.id.backgroundPlayPause, R.drawable.ic_pause_white_24dp);
 | 
					                        note.contentView.setImageViewResource(R.id.notificationPlayPause, R.drawable.ic_pause_white_24dp);
 | 
				
			||||||
                        if(android.os.Build.VERSION.SDK_INT >=16){
 | 
					                        if(android.os.Build.VERSION.SDK_INT >=16){
 | 
				
			||||||
                            note.bigContentView.setImageViewResource(R.id.backgroundPlayPause, R.drawable.ic_pause_white_24dp);
 | 
					                            note.bigContentView.setImageViewResource(R.id.notificationPlayPause, R.drawable.ic_pause_white_24dp);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        noteMgr.notify(noteID, note);
 | 
					                        noteMgr.notify(noteID, note);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
@@ -275,11 +275,13 @@ public class BackgroundPlayer extends Service /*implements MediaPlayer.OnPrepare
 | 
				
			|||||||
            */
 | 
					            */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //build intent to return to video, on tapping notification
 | 
					            //build intent to return to video, on tapping notification
 | 
				
			||||||
            Intent openDetailView = new Intent(getApplicationContext(),
 | 
					            Intent openDetailViewIntent = new Intent(getApplicationContext(),
 | 
				
			||||||
                    VideoItemDetailActivity.class);
 | 
					                    VideoItemDetailActivity.class);
 | 
				
			||||||
            openDetailView.putExtra(VideoItemDetailFragment.STREAMING_SERVICE, serviceId);
 | 
					            openDetailViewIntent.putExtra(VideoItemDetailFragment.STREAMING_SERVICE, serviceId);
 | 
				
			||||||
            openDetailView.putExtra(VideoItemDetailFragment.VIDEO_URL, webUrl);
 | 
					            openDetailViewIntent.putExtra(VideoItemDetailFragment.VIDEO_URL, webUrl);
 | 
				
			||||||
            openDetailView.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 | 
					            openDetailViewIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 | 
				
			||||||
 | 
					            PendingIntent openDetailView = PendingIntent.getActivity(owner, noteID,
 | 
				
			||||||
 | 
					                    openDetailViewIntent, PendingIntent.FLAG_UPDATE_CURRENT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            noteBuilder
 | 
					            noteBuilder
 | 
				
			||||||
                    .setOngoing(true)
 | 
					                    .setOngoing(true)
 | 
				
			||||||
@@ -291,64 +293,29 @@ public class BackgroundPlayer extends Service /*implements MediaPlayer.OnPrepare
 | 
				
			|||||||
                            String.format(res.getString(
 | 
					                            String.format(res.getString(
 | 
				
			||||||
                                    R.string.background_player_time_text), title))
 | 
					                                    R.string.background_player_time_text), title))
 | 
				
			||||||
                    .setContentIntent(PendingIntent.getActivity(getApplicationContext(),
 | 
					                    .setContentIntent(PendingIntent.getActivity(getApplicationContext(),
 | 
				
			||||||
                            noteID, openDetailView,
 | 
					                            noteID, openDetailViewIntent,
 | 
				
			||||||
                            PendingIntent.FLAG_UPDATE_CURRENT));
 | 
					                            PendingIntent.FLAG_UPDATE_CURRENT));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (android.os.Build.VERSION.SDK_INT < 21) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                NotificationCompat.Action playButton = new NotificationCompat.Action.Builder
 | 
					 | 
				
			||||||
                        (R.drawable.ic_play_arrow_white_48dp,
 | 
					 | 
				
			||||||
                                res.getString(R.string.play_btn_text), playPI).build();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                noteBuilder
 | 
					 | 
				
			||||||
                        .setContentTitle(title)
 | 
					 | 
				
			||||||
                                //really? Id like to put something more helpful here.
 | 
					 | 
				
			||||||
                                //was more of a placeholder than anything else. -medavox
 | 
					 | 
				
			||||||
                                //.setContentText("NewPipe is playing in the background")
 | 
					 | 
				
			||||||
                        .setContentText(channelName)
 | 
					 | 
				
			||||||
                                //.setAutoCancel(!mediaPlayer.isPlaying())
 | 
					 | 
				
			||||||
                        .setDeleteIntent(stopPI)
 | 
					 | 
				
			||||||
                                //doesn't fit with Notification.MediaStyle
 | 
					 | 
				
			||||||
                                //.setProgress(vidLength, 0, false)
 | 
					 | 
				
			||||||
                        .setLargeIcon(videoThumbnail)
 | 
					 | 
				
			||||||
                        .addAction(playButton);
 | 
					 | 
				
			||||||
                        //.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
 | 
					 | 
				
			||||||
                        //.setLargeIcon(cover)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                //is wrapping this in an SDK version check really necessary,
 | 
					 | 
				
			||||||
                // if we're using NotificationCompat?
 | 
					 | 
				
			||||||
                // the compat libraries should handle this, right? -medavox
 | 
					 | 
				
			||||||
                if (android.os.Build.VERSION.SDK_INT >= 16)
 | 
					 | 
				
			||||||
                    noteBuilder.setPriority(Notification.PRIORITY_LOW);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                noteBuilder.setStyle(new NotificationCompat.MediaStyle()
 | 
					 | 
				
			||||||
                        //.setMediaSession(mMediaSession.getSessionToken())
 | 
					 | 
				
			||||||
                        .setShowActionsInCompactView(new int[]{0})
 | 
					 | 
				
			||||||
                        .setShowCancelButton(true)
 | 
					 | 
				
			||||||
                        .setCancelButtonIntent(stopPI));
 | 
					 | 
				
			||||||
                if (videoThumbnail != null) {
 | 
					 | 
				
			||||||
                    noteBuilder.setLargeIcon(videoThumbnail);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                note = noteBuilder.build();
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
            RemoteViews view =
 | 
					            RemoteViews view =
 | 
				
			||||||
                    new RemoteViews(BuildConfig.APPLICATION_ID, R.layout.player_notification);
 | 
					                    new RemoteViews(BuildConfig.APPLICATION_ID, R.layout.player_notification);
 | 
				
			||||||
                view.setImageViewBitmap(R.id.backgroundCover, videoThumbnail);
 | 
					            view.setImageViewBitmap(R.id.notificationCover, videoThumbnail);
 | 
				
			||||||
                view.setTextViewText(R.id.backgroundSongName, title);
 | 
					            view.setTextViewText(R.id.notificationSongName, title);
 | 
				
			||||||
                view.setTextViewText(R.id.backgroundArtist, channelName);
 | 
					            view.setTextViewText(R.id.notificationArtist, channelName);
 | 
				
			||||||
                view.setOnClickPendingIntent(R.id.backgroundStop, stopPI);
 | 
					            view.setOnClickPendingIntent(R.id.notificationStop, stopPI);
 | 
				
			||||||
                view.setOnClickPendingIntent(R.id.backgroundPlayPause, playPI);
 | 
					            view.setOnClickPendingIntent(R.id.notificationPlayPause, playPI);
 | 
				
			||||||
 | 
					            view.setOnClickPendingIntent(R.id.notificationBackgroundButton, openDetailView);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //possibly found the expandedView problem,
 | 
					            //possibly found the expandedView problem,
 | 
				
			||||||
            //but can't test it as I don't have a 5.0 device. -medavox
 | 
					            //but can't test it as I don't have a 5.0 device. -medavox
 | 
				
			||||||
            RemoteViews expandedView =
 | 
					            RemoteViews expandedView =
 | 
				
			||||||
                    new RemoteViews(BuildConfig.APPLICATION_ID, R.layout.player_notification_expanded);
 | 
					                    new RemoteViews(BuildConfig.APPLICATION_ID, R.layout.player_notification_expanded);
 | 
				
			||||||
                expandedView.setImageViewBitmap(R.id.backgroundCover, videoThumbnail);
 | 
					            expandedView.setImageViewBitmap(R.id.notificationCover, videoThumbnail);
 | 
				
			||||||
                expandedView.setTextViewText(R.id.backgroundSongName, title);
 | 
					            expandedView.setTextViewText(R.id.notificationSongName, title);
 | 
				
			||||||
                expandedView.setTextViewText(R.id.backgroundArtist, channelName);
 | 
					            expandedView.setTextViewText(R.id.notificationArtist, channelName);
 | 
				
			||||||
                expandedView.setOnClickPendingIntent(R.id.backgroundStop, stopPI);
 | 
					            expandedView.setOnClickPendingIntent(R.id.notificationStop, stopPI);
 | 
				
			||||||
                expandedView.setOnClickPendingIntent(R.id.backgroundPlayPause, playPI);
 | 
					            expandedView.setOnClickPendingIntent(R.id.notificationPlayPause, playPI);
 | 
				
			||||||
 | 
					            expandedView.setOnClickPendingIntent(R.id.notificationBackgroundButton, openDetailView);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            noteBuilder.setCategory(Notification.CATEGORY_TRANSPORT);
 | 
					            noteBuilder.setCategory(Notification.CATEGORY_TRANSPORT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -358,7 +325,7 @@ public class BackgroundPlayer extends Service /*implements MediaPlayer.OnPrepare
 | 
				
			|||||||
            note = noteBuilder.build();
 | 
					            note = noteBuilder.build();
 | 
				
			||||||
            note.contentView = view;
 | 
					            note.contentView = view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //todo: This never shows up. I was not able to figure out why:
 | 
					            if (android.os.Build.VERSION.SDK_INT > 16) {
 | 
				
			||||||
                note.bigContentView = expandedView;
 | 
					                note.bigContentView = expandedView;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
					<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
    android:id="@+id/content"
 | 
					    android:id="@+id/content"
 | 
				
			||||||
    android:layout_width="fill_parent"
 | 
					    android:layout_width="fill_parent"
 | 
				
			||||||
@@ -10,8 +10,20 @@
 | 
				
			|||||||
    android:background="@color/background_notification_color"
 | 
					    android:background="@color/background_notification_color"
 | 
				
			||||||
    tools:targetApi="jelly_bean">
 | 
					    tools:targetApi="jelly_bean">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <Button
 | 
				
			||||||
 | 
					        android:id="@+id/notificationBackgroundButton"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="64dp"
 | 
				
			||||||
 | 
					        android:background="@android:color/transparent"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <LinearLayout
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="64dp"
 | 
				
			||||||
 | 
					        android:gravity="center_vertical"
 | 
				
			||||||
 | 
					        android:orientation="horizontal">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ImageView
 | 
					        <ImageView
 | 
				
			||||||
        android:id="@+id/backgroundCover"
 | 
					            android:id="@+id/notificationCover"
 | 
				
			||||||
            android:layout_width="64dp"
 | 
					            android:layout_width="64dp"
 | 
				
			||||||
            android:layout_height="64dp"
 | 
					            android:layout_height="64dp"
 | 
				
			||||||
            android:src="@drawable/dummy_thumbnail"
 | 
					            android:src="@drawable/dummy_thumbnail"
 | 
				
			||||||
@@ -25,7 +37,7 @@
 | 
				
			|||||||
            android:orientation="vertical" >
 | 
					            android:orientation="vertical" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
            android:id="@+id/backgroundSongName"
 | 
					                android:id="@+id/notificationSongName"
 | 
				
			||||||
                style="@android:style/TextAppearance.StatusBar.EventContent.Title"
 | 
					                style="@android:style/TextAppearance.StatusBar.EventContent.Title"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
@@ -34,7 +46,7 @@
 | 
				
			|||||||
                android:text="title" />
 | 
					                android:text="title" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
            android:id="@+id/backgroundArtist"
 | 
					                android:id="@+id/notificationArtist"
 | 
				
			||||||
                style="@android:style/TextAppearance.StatusBar.EventContent"
 | 
					                style="@android:style/TextAppearance.StatusBar.EventContent"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
@@ -44,7 +56,7 @@
 | 
				
			|||||||
        </LinearLayout>
 | 
					        </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ImageButton
 | 
					        <ImageButton
 | 
				
			||||||
        android:id="@+id/backgroundPlayPause"
 | 
					            android:id="@+id/notificationPlayPause"
 | 
				
			||||||
            android:layout_width="40dp"
 | 
					            android:layout_width="40dp"
 | 
				
			||||||
            android:layout_height="40dp"
 | 
					            android:layout_height="40dp"
 | 
				
			||||||
            android:layout_margin="5dp"
 | 
					            android:layout_margin="5dp"
 | 
				
			||||||
@@ -54,7 +66,7 @@
 | 
				
			|||||||
            android:src="@drawable/ic_pause_white_24dp" />
 | 
					            android:src="@drawable/ic_pause_white_24dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ImageButton
 | 
					        <ImageButton
 | 
				
			||||||
        android:id="@+id/backgroundStop"
 | 
					            android:id="@+id/notificationStop"
 | 
				
			||||||
            android:layout_width="40dp"
 | 
					            android:layout_width="40dp"
 | 
				
			||||||
            android:layout_height="40dp"
 | 
					            android:layout_height="40dp"
 | 
				
			||||||
            android:layout_margin="5dp"
 | 
					            android:layout_margin="5dp"
 | 
				
			||||||
@@ -64,3 +76,6 @@
 | 
				
			|||||||
            android:src="@drawable/ic_close_white_24dp" />
 | 
					            android:src="@drawable/ic_close_white_24dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</RelativeLayout>
 | 
				
			||||||
@@ -8,8 +8,14 @@
 | 
				
			|||||||
    android:background="@color/background_notification_color"
 | 
					    android:background="@color/background_notification_color"
 | 
				
			||||||
    tools:targetApi="jelly_bean" >
 | 
					    tools:targetApi="jelly_bean" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <Button
 | 
				
			||||||
 | 
					        android:id="@+id/notificationBackgroundButton"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="128dp"
 | 
				
			||||||
 | 
					        android:background="@android:color/transparent"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <ImageView
 | 
					    <ImageView
 | 
				
			||||||
        android:id="@+id/backgroundCover"
 | 
					        android:id="@+id/notificationCover"
 | 
				
			||||||
        android:layout_width="128dp"
 | 
					        android:layout_width="128dp"
 | 
				
			||||||
        android:layout_height="128dp"
 | 
					        android:layout_height="128dp"
 | 
				
			||||||
        android:layout_marginRight="8dp"
 | 
					        android:layout_marginRight="8dp"
 | 
				
			||||||
@@ -19,13 +25,13 @@
 | 
				
			|||||||
    <LinearLayout
 | 
					    <LinearLayout
 | 
				
			||||||
        android:layout_width="fill_parent"
 | 
					        android:layout_width="fill_parent"
 | 
				
			||||||
        android:layout_height="fill_parent"
 | 
					        android:layout_height="fill_parent"
 | 
				
			||||||
        android:layout_above="@+id/backgroundButtons"
 | 
					        android:layout_above="@+id/notificationButtons"
 | 
				
			||||||
        android:layout_toRightOf="@+id/backgroundCover"
 | 
					        android:layout_toRightOf="@+id/notificationCover"
 | 
				
			||||||
        android:gravity="center_vertical"
 | 
					        android:gravity="center_vertical"
 | 
				
			||||||
        android:orientation="vertical" >
 | 
					        android:orientation="vertical" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
            android:id="@+id/backgroundSongName"
 | 
					            android:id="@+id/notificationSongName"
 | 
				
			||||||
            style="@android:style/TextAppearance.StatusBar.EventContent.Title"
 | 
					            style="@android:style/TextAppearance.StatusBar.EventContent.Title"
 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
@@ -35,7 +41,7 @@
 | 
				
			|||||||
            android:text="title" />
 | 
					            android:text="title" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
            android:id="@+id/backgroundArtist"
 | 
					            android:id="@+id/notificationArtist"
 | 
				
			||||||
            style="@android:style/TextAppearance.StatusBar.EventContent"
 | 
					            style="@android:style/TextAppearance.StatusBar.EventContent"
 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
@@ -45,7 +51,7 @@
 | 
				
			|||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <ImageButton
 | 
					    <ImageButton
 | 
				
			||||||
        android:id="@+id/backgroundStop"
 | 
					        android:id="@+id/notificationStop"
 | 
				
			||||||
        android:layout_width="30dp"
 | 
					        android:layout_width="30dp"
 | 
				
			||||||
        android:layout_height="30dp"
 | 
					        android:layout_height="30dp"
 | 
				
			||||||
        android:layout_alignParentRight="true"
 | 
					        android:layout_alignParentRight="true"
 | 
				
			||||||
@@ -56,16 +62,16 @@
 | 
				
			|||||||
        android:src="@drawable/ic_close_white_24dp" />
 | 
					        android:src="@drawable/ic_close_white_24dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <RelativeLayout
 | 
					    <RelativeLayout
 | 
				
			||||||
        android:id="@+id/backgroundButtons"
 | 
					        android:id="@+id/notificationButtons"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="50dp"
 | 
					        android:layout_height="50dp"
 | 
				
			||||||
        android:layout_alignBottom="@id/backgroundCover"
 | 
					        android:layout_alignBottom="@id/notificationCover"
 | 
				
			||||||
        android:layout_alignParentRight="true"
 | 
					        android:layout_alignParentRight="true"
 | 
				
			||||||
        android:layout_toRightOf="@+id/backgroundCover"
 | 
					        android:layout_toRightOf="@+id/notificationCover"
 | 
				
			||||||
        android:orientation="horizontal" >
 | 
					        android:orientation="horizontal" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ImageButton
 | 
					        <ImageButton
 | 
				
			||||||
            android:id="@+id/backgroundPlayPause"
 | 
					            android:id="@+id/notificationPlayPause"
 | 
				
			||||||
            android:layout_width="40dp"
 | 
					            android:layout_width="40dp"
 | 
				
			||||||
            android:layout_height="40dp"
 | 
					            android:layout_height="40dp"
 | 
				
			||||||
            android:background="#00ffffff"
 | 
					            android:background="#00ffffff"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user