diff options
author | Scott Jackson <daneren2005@gmail.com> | 2016-08-30 17:12:55 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2016-08-30 17:12:55 -0700 |
commit | ef727be89ef69f044efec9993f21c4ddac069bab (patch) | |
tree | 3f456bc775612d4025b1d1ec502aa76861d8e3a9 /app/src | |
parent | a279101ad307ac2c199f31d85aa31533882b483c (diff) | |
download | dsub-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/src')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/view/MyViewFlipper.java | 53 | ||||
-rw-r--r-- | app/src/main/res/layout-land/download.xml | 248 | ||||
-rw-r--r-- | app/src/main/res/layout-large-land/download.xml | 236 | ||||
-rw-r--r-- | app/src/main/res/layout-port/download.xml | 4 |
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"/> |