aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-08-30 17:12:55 -0700
committerScott Jackson <daneren2005@gmail.com>2016-08-30 17:12:55 -0700
commitef727be89ef69f044efec9993f21c4ddac069bab (patch)
tree3f456bc775612d4025b1d1ec502aa76861d8e3a9 /app
parenta279101ad307ac2c199f31d85aa31533882b483c (diff)
downloaddsub-ef727be89ef69f044efec9993f21c4ddac069bab.tar.gz
dsub-ef727be89ef69f044efec9993f21c4ddac069bab.tar.bz2
dsub-ef727be89ef69f044efec9993f21c4ddac069bab.zip
Fixes #731: Work around for RecyclerView constantly loading entire adapter instead of just what was visible in landscape
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/view/MyViewFlipper.java53
-rw-r--r--app/src/main/res/layout-land/download.xml248
-rw-r--r--app/src/main/res/layout-large-land/download.xml236
-rw-r--r--app/src/main/res/layout-port/download.xml4
4 files changed, 231 insertions, 310 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/view/MyViewFlipper.java b/app/src/main/java/github/daneren2005/dsub/view/MyViewFlipper.java
deleted file mode 100644
index 26a3de08..00000000
--- a/app/src/main/java/github/daneren2005/dsub/view/MyViewFlipper.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- This file is part of Subsonic.
-
- Subsonic is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- Subsonic is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright 2009 (C) Sindre Mehus
- */
-package github.daneren2005.dsub.view;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.ViewFlipper;
-
-/**
- * Work-around for Android Issue 6191 (http://code.google.com/p/android/issues/detail?id=6191)
- *
- * @author Sindre Mehus
- * @version $Id$
- */
-public class MyViewFlipper extends ViewFlipper {
-
- public MyViewFlipper(Context context) {
- super(context);
- }
-
- public MyViewFlipper(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
-
- @Override
- protected void onDetachedFromWindow() {
- try {
- super.onDetachedFromWindow();
- }
- catch (IllegalArgumentException e) {
- // Call stopFlipping() in order to kick off updateRunning()
- stopFlipping();
- }
- }
-}
-
diff --git a/app/src/main/res/layout-land/download.xml b/app/src/main/res/layout-land/download.xml
index 1bae4ae2..894ae62e 100644
--- a/app/src/main/res/layout-land/download.xml
+++ b/app/src/main/res/layout-land/download.xml
@@ -1,134 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/download_layout_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/download_layout"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
-
- <LinearLayout android:orientation="horizontal"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/download_layout"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ViewFlipper
+ android:id="@+id/download_playlist_flipper"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+
+ <github.daneren2005.dsub.view.RecyclingImageView
+ android:id="@+id/download_album_art_image"
+ android:src="@drawable/unknown_album_large"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:scaleType="fitCenter"/>
+
+ <include layout="@layout/download_playlist"/>
+
+ </ViewFlipper>
+
+ <RelativeLayout
+ android:id="@+id/download_control_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="@android:color/transparent">
+
+ <LinearLayout
+ android:id="@+id/download_other_controls_wrapper"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_above="@+id/download_song_title">
+
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/download_other_controls_layout"
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal">
+
+ <ImageButton
+ android:id="@+id/download_rating_bad"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/rating_bad"/>
+
+ <ImageButton
+ android:id="@+id/download_star"
+ style="@style/DownloadActionImageButton"
+ android:src="@android:drawable/star_big_off"/>
+
+ <ImageButton
+ android:id="@+id/download_playback_speed"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/playback_speed"/>
+
+ <ImageButton
+ android:id="@+id/download_bookmark"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/bookmark"/>
+
+ <ImageButton
+ android:id="@+id/download_rating_good"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/rating_good"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/download_song_title"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginLeft="12dip"
+ android:layout_marginRight="12dip"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:gravity="center_horizontal"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="?android:textColorPrimary"
+ android:layout_above="@+id/download_status"/>
+
+ <TextView
+ android:id="@+id/download_status"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:layout_marginBottom="8dip"
+ android:layout_marginLeft="12dip"
+ android:layout_marginRight="12dip"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:textColorSecondary"
+ android:layout_above="@+id/download_media_buttons_wrapper"/>
+
+ <LinearLayout
+ android:id="@+id/download_media_buttons_wrapper"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/download_slider_wrapper">
+
+ <include layout="@layout/download_media_buttons"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/download_slider_wrapper"
android:layout_width="fill_parent"
- android:layout_height="0dip"
- android:layout_weight="1">
-
- <github.daneren2005.dsub.view.MyViewFlipper
- android:id="@+id/download_playlist_flipper"
- android:layout_width="0dp"
- android:layout_height="fill_parent"
- android:layout_weight="1">
-
- <github.daneren2005.dsub.view.RecyclingImageView
- android:id="@+id/download_album_art_image"
- android:src="@drawable/unknown_album_large"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- android:scaleType="fitCenter"/>
-
- <include layout="@layout/download_playlist"/>
-
- </github.daneren2005.dsub.view.MyViewFlipper>
-
- <RelativeLayout android:orientation="vertical"
- android:id="@+id/download_control_layout"
- android:layout_width="0dp"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- android:background="@android:color/transparent">
-
- <LinearLayout
- android:id="@+id/download_other_controls_wrapper"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_above="@+id/download_song_title">
-
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/download_other_controls_layout"
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal">
-
- <ImageButton
- android:id="@+id/download_rating_bad"
- style="@style/DownloadActionImageButton"
- android:src="?attr/rating_bad"/>
-
- <ImageButton
- android:id="@+id/download_star"
- style="@style/DownloadActionImageButton"
- android:src="@android:drawable/star_big_off"/>
-
- <ImageButton
- android:id="@+id/download_playback_speed"
- style="@style/DownloadActionImageButton"
- android:src="?attr/playback_speed"/>
-
- <ImageButton
- android:id="@+id/download_bookmark"
- style="@style/DownloadActionImageButton"
- android:src="?attr/bookmark"/>
-
- <ImageButton
- android:id="@+id/download_rating_good"
- style="@style/DownloadActionImageButton"
- android:src="?attr/rating_good"/>
- </LinearLayout>
- </LinearLayout>
-
- <TextView
- android:id="@+id/download_song_title"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_marginLeft="12dip"
- android:layout_marginRight="12dip"
- android:singleLine="true"
- android:ellipsize="end"
- android:gravity="center_horizontal"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:textColorPrimary"
- android:layout_above="@+id/download_status"/>
-
- <TextView
- android:id="@+id/download_status"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:layout_marginBottom="8dip"
- android:layout_marginLeft="12dip"
- android:layout_marginRight="12dip"
- android:singleLine="true"
- android:ellipsize="end"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:textColorSecondary"
- android:layout_above="@+id/download_media_buttons_wrapper"/>
-
- <LinearLayout
- android:id="@+id/download_media_buttons_wrapper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_above="@+id/download_slider_wrapper">
-
- <include layout="@layout/download_media_buttons"/>
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/download_slider_wrapper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true">
-
- <include layout="@layout/download_slider"/>
- </LinearLayout>
-
- </RelativeLayout>
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true">
+ <include layout="@layout/download_slider"/>
</LinearLayout>
- </LinearLayout>
-</FrameLayout>
+
+ </RelativeLayout>
+
+</LinearLayout>
diff --git a/app/src/main/res/layout-large-land/download.xml b/app/src/main/res/layout-large-land/download.xml
index 339a02a9..cf5ef571 100644
--- a/app/src/main/res/layout-large-land/download.xml
+++ b/app/src/main/res/layout-large-land/download.xml
@@ -1,135 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/download_layout_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/download_layout"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
-
- <LinearLayout android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="0dip"
- android:layout_weight="1">
-
- <github.daneren2005.dsub.view.RecyclingImageView
- android:id="@+id/download_album_art_image"
- android:src="@drawable/unknown_album_large"
- android:layout_width="0dp"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- android:scaleType="fitCenter"/>
-
- <RelativeLayout android:orientation="vertical"
- android:id="@+id/download_control_layout"
- android:layout_width="0dp"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- android:background="@android:color/transparent">
-
- <github.daneren2005.dsub.view.MyViewFlipper
- android:id="@+id/download_playlist_flipper"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_above="@+id/download_song_title">
-
- <RelativeLayout
- android:id="@+id/download_other_controls_wrapper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:orientation="vertical">
-
- <LinearLayout
- android:id="@+id/download_other_controls_layout"
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_alignParentBottom="true">
-
- <ImageButton
- android:id="@+id/download_rating_bad"
- style="@style/DownloadActionImageButton"
- android:src="?attr/rating_bad"/>
-
- <ImageButton
- android:id="@+id/download_star"
- style="@style/DownloadActionImageButton"
- android:src="@android:drawable/star_big_off"/>
-
- <ImageButton
- android:id="@+id/download_playback_speed"
- style="@style/DownloadActionImageButton"
- android:src="?attr/playback_speed"/>
-
- <ImageButton
- android:id="@+id/download_bookmark"
- style="@style/DownloadActionImageButton"
- android:src="?attr/bookmark"/>
-
- <ImageButton
- android:id="@+id/download_rating_good"
- style="@style/DownloadActionImageButton"
- android:src="?attr/rating_good"/>
- </LinearLayout>
- </RelativeLayout>
-
- <include layout="@layout/download_playlist"/>
-
- </github.daneren2005.dsub.view.MyViewFlipper>
-
- <TextView
- android:id="@+id/download_song_title"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_marginLeft="12dip"
- android:layout_marginRight="12dip"
- android:singleLine="true"
- android:ellipsize="end"
- android:gravity="center_horizontal"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="?android:textColorPrimary"
- android:layout_above="@+id/download_status"/>
-
- <TextView
- android:id="@+id/download_status"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:layout_marginBottom="8dip"
- android:layout_marginLeft="12dip"
- android:layout_marginRight="12dip"
- android:singleLine="true"
- android:ellipsize="end"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:textColorSecondary"
- android:layout_above="@+id/download_media_buttons_wrapper"/>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/download_layout"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <github.daneren2005.dsub.view.RecyclingImageView
+ android:id="@+id/download_album_art_image"
+ android:src="@drawable/unknown_album_large"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:scaleType="fitCenter"/>
+
+ <RelativeLayout
+ android:id="@+id/download_control_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="@android:color/transparent">
+
+ <ViewFlipper
+ android:id="@+id/download_playlist_flipper"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_above="@+id/download_song_title">
+
+ <RelativeLayout
+ android:id="@+id/download_other_controls_wrapper"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="vertical">
<LinearLayout
- android:id="@+id/download_media_buttons_wrapper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_above="@+id/download_slider_wrapper">
-
- <include layout="@layout/download_media_buttons"/>
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/download_slider_wrapper"
- android:layout_width="fill_parent"
+ android:id="@+id/download_other_controls_layout"
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true">
- <include layout="@layout/download_slider"/>
+ <ImageButton
+ android:id="@+id/download_rating_bad"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/rating_bad"/>
+
+ <ImageButton
+ android:id="@+id/download_star"
+ style="@style/DownloadActionImageButton"
+ android:src="@android:drawable/star_big_off"/>
+
+ <ImageButton
+ android:id="@+id/download_playback_speed"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/playback_speed"/>
+
+ <ImageButton
+ android:id="@+id/download_bookmark"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/bookmark"/>
+
+ <ImageButton
+ android:id="@+id/download_rating_good"
+ style="@style/DownloadActionImageButton"
+ android:src="?attr/rating_good"/>
</LinearLayout>
-
</RelativeLayout>
+ <include layout="@layout/download_playlist"/>
+
+ </ViewFlipper>
+
+ <TextView
+ android:id="@+id/download_song_title"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginLeft="12dip"
+ android:layout_marginRight="12dip"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:gravity="center_horizontal"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="?android:textColorPrimary"
+ android:layout_above="@+id/download_status"/>
+
+ <TextView
+ android:id="@+id/download_status"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:layout_marginBottom="8dip"
+ android:layout_marginLeft="12dip"
+ android:layout_marginRight="12dip"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="?android:textColorSecondary"
+ android:layout_above="@+id/download_media_buttons_wrapper"/>
+
+ <LinearLayout
+ android:id="@+id/download_media_buttons_wrapper"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/download_slider_wrapper">
+
+ <include layout="@layout/download_media_buttons"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/download_slider_wrapper"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true">
+
+ <include layout="@layout/download_slider"/>
</LinearLayout>
- </LinearLayout>
-</FrameLayout>
+ </RelativeLayout>
+</LinearLayout>
diff --git a/app/src/main/res/layout-port/download.xml b/app/src/main/res/layout-port/download.xml
index 81f4e8dc..39b5e5e9 100644
--- a/app/src/main/res/layout-port/download.xml
+++ b/app/src/main/res/layout-port/download.xml
@@ -10,7 +10,7 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent">
- <github.daneren2005.dsub.view.MyViewFlipper
+ <ViewFlipper
android:id="@+id/download_playlist_flipper"
android:layout_width="fill_parent"
android:layout_height="0dip"
@@ -105,7 +105,7 @@
<include layout="@layout/download_playlist"/>
- </github.daneren2005.dsub.view.MyViewFlipper>
+ </ViewFlipper>
<include layout="@layout/download_media_buttons"/>