Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
VLC-Android
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ewout ter Hoeven
VLC-Android
Commits
a4dc6d22
Commit
a4dc6d22
authored
Jan 16, 2012
by
Sébastien Toque
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
show song list when browsing audio by artist/album/genre
parent
2a68cfa2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
168 additions
and
89 deletions
+168
-89
vlc-android/res/layout/audio_browser_playlist.xml
vlc-android/res/layout/audio_browser_playlist.xml
+45
-0
vlc-android/src/org/videolan/vlc/android/AudioBrowserActivity.java
...id/src/org/videolan/vlc/android/AudioBrowserActivity.java
+3
-3
vlc-android/src/org/videolan/vlc/android/AudioPlaylistAdapter.java
...id/src/org/videolan/vlc/android/AudioPlaylistAdapter.java
+120
-86
No files found.
vlc-android/res/layout/audio_browser_playlist.xml
0 → 100644
View file @
a4dc6d22
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"fill_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_vertical"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"fill_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:layout_marginTop=
"5dip"
>
<TextView
android:id=
"@+id/title"
android:layout_width=
"0dip"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:layout_marginLeft=
"5dip"
android:layout_marginRight=
"5dip"
android:text=
"@string/title"
android:textColor=
"#ffffff"
android:textSize=
"20dip"
/>
<ImageView
android:id=
"@+id/ml_item_more"
android:layout_width=
"wrap_content"
android:layout_height=
"fill_parent"
android:src=
"@drawable/ic_next"
android:paddingRight=
"12dip"
android:paddingLeft=
"5dip"
/>
</LinearLayout>
<TextView
android:id=
"@+id/text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"5dip"
android:layout_marginRight=
"5dip"
android:layout_marginBottom=
"5dip"
android:text=
"@string/songs"
android:textColor=
"#888888"
android:textSize=
"14dip"
/>
</LinearLayout>
\ No newline at end of file
vlc-android/src/org/videolan/vlc/android/AudioBrowserActivity.java
View file @
a4dc6d22
...
...
@@ -58,9 +58,9 @@ public class AudioBrowserActivity extends Activity {
mMediaLibrary
.
addUpdateHandler
(
mHandler
);
mSongsAdapter
=
new
AudioSongsListAdapter
(
this
,
R
.
layout
.
audio_browser_item
);
mArtistsAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
item
);
mAlbumsAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
item
);
mGenresAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
item
);
mArtistsAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
playlist
);
mAlbumsAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
playlist
);
mGenresAdapter
=
new
AudioPlaylistAdapter
(
this
,
R
.
layout
.
audio_browser_
playlist
);
ListView
songsList
=
(
ListView
)
findViewById
(
R
.
id
.
songs_list
);
ListView
artistList
=
(
ListView
)
findViewById
(
R
.
id
.
artists_list
);
ListView
albumList
=
(
ListView
)
findViewById
(
R
.
id
.
albums_list
);
...
...
vlc-android/src/org/videolan/vlc/android/AudioPlaylistAdapter.java
View file @
a4dc6d22
...
...
@@ -7,18 +7,22 @@ import java.util.List;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View.OnClickListener
;
import
android.view.ViewGroup
;
import
android.widget.ArrayAdapter
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
public
class
AudioPlaylistAdapter
extends
ArrayAdapter
<
String
>
{
private
ArrayList
<
String
>
mTitles
;
private
ArrayList
<
Boolean
>
mExpanded
;
private
HashMap
<
String
,
ArrayList
<
Media
>>
mPlaylists
;
public
AudioPlaylistAdapter
(
Context
context
,
int
textViewResourceId
)
{
super
(
context
,
textViewResourceId
);
mTitles
=
new
ArrayList
<
String
>();
mExpanded
=
new
ArrayList
<
Boolean
>();
mPlaylists
=
new
HashMap
<
String
,
ArrayList
<
Media
>>();
}
...
...
@@ -28,6 +32,7 @@ public class AudioPlaylistAdapter extends ArrayAdapter<String> {
list
=
new
ArrayList
<
Media
>();
mPlaylists
.
put
(
title
,
list
);
mTitles
.
add
(
title
);
mExpanded
.
add
(
false
);
super
.
add
(
title
);
}
else
{
list
=
mPlaylists
.
get
(
title
);
...
...
@@ -41,6 +46,7 @@ public class AudioPlaylistAdapter extends ArrayAdapter<String> {
mPlaylists
.
get
(
item
).
clear
();
mPlaylists
.
remove
(
item
);
}
mExpanded
.
clear
();
mTitles
.
clear
();
super
.
clear
();
}
...
...
@@ -51,10 +57,11 @@ public class AudioPlaylistAdapter extends ArrayAdapter<String> {
View
v
=
convertView
;
if
(
v
==
null
)
{
LayoutInflater
inflater
=
(
LayoutInflater
)
getContext
().
getSystemService
(
Context
.
LAYOUT_INFLATER_SERVICE
);
v
=
inflater
.
inflate
(
R
.
layout
.
audio_browser_
item
,
parent
,
false
);
v
=
inflater
.
inflate
(
R
.
layout
.
audio_browser_
playlist
,
parent
,
false
);
holder
=
new
ViewHolder
();
holder
.
title
=
(
TextView
)
v
.
findViewById
(
R
.
id
.
title
);
holder
.
artist
=
(
TextView
)
v
.
findViewById
(
R
.
id
.
artist
);
holder
.
text
=
(
TextView
)
v
.
findViewById
(
R
.
id
.
text
);
holder
.
more
=
(
ImageView
)
v
.
findViewById
(
R
.
id
.
ml_item_more
);
v
.
setTag
(
holder
);
}
else
holder
=
(
ViewHolder
)
v
.
getTag
();
...
...
@@ -62,14 +69,41 @@ public class AudioPlaylistAdapter extends ArrayAdapter<String> {
String
name
=
mTitles
.
get
(
position
);
ArrayList
<
Media
>
list
=
mPlaylists
.
get
(
name
);
holder
.
title
.
setText
(
name
);
holder
.
artist
.
setText
(
R
.
string
.
songs
);
holder
.
artist
.
setText
(
list
.
size
()
+
" "
+
holder
.
artist
.
getText
());
if
(
mExpanded
.
get
(
position
))
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
Media
media
:
list
)
{
sb
.
append
(
" - "
);
sb
.
append
(
media
.
getTitle
());
sb
.
append
(
"\n"
);
}
holder
.
text
.
setText
(
sb
.
toString
());
}
else
{
holder
.
text
.
setText
(
R
.
string
.
songs
);
holder
.
text
.
setText
(
list
.
size
()
+
" "
+
holder
.
text
.
getText
());
}
holder
.
more
.
setTag
(
position
);
holder
.
more
.
setOnClickListener
(
moreClickListener
);
return
v
;
}
private
OnClickListener
moreClickListener
=
new
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
int
position
=
(
Integer
)
v
.
getTag
();
boolean
expanded
=
mExpanded
.
get
(
position
);
for
(
int
i
=
0
;
i
<
mExpanded
.
size
();
++
i
)
mExpanded
.
set
(
i
,
false
);
mExpanded
.
set
(
position
,
!
expanded
);
notifyDataSetChanged
();
}
};
static
class
ViewHolder
{
TextView
title
;
TextView
artist
;
TextView
text
;
ImageView
more
;
}
public
List
<
String
>
getPlaylist
(
int
position
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment