+ * This technique can be used with an {@link android.app.Activity} class, not just
+ * {@link PreferenceActivity}.
+ */
+public abstract class AppCompatPreferenceActivity extends PreferenceActivity
+{
+ private AppCompatDelegate mDelegate;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState)
+ {
+ getDelegate().installViewFactory();
+ getDelegate().onCreate(savedInstanceState);
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState)
+ {
+ super.onPostCreate(savedInstanceState);
+ getDelegate().onPostCreate(savedInstanceState);
+ }
+
+ public ActionBar getSupportActionBar()
+ {
+ return getDelegate().getSupportActionBar();
+ }
+
+ public void setSupportActionBar(@Nullable Toolbar toolbar)
+ {
+ getDelegate().setSupportActionBar(toolbar);
+ }
+
+ @NonNull
+ @Override
+ public MenuInflater getMenuInflater()
+ {
+ return getDelegate().getMenuInflater();
+ }
+
+ @Override
+ public void setContentView(@LayoutRes int layoutResID)
+ {
+ getDelegate().setContentView(layoutResID);
+ }
+
+ @Override
+ public void setContentView(View view)
+ {
+ getDelegate().setContentView(view);
+ }
+
+ @Override
+ public void setContentView(View view, ViewGroup.LayoutParams params)
+ {
+ getDelegate().setContentView(view, params);
+ }
+
+ @Override
+ public void addContentView(View view, ViewGroup.LayoutParams params)
+ {
+ getDelegate().addContentView(view, params);
+ }
+
+ @Override
+ protected void onPostResume()
+ {
+ super.onPostResume();
+ getDelegate().onPostResume();
+ }
+
+ @Override
+ protected void onTitleChanged(CharSequence title, int color)
+ {
+ super.onTitleChanged(title, color);
+ getDelegate().setTitle(title);
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig)
+ {
+ super.onConfigurationChanged(newConfig);
+ getDelegate().onConfigurationChanged(newConfig);
+ }
+
+ @Override
+ protected void onStop()
+ {
+ super.onStop();
+ getDelegate().onStop();
+ }
+
+ @Override
+ protected void onDestroy()
+ {
+ super.onDestroy();
+ getDelegate().onDestroy();
+ }
+
+ public void invalidateOptionsMenu()
+ {
+ getDelegate().invalidateOptionsMenu();
+ }
+
+ private AppCompatDelegate getDelegate()
+ {
+ if (mDelegate == null)
+ {
+ mDelegate = AppCompatDelegate.create(this, null);
+ }
+ return mDelegate;
+ }
+}
diff --git a/app/src/main/java/com/mkulesh/onpc/widgets/MultilineCheckBoxPreference.java b/app/src/main/java/com/mkulesh/onpc/widgets/MultilineCheckBoxPreference.java
new file mode 100644
index 00000000..c1175f74
--- /dev/null
+++ b/app/src/main/java/com/mkulesh/onpc/widgets/MultilineCheckBoxPreference.java
@@ -0,0 +1,40 @@
+package com.mkulesh.onpc.widgets;
+
+import android.content.Context;
+import android.preference.CheckBoxPreference;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+public class MultilineCheckBoxPreference extends CheckBoxPreference
+{
+ public MultilineCheckBoxPreference(Context context, AttributeSet attrs)
+ {
+ super(context, attrs);
+ }
+
+ protected void onBindView(View view)
+ {
+ super.onBindView(view);
+ makeMultiline(view);
+ }
+
+ private void makeMultiline(View view)
+ {
+ if (view instanceof ViewGroup)
+ {
+ ViewGroup grp = (ViewGroup) view;
+ for (int index = 0; index < grp.getChildCount(); index++)
+ {
+ makeMultiline(grp.getChildAt(index));
+ }
+ }
+ else if (view instanceof TextView)
+ {
+ TextView t = (TextView) view;
+ t.setSingleLine(false);
+ t.setEllipsize(null);
+ }
+ }
+}
diff --git a/app/src/main/res/drawable-hdpi/cmd_next.png b/app/src/main/res/drawable-hdpi/cmd_next.png
new file mode 100644
index 00000000..db3ff93d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_next.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_pause.png b/app/src/main/res/drawable-hdpi/cmd_pause.png
new file mode 100644
index 00000000..b53e8a87
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_pause.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_play.png b/app/src/main/res/drawable-hdpi/cmd_play.png
new file mode 100644
index 00000000..d2d4ce02
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_play.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_previous.png b/app/src/main/res/drawable-hdpi/cmd_previous.png
new file mode 100644
index 00000000..fc812d4a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_previous.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_random.png b/app/src/main/res/drawable-hdpi/cmd_random.png
new file mode 100644
index 00000000..28981fde
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_random.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_repeat.png b/app/src/main/res/drawable-hdpi/cmd_repeat.png
new file mode 100644
index 00000000..a9b3422b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_repeat.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_return.png b/app/src/main/res/drawable-hdpi/cmd_return.png
new file mode 100644
index 00000000..c75fa122
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_return.png differ
diff --git a/app/src/main/res/drawable-hdpi/cmd_stop.png b/app/src/main/res/drawable-hdpi/cmd_stop.png
new file mode 100644
index 00000000..90d2809d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/cmd_stop.png differ
diff --git a/app/src/main/res/drawable-hdpi/device_connect.png b/app/src/main/res/drawable-hdpi/device_connect.png
new file mode 100644
index 00000000..9128643a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/device_connect.png differ
diff --git a/app/src/main/res/drawable-hdpi/device_disconnect.png b/app/src/main/res/drawable-hdpi/device_disconnect.png
new file mode 100644
index 00000000..03dea9df
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/device_disconnect.png differ
diff --git a/app/src/main/res/drawable-hdpi/media_item_folder.png b/app/src/main/res/drawable-hdpi/media_item_folder.png
new file mode 100644
index 00000000..6867dca0
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/media_item_folder.png differ
diff --git a/app/src/main/res/drawable-hdpi/media_item_music.png b/app/src/main/res/drawable-hdpi/media_item_music.png
new file mode 100644
index 00000000..2e8f09f8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/media_item_music.png differ
diff --git a/app/src/main/res/drawable-hdpi/media_item_play.png b/app/src/main/res/drawable-hdpi/media_item_play.png
new file mode 100644
index 00000000..6adb0678
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/media_item_play.png differ
diff --git a/app/src/main/res/drawable-hdpi/media_item_unknown.png b/app/src/main/res/drawable-hdpi/media_item_unknown.png
new file mode 100644
index 00000000..813b7102
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/media_item_unknown.png differ
diff --git a/app/src/main/res/drawable-hdpi/media_item_usb.png b/app/src/main/res/drawable-hdpi/media_item_usb.png
new file mode 100644
index 00000000..0488742d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/media_item_usb.png differ
diff --git a/app/src/main/res/drawable-hdpi/playlist_add.png b/app/src/main/res/drawable-hdpi/playlist_add.png
new file mode 100644
index 00000000..8f3a099c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/playlist_add.png differ
diff --git a/app/src/main/res/drawable-hdpi/playlist_move_from.png b/app/src/main/res/drawable-hdpi/playlist_move_from.png
new file mode 100644
index 00000000..42a51bff
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/playlist_move_from.png differ
diff --git a/app/src/main/res/drawable-hdpi/playlist_move_to.png b/app/src/main/res/drawable-hdpi/playlist_move_to.png
new file mode 100644
index 00000000..21ee8d3f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/playlist_move_to.png differ
diff --git a/app/src/main/res/drawable-hdpi/playlist_remove.png b/app/src/main/res/drawable-hdpi/playlist_remove.png
new file mode 100644
index 00000000..71bfd174
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/playlist_remove.png differ
diff --git a/app/src/main/res/drawable-hdpi/playlist_remove_all.png b/app/src/main/res/drawable-hdpi/playlist_remove_all.png
new file mode 100644
index 00000000..eb1be9eb
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/playlist_remove_all.png differ
diff --git a/app/src/main/res/drawable-hdpi/power_standby.png b/app/src/main/res/drawable-hdpi/power_standby.png
new file mode 100644
index 00000000..439bac83
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/power_standby.png differ
diff --git a/app/src/main/res/drawable-hdpi/selector_net.png b/app/src/main/res/drawable-hdpi/selector_net.png
new file mode 100644
index 00000000..c12df52e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/selector_net.png differ
diff --git a/app/src/main/res/drawable-hdpi/selector_usb_front.png b/app/src/main/res/drawable-hdpi/selector_usb_front.png
new file mode 100644
index 00000000..c5fcd805
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/selector_usb_front.png differ
diff --git a/app/src/main/res/drawable-hdpi/selector_usb_rear.png b/app/src/main/res/drawable-hdpi/selector_usb_rear.png
new file mode 100644
index 00000000..6aede29c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/selector_usb_rear.png differ
diff --git a/app/src/main/res/drawable-hdpi/volume_down.png b/app/src/main/res/drawable-hdpi/volume_down.png
new file mode 100644
index 00000000..aca47d8f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/volume_down.png differ
diff --git a/app/src/main/res/drawable-hdpi/volume_mute.png b/app/src/main/res/drawable-hdpi/volume_mute.png
new file mode 100644
index 00000000..624abdb8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/volume_mute.png differ
diff --git a/app/src/main/res/drawable-hdpi/volume_up.png b/app/src/main/res/drawable-hdpi/volume_up.png
new file mode 100644
index 00000000..3c12c895
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/volume_up.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_next.png b/app/src/main/res/drawable-mdpi/cmd_next.png
new file mode 100644
index 00000000..4a5c9c61
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_next.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_pause.png b/app/src/main/res/drawable-mdpi/cmd_pause.png
new file mode 100644
index 00000000..988247b9
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_pause.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_play.png b/app/src/main/res/drawable-mdpi/cmd_play.png
new file mode 100644
index 00000000..1c2836c8
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_play.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_previous.png b/app/src/main/res/drawable-mdpi/cmd_previous.png
new file mode 100644
index 00000000..f7e763fd
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_previous.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_random.png b/app/src/main/res/drawable-mdpi/cmd_random.png
new file mode 100644
index 00000000..e42e56be
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_random.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_repeat.png b/app/src/main/res/drawable-mdpi/cmd_repeat.png
new file mode 100644
index 00000000..5d67144e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_repeat.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_return.png b/app/src/main/res/drawable-mdpi/cmd_return.png
new file mode 100644
index 00000000..1ec19660
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_return.png differ
diff --git a/app/src/main/res/drawable-mdpi/cmd_stop.png b/app/src/main/res/drawable-mdpi/cmd_stop.png
new file mode 100644
index 00000000..bddd65c6
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/cmd_stop.png differ
diff --git a/app/src/main/res/drawable-mdpi/device_connect.png b/app/src/main/res/drawable-mdpi/device_connect.png
new file mode 100644
index 00000000..97f7b67a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/device_connect.png differ
diff --git a/app/src/main/res/drawable-mdpi/device_disconnect.png b/app/src/main/res/drawable-mdpi/device_disconnect.png
new file mode 100644
index 00000000..8bc9c01a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/device_disconnect.png differ
diff --git a/app/src/main/res/drawable-mdpi/media_item_folder.png b/app/src/main/res/drawable-mdpi/media_item_folder.png
new file mode 100644
index 00000000..07066ba0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/media_item_folder.png differ
diff --git a/app/src/main/res/drawable-mdpi/media_item_music.png b/app/src/main/res/drawable-mdpi/media_item_music.png
new file mode 100644
index 00000000..9ebce69a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/media_item_music.png differ
diff --git a/app/src/main/res/drawable-mdpi/media_item_play.png b/app/src/main/res/drawable-mdpi/media_item_play.png
new file mode 100644
index 00000000..717c6ec5
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/media_item_play.png differ
diff --git a/app/src/main/res/drawable-mdpi/media_item_unknown.png b/app/src/main/res/drawable-mdpi/media_item_unknown.png
new file mode 100644
index 00000000..23a2fd93
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/media_item_unknown.png differ
diff --git a/app/src/main/res/drawable-mdpi/media_item_usb.png b/app/src/main/res/drawable-mdpi/media_item_usb.png
new file mode 100644
index 00000000..166878dc
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/media_item_usb.png differ
diff --git a/app/src/main/res/drawable-mdpi/playlist_add.png b/app/src/main/res/drawable-mdpi/playlist_add.png
new file mode 100644
index 00000000..f092deb8
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/playlist_add.png differ
diff --git a/app/src/main/res/drawable-mdpi/playlist_move_from.png b/app/src/main/res/drawable-mdpi/playlist_move_from.png
new file mode 100644
index 00000000..722eec40
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/playlist_move_from.png differ
diff --git a/app/src/main/res/drawable-mdpi/playlist_move_to.png b/app/src/main/res/drawable-mdpi/playlist_move_to.png
new file mode 100644
index 00000000..2ff859ea
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/playlist_move_to.png differ
diff --git a/app/src/main/res/drawable-mdpi/playlist_remove.png b/app/src/main/res/drawable-mdpi/playlist_remove.png
new file mode 100644
index 00000000..5d8f51aa
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/playlist_remove.png differ
diff --git a/app/src/main/res/drawable-mdpi/playlist_remove_all.png b/app/src/main/res/drawable-mdpi/playlist_remove_all.png
new file mode 100644
index 00000000..7c3b985d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/playlist_remove_all.png differ
diff --git a/app/src/main/res/drawable-mdpi/power_standby.png b/app/src/main/res/drawable-mdpi/power_standby.png
new file mode 100644
index 00000000..54bf51d0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/power_standby.png differ
diff --git a/app/src/main/res/drawable-mdpi/selector_net.png b/app/src/main/res/drawable-mdpi/selector_net.png
new file mode 100644
index 00000000..a4e43d0b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/selector_net.png differ
diff --git a/app/src/main/res/drawable-mdpi/selector_usb_front.png b/app/src/main/res/drawable-mdpi/selector_usb_front.png
new file mode 100644
index 00000000..993b2f90
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/selector_usb_front.png differ
diff --git a/app/src/main/res/drawable-mdpi/selector_usb_rear.png b/app/src/main/res/drawable-mdpi/selector_usb_rear.png
new file mode 100644
index 00000000..4228af1d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/selector_usb_rear.png differ
diff --git a/app/src/main/res/drawable-mdpi/volume_down.png b/app/src/main/res/drawable-mdpi/volume_down.png
new file mode 100644
index 00000000..2dcf408f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/volume_down.png differ
diff --git a/app/src/main/res/drawable-mdpi/volume_mute.png b/app/src/main/res/drawable-mdpi/volume_mute.png
new file mode 100644
index 00000000..cf6f958e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/volume_mute.png differ
diff --git a/app/src/main/res/drawable-mdpi/volume_up.png b/app/src/main/res/drawable-mdpi/volume_up.png
new file mode 100644
index 00000000..286ff283
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/volume_up.png differ
diff --git a/app/src/main/res/drawable-nodpi/empty_cover.jpg b/app/src/main/res/drawable-nodpi/empty_cover.jpg
new file mode 100644
index 00000000..570302d2
Binary files /dev/null and b/app/src/main/res/drawable-nodpi/empty_cover.jpg differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_next.png b/app/src/main/res/drawable-xhdpi/cmd_next.png
new file mode 100644
index 00000000..3cb1d19d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_next.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_pause.png b/app/src/main/res/drawable-xhdpi/cmd_pause.png
new file mode 100644
index 00000000..82c023f7
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_pause.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_play.png b/app/src/main/res/drawable-xhdpi/cmd_play.png
new file mode 100644
index 00000000..729712aa
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_play.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_previous.png b/app/src/main/res/drawable-xhdpi/cmd_previous.png
new file mode 100644
index 00000000..4e18ac29
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_previous.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_random.png b/app/src/main/res/drawable-xhdpi/cmd_random.png
new file mode 100644
index 00000000..a3e63dba
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_random.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_repeat.png b/app/src/main/res/drawable-xhdpi/cmd_repeat.png
new file mode 100644
index 00000000..14d8855c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_repeat.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_return.png b/app/src/main/res/drawable-xhdpi/cmd_return.png
new file mode 100644
index 00000000..d3fa882f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_return.png differ
diff --git a/app/src/main/res/drawable-xhdpi/cmd_stop.png b/app/src/main/res/drawable-xhdpi/cmd_stop.png
new file mode 100644
index 00000000..f3811f3d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cmd_stop.png differ
diff --git a/app/src/main/res/drawable-xhdpi/device_connect.png b/app/src/main/res/drawable-xhdpi/device_connect.png
new file mode 100644
index 00000000..d61b2d53
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/device_connect.png differ
diff --git a/app/src/main/res/drawable-xhdpi/device_disconnect.png b/app/src/main/res/drawable-xhdpi/device_disconnect.png
new file mode 100644
index 00000000..700faa1b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/device_disconnect.png differ
diff --git a/app/src/main/res/drawable-xhdpi/media_item_folder.png b/app/src/main/res/drawable-xhdpi/media_item_folder.png
new file mode 100644
index 00000000..bdc8267f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/media_item_folder.png differ
diff --git a/app/src/main/res/drawable-xhdpi/media_item_music.png b/app/src/main/res/drawable-xhdpi/media_item_music.png
new file mode 100644
index 00000000..ad0e8e28
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/media_item_music.png differ
diff --git a/app/src/main/res/drawable-xhdpi/media_item_play.png b/app/src/main/res/drawable-xhdpi/media_item_play.png
new file mode 100644
index 00000000..3592804c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/media_item_play.png differ
diff --git a/app/src/main/res/drawable-xhdpi/media_item_unknown.png b/app/src/main/res/drawable-xhdpi/media_item_unknown.png
new file mode 100644
index 00000000..31dd232a
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/media_item_unknown.png differ
diff --git a/app/src/main/res/drawable-xhdpi/media_item_usb.png b/app/src/main/res/drawable-xhdpi/media_item_usb.png
new file mode 100644
index 00000000..336bd38d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/media_item_usb.png differ
diff --git a/app/src/main/res/drawable-xhdpi/playlist_add.png b/app/src/main/res/drawable-xhdpi/playlist_add.png
new file mode 100644
index 00000000..896e294f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/playlist_add.png differ
diff --git a/app/src/main/res/drawable-xhdpi/playlist_move_from.png b/app/src/main/res/drawable-xhdpi/playlist_move_from.png
new file mode 100644
index 00000000..25cd3837
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/playlist_move_from.png differ
diff --git a/app/src/main/res/drawable-xhdpi/playlist_move_to.png b/app/src/main/res/drawable-xhdpi/playlist_move_to.png
new file mode 100644
index 00000000..495c02a7
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/playlist_move_to.png differ
diff --git a/app/src/main/res/drawable-xhdpi/playlist_remove.png b/app/src/main/res/drawable-xhdpi/playlist_remove.png
new file mode 100644
index 00000000..8d2ad7d3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/playlist_remove.png differ
diff --git a/app/src/main/res/drawable-xhdpi/playlist_remove_all.png b/app/src/main/res/drawable-xhdpi/playlist_remove_all.png
new file mode 100644
index 00000000..c7fceab4
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/playlist_remove_all.png differ
diff --git a/app/src/main/res/drawable-xhdpi/power_standby.png b/app/src/main/res/drawable-xhdpi/power_standby.png
new file mode 100644
index 00000000..c2248bd6
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/power_standby.png differ
diff --git a/app/src/main/res/drawable-xhdpi/selector_net.png b/app/src/main/res/drawable-xhdpi/selector_net.png
new file mode 100644
index 00000000..6d6d2dc7
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/selector_net.png differ
diff --git a/app/src/main/res/drawable-xhdpi/selector_usb_front.png b/app/src/main/res/drawable-xhdpi/selector_usb_front.png
new file mode 100644
index 00000000..04e84a78
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/selector_usb_front.png differ
diff --git a/app/src/main/res/drawable-xhdpi/selector_usb_rear.png b/app/src/main/res/drawable-xhdpi/selector_usb_rear.png
new file mode 100644
index 00000000..b96aaf9f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/selector_usb_rear.png differ
diff --git a/app/src/main/res/drawable-xhdpi/volume_down.png b/app/src/main/res/drawable-xhdpi/volume_down.png
new file mode 100644
index 00000000..e58a45c9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/volume_down.png differ
diff --git a/app/src/main/res/drawable-xhdpi/volume_mute.png b/app/src/main/res/drawable-xhdpi/volume_mute.png
new file mode 100644
index 00000000..3b8fdd23
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/volume_mute.png differ
diff --git a/app/src/main/res/drawable-xhdpi/volume_up.png b/app/src/main/res/drawable-xhdpi/volume_up.png
new file mode 100644
index 00000000..bc9776f9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/volume_up.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_next.png b/app/src/main/res/drawable-xxhdpi/cmd_next.png
new file mode 100644
index 00000000..e87bf3d3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_next.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_pause.png b/app/src/main/res/drawable-xxhdpi/cmd_pause.png
new file mode 100644
index 00000000..e7fabb2e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_pause.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_play.png b/app/src/main/res/drawable-xxhdpi/cmd_play.png
new file mode 100644
index 00000000..7275ec9c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_play.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_previous.png b/app/src/main/res/drawable-xxhdpi/cmd_previous.png
new file mode 100644
index 00000000..15877eaa
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_previous.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_random.png b/app/src/main/res/drawable-xxhdpi/cmd_random.png
new file mode 100644
index 00000000..76074440
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_random.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_repeat.png b/app/src/main/res/drawable-xxhdpi/cmd_repeat.png
new file mode 100644
index 00000000..3f02ceca
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_repeat.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_return.png b/app/src/main/res/drawable-xxhdpi/cmd_return.png
new file mode 100644
index 00000000..09c368e2
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_return.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/cmd_stop.png b/app/src/main/res/drawable-xxhdpi/cmd_stop.png
new file mode 100644
index 00000000..879b8bfb
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/cmd_stop.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/device_connect.png b/app/src/main/res/drawable-xxhdpi/device_connect.png
new file mode 100644
index 00000000..05e24bab
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/device_connect.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/device_disconnect.png b/app/src/main/res/drawable-xxhdpi/device_disconnect.png
new file mode 100644
index 00000000..2be30994
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/device_disconnect.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/media_item_folder.png b/app/src/main/res/drawable-xxhdpi/media_item_folder.png
new file mode 100644
index 00000000..6df103ac
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/media_item_folder.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/media_item_music.png b/app/src/main/res/drawable-xxhdpi/media_item_music.png
new file mode 100644
index 00000000..2da65ea4
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/media_item_music.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/media_item_play.png b/app/src/main/res/drawable-xxhdpi/media_item_play.png
new file mode 100644
index 00000000..fe2636eb
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/media_item_play.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/media_item_unknown.png b/app/src/main/res/drawable-xxhdpi/media_item_unknown.png
new file mode 100644
index 00000000..a5f3fa62
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/media_item_unknown.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/media_item_usb.png b/app/src/main/res/drawable-xxhdpi/media_item_usb.png
new file mode 100644
index 00000000..84f009b5
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/media_item_usb.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/playlist_add.png b/app/src/main/res/drawable-xxhdpi/playlist_add.png
new file mode 100644
index 00000000..0b55cf18
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/playlist_add.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/playlist_move_from.png b/app/src/main/res/drawable-xxhdpi/playlist_move_from.png
new file mode 100644
index 00000000..eda4ef6f
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/playlist_move_from.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/playlist_move_to.png b/app/src/main/res/drawable-xxhdpi/playlist_move_to.png
new file mode 100644
index 00000000..3a66c535
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/playlist_move_to.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/playlist_remove.png b/app/src/main/res/drawable-xxhdpi/playlist_remove.png
new file mode 100644
index 00000000..99fa9ac5
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/playlist_remove.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/playlist_remove_all.png b/app/src/main/res/drawable-xxhdpi/playlist_remove_all.png
new file mode 100644
index 00000000..21002ea6
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/playlist_remove_all.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/power_standby.png b/app/src/main/res/drawable-xxhdpi/power_standby.png
new file mode 100644
index 00000000..33d09116
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/power_standby.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/selector_net.png b/app/src/main/res/drawable-xxhdpi/selector_net.png
new file mode 100644
index 00000000..64778cd7
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/selector_net.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/selector_usb_front.png b/app/src/main/res/drawable-xxhdpi/selector_usb_front.png
new file mode 100644
index 00000000..59f6b7be
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/selector_usb_front.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/selector_usb_rear.png b/app/src/main/res/drawable-xxhdpi/selector_usb_rear.png
new file mode 100644
index 00000000..1b5a560c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/selector_usb_rear.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/volume_down.png b/app/src/main/res/drawable-xxhdpi/volume_down.png
new file mode 100644
index 00000000..17af646e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/volume_down.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/volume_mute.png b/app/src/main/res/drawable-xxhdpi/volume_mute.png
new file mode 100644
index 00000000..a5419b2f
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/volume_mute.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/volume_up.png b/app/src/main/res/drawable-xxhdpi/volume_up.png
new file mode 100644
index 00000000..478d5dda
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/volume_up.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_next.png b/app/src/main/res/drawable-xxxhdpi/cmd_next.png
new file mode 100644
index 00000000..87d248a1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_next.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_pause.png b/app/src/main/res/drawable-xxxhdpi/cmd_pause.png
new file mode 100644
index 00000000..cd06fbb1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_pause.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_play.png b/app/src/main/res/drawable-xxxhdpi/cmd_play.png
new file mode 100644
index 00000000..6c627113
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_play.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_previous.png b/app/src/main/res/drawable-xxxhdpi/cmd_previous.png
new file mode 100644
index 00000000..5ed77297
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_previous.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_random.png b/app/src/main/res/drawable-xxxhdpi/cmd_random.png
new file mode 100644
index 00000000..8b188c53
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_random.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_repeat.png b/app/src/main/res/drawable-xxxhdpi/cmd_repeat.png
new file mode 100644
index 00000000..bf3c7dbd
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_repeat.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_return.png b/app/src/main/res/drawable-xxxhdpi/cmd_return.png
new file mode 100644
index 00000000..bc36ef0d
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_return.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/cmd_stop.png b/app/src/main/res/drawable-xxxhdpi/cmd_stop.png
new file mode 100644
index 00000000..52ea4de4
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/cmd_stop.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/device_connect.png b/app/src/main/res/drawable-xxxhdpi/device_connect.png
new file mode 100644
index 00000000..bc92f357
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/device_connect.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/device_disconnect.png b/app/src/main/res/drawable-xxxhdpi/device_disconnect.png
new file mode 100644
index 00000000..49347e4a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/device_disconnect.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/media_item_folder.png b/app/src/main/res/drawable-xxxhdpi/media_item_folder.png
new file mode 100644
index 00000000..485f5444
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/media_item_folder.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/media_item_music.png b/app/src/main/res/drawable-xxxhdpi/media_item_music.png
new file mode 100644
index 00000000..777ac0dd
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/media_item_music.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/media_item_play.png b/app/src/main/res/drawable-xxxhdpi/media_item_play.png
new file mode 100644
index 00000000..053bda83
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/media_item_play.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/media_item_unknown.png b/app/src/main/res/drawable-xxxhdpi/media_item_unknown.png
new file mode 100644
index 00000000..aea15e9b
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/media_item_unknown.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/media_item_usb.png b/app/src/main/res/drawable-xxxhdpi/media_item_usb.png
new file mode 100644
index 00000000..ce7be3f0
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/media_item_usb.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/playlist_add.png b/app/src/main/res/drawable-xxxhdpi/playlist_add.png
new file mode 100644
index 00000000..8c707361
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/playlist_add.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/playlist_move_from.png b/app/src/main/res/drawable-xxxhdpi/playlist_move_from.png
new file mode 100644
index 00000000..45ec7f91
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/playlist_move_from.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/playlist_move_to.png b/app/src/main/res/drawable-xxxhdpi/playlist_move_to.png
new file mode 100644
index 00000000..0a76b324
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/playlist_move_to.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/playlist_remove.png b/app/src/main/res/drawable-xxxhdpi/playlist_remove.png
new file mode 100644
index 00000000..3ca194f1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/playlist_remove.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/playlist_remove_all.png b/app/src/main/res/drawable-xxxhdpi/playlist_remove_all.png
new file mode 100644
index 00000000..20ca4b62
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/playlist_remove_all.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/power_standby.png b/app/src/main/res/drawable-xxxhdpi/power_standby.png
new file mode 100644
index 00000000..88adbd58
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/power_standby.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/selector_net.png b/app/src/main/res/drawable-xxxhdpi/selector_net.png
new file mode 100644
index 00000000..3ff50de4
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/selector_net.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/selector_usb_front.png b/app/src/main/res/drawable-xxxhdpi/selector_usb_front.png
new file mode 100644
index 00000000..ec9b7891
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/selector_usb_front.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/selector_usb_rear.png b/app/src/main/res/drawable-xxxhdpi/selector_usb_rear.png
new file mode 100644
index 00000000..5ec79916
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/selector_usb_rear.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/volume_down.png b/app/src/main/res/drawable-xxxhdpi/volume_down.png
new file mode 100644
index 00000000..9f858c4e
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/volume_down.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/volume_mute.png b/app/src/main/res/drawable-xxxhdpi/volume_mute.png
new file mode 100644
index 00000000..2b34e394
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/volume_mute.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/volume_up.png b/app/src/main/res/drawable-xxxhdpi/volume_up.png
new file mode 100644
index 00000000..f4217efd
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/volume_up.png differ
diff --git a/app/src/main/res/layout-land/monitor_fragment.xml b/app/src/main/res/layout-land/monitor_fragment.xml
new file mode 100644
index 00000000..3b38683e
--- /dev/null
+++ b/app/src/main/res/layout-land/monitor_fragment.xml
@@ -0,0 +1,171 @@
+