├── .classpath
├── .project
├── .settings
└── org.eclipse.jdt.core.prefs
├── AndroidManifest.xml
├── bin
├── Player.apk
├── classes.dex
├── classes
│ └── com
│ │ └── zanehuy
│ │ └── player
│ │ ├── BitmapScaler$Size.class
│ │ ├── BitmapScaler.class
│ │ ├── DbOpenHelper.class
│ │ ├── FileBrowserActivity$1.class
│ │ ├── FileBrowserActivity$2.class
│ │ ├── FileBrowserActivity$3.class
│ │ ├── FileBrowserActivity$4.class
│ │ ├── FileBrowserActivity$5.class
│ │ ├── FileBrowserActivity$Dir.class
│ │ ├── FileBrowserActivity$PlayerServiceConnection.class
│ │ ├── FileBrowserActivity$ViewHolder.class
│ │ ├── FileBrowserActivity.class
│ │ ├── LibraryBrowserActivity$1.class
│ │ ├── LibraryBrowserActivity$2.class
│ │ ├── LibraryBrowserActivity$3.class
│ │ ├── LibraryBrowserActivity$4.class
│ │ ├── LibraryBrowserActivity$5.class
│ │ ├── LibraryBrowserActivity$Album.class
│ │ ├── LibraryBrowserActivity$AlbumViewHolder.class
│ │ ├── LibraryBrowserActivity$ArtLoader$1.class
│ │ ├── LibraryBrowserActivity$ArtLoader.class
│ │ ├── LibraryBrowserActivity$Artist.class
│ │ ├── LibraryBrowserActivity$ArtistViewHolder.class
│ │ ├── LibraryBrowserActivity$Track.class
│ │ ├── LibraryBrowserActivity$TrackViewHolder.class
│ │ ├── LibraryBrowserActivity.class
│ │ ├── MainActivity.class
│ │ ├── NowPlayingActivity$1.class
│ │ ├── NowPlayingActivity$10.class
│ │ ├── NowPlayingActivity$11.class
│ │ ├── NowPlayingActivity$12.class
│ │ ├── NowPlayingActivity$13.class
│ │ ├── NowPlayingActivity$2.class
│ │ ├── NowPlayingActivity$3.class
│ │ ├── NowPlayingActivity$4.class
│ │ ├── NowPlayingActivity$5.class
│ │ ├── NowPlayingActivity$6.class
│ │ ├── NowPlayingActivity$7$1.class
│ │ ├── NowPlayingActivity$7.class
│ │ ├── NowPlayingActivity$8.class
│ │ ├── NowPlayingActivity$9.class
│ │ ├── NowPlayingActivity$UiRefresher.class
│ │ ├── NowPlayingActivity$ViewHolder.class
│ │ ├── NowPlayingActivity.class
│ │ ├── PlayerService$1.class
│ │ ├── PlayerService$PlayerBinder.class
│ │ ├── PlayerService$Track.class
│ │ ├── PlayerService.class
│ │ ├── R$attr.class
│ │ ├── R$drawable.class
│ │ ├── R$id.class
│ │ ├── R$layout.class
│ │ ├── R$string.class
│ │ ├── R$xml.class
│ │ ├── R.class
│ │ └── SettingsActivity.class
├── res
│ ├── drawable-hdpi
│ │ ├── ic_menu_clear_playlist.png
│ │ ├── ic_menu_preferences.png
│ │ └── icon2.png
│ ├── drawable-ldpi
│ │ ├── bottom_separator.png
│ │ ├── icon.png
│ │ ├── playicon.png
│ │ └── top_separator.png
│ ├── drawable-mdpi
│ │ ├── ic_tab_file_browser_grey.png
│ │ ├── ic_tab_file_browser_white.png
│ │ ├── ic_tab_library_browser_grey.png
│ │ ├── ic_tab_library_browser_white.png
│ │ ├── ic_tab_now_playing_grey.png
│ │ ├── ic_tab_now_playing_white.png
│ │ ├── icon.png
│ │ └── noart.png
│ └── drawable
│ │ ├── dir.png
│ │ ├── file.png
│ │ └── icmpmove.png
└── resources.ap_
├── gen
└── com
│ └── zanehuy
│ └── player
│ └── R.java
├── proguard.cfg
├── project.properties
├── res
├── drawable-hdpi
│ ├── ic_menu_clear_playlist.png
│ ├── ic_menu_preferences.png
│ └── icon2.png
├── drawable-ldpi
│ ├── bottom_separator.png
│ ├── icon.png
│ ├── playicon.png
│ └── top_separator.png
├── drawable-mdpi
│ ├── ic_tab_file_browser.xml
│ ├── ic_tab_file_browser_grey.png
│ ├── ic_tab_file_browser_white.png
│ ├── ic_tab_library_browser.xml
│ ├── ic_tab_library_browser_grey.png
│ ├── ic_tab_library_browser_white.png
│ ├── ic_tab_now_playing.xml
│ ├── ic_tab_now_playing_grey.png
│ ├── ic_tab_now_playing_white.png
│ ├── icon.png
│ └── noart.png
├── drawable
│ ├── dir.png
│ ├── file.png
│ └── icmpmove.png
├── layout
│ ├── file_browser.xml
│ ├── file_browser_item.xml
│ ├── library.xml
│ ├── library_album_item.xml
│ ├── library_artist_item.xml
│ ├── library_track_item.xml
│ ├── main.xml
│ ├── now_playing.xml
│ ├── now_playing_menu.xml
│ ├── track_menu.xml
│ └── tracklist_item.xml
├── values
│ └── strings.xml
└── xml
│ └── settings.xml
└── src
└── com
└── zanehuy
└── player
├── BitmapScaler.java
├── DbOpenHelper.java
├── FileBrowserActivity.java
├── LibraryBrowserActivity.java
├── MainActivity.java
├── NowPlayingActivity.java
├── PlayerService.java
└── SettingsActivity.java
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Player
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | #Sat Dec 31 12:25:38 FET 2011
2 | eclipse.preferences.version=1
3 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.6
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.source=1.6
13 |
--------------------------------------------------------------------------------
/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/bin/Player.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/Player.apk
--------------------------------------------------------------------------------
/bin/classes.dex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes.dex
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/BitmapScaler$Size.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/BitmapScaler$Size.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/BitmapScaler.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/BitmapScaler.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/DbOpenHelper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/DbOpenHelper.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$2.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$3.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$4.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$5.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$Dir.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$Dir.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$PlayerServiceConnection.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$PlayerServiceConnection.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity$ViewHolder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/FileBrowserActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/FileBrowserActivity.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$2.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$3.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$4.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$5.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Album.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Album.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$AlbumViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$AlbumViewHolder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtLoader$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtLoader$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtLoader.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtLoader.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Artist.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Artist.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtistViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$ArtistViewHolder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Track.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$Track.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity$TrackViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity$TrackViewHolder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/LibraryBrowserActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/LibraryBrowserActivity.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/MainActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/MainActivity.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$10.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$10.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$11.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$11.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$12.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$12.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$13.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$13.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$2.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$3.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$4.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$5.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$6.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$6.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$7$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$7$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$7.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$7.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$8.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$8.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$9.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$9.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$UiRefresher.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$UiRefresher.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity$ViewHolder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/NowPlayingActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/NowPlayingActivity.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/PlayerService$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/PlayerService$1.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/PlayerService$PlayerBinder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/PlayerService$PlayerBinder.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/PlayerService$Track.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/PlayerService$Track.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/PlayerService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/PlayerService.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$attr.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$drawable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$drawable.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$id.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$layout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$layout.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$string.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$string.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R$xml.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R$xml.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/R.class
--------------------------------------------------------------------------------
/bin/classes/com/zanehuy/player/SettingsActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/classes/com/zanehuy/player/SettingsActivity.class
--------------------------------------------------------------------------------
/bin/res/drawable-hdpi/ic_menu_clear_playlist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-hdpi/ic_menu_clear_playlist.png
--------------------------------------------------------------------------------
/bin/res/drawable-hdpi/ic_menu_preferences.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-hdpi/ic_menu_preferences.png
--------------------------------------------------------------------------------
/bin/res/drawable-hdpi/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-hdpi/icon2.png
--------------------------------------------------------------------------------
/bin/res/drawable-ldpi/bottom_separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-ldpi/bottom_separator.png
--------------------------------------------------------------------------------
/bin/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/bin/res/drawable-ldpi/playicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-ldpi/playicon.png
--------------------------------------------------------------------------------
/bin/res/drawable-ldpi/top_separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-ldpi/top_separator.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_file_browser_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_file_browser_grey.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_file_browser_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_file_browser_white.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_library_browser_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_library_browser_grey.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_library_browser_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_library_browser_white.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_now_playing_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_now_playing_grey.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/ic_tab_now_playing_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/ic_tab_now_playing_white.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/bin/res/drawable-mdpi/noart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable-mdpi/noart.png
--------------------------------------------------------------------------------
/bin/res/drawable/dir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable/dir.png
--------------------------------------------------------------------------------
/bin/res/drawable/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable/file.png
--------------------------------------------------------------------------------
/bin/res/drawable/icmpmove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/res/drawable/icmpmove.png
--------------------------------------------------------------------------------
/bin/resources.ap_:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/bin/resources.ap_
--------------------------------------------------------------------------------
/gen/com/zanehuy/player/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 |
8 | package com.zanehuy.player;
9 |
10 | public final class R {
11 | public static final class attr {
12 | }
13 | public static final class drawable {
14 | public static final int bottom_separator=0x7f020000;
15 | public static final int dir=0x7f020001;
16 | public static final int file=0x7f020002;
17 | public static final int ic_menu_clear_playlist=0x7f020003;
18 | public static final int ic_menu_preferences=0x7f020004;
19 | public static final int ic_tab_file_browser=0x7f020005;
20 | public static final int ic_tab_file_browser_grey=0x7f020006;
21 | public static final int ic_tab_file_browser_white=0x7f020007;
22 | public static final int ic_tab_library_browser=0x7f020008;
23 | public static final int ic_tab_library_browser_grey=0x7f020009;
24 | public static final int ic_tab_library_browser_white=0x7f02000a;
25 | public static final int ic_tab_now_playing=0x7f02000b;
26 | public static final int ic_tab_now_playing_grey=0x7f02000c;
27 | public static final int ic_tab_now_playing_white=0x7f02000d;
28 | public static final int icmpmove=0x7f02000e;
29 | public static final int icon=0x7f02000f;
30 | public static final int icon2=0x7f020010;
31 | public static final int noart=0x7f020011;
32 | public static final int playicon=0x7f020012;
33 | public static final int top_separator=0x7f020013;
34 | }
35 | public static final class id {
36 | public static final int bottom_separator=0x7f060014;
37 | public static final int buttons_layout=0x7f06000e;
38 | public static final int file_browser_dir=0x7f060000;
39 | public static final int file_browser_file_icon=0x7f060002;
40 | public static final int file_browser_file_name=0x7f060003;
41 | public static final int files_listview=0x7f060001;
42 | public static final int library_album_art=0x7f060006;
43 | public static final int library_album_name=0x7f060007;
44 | public static final int library_album_year=0x7f060008;
45 | public static final int library_artist_name=0x7f060009;
46 | public static final int library_list=0x7f060005;
47 | public static final int library_title=0x7f060004;
48 | public static final int library_track_name=0x7f06000a;
49 | public static final int menu_clear_tracklist=0x7f060016;
50 | public static final int menu_settings=0x7f060017;
51 | public static final int next_button=0x7f06000f;
52 | public static final int play_button=0x7f060012;
53 | public static final int prev_button=0x7f060010;
54 | public static final int stop_button=0x7f060011;
55 | public static final int top_separator=0x7f060013;
56 | public static final int track_duration=0x7f06000c;
57 | public static final int track_menu=0x7f060018;
58 | public static final int track_menu_info=0x7f06001a;
59 | public static final int track_menu_remove=0x7f060019;
60 | public static final int track_progress=0x7f06000b;
61 | public static final int track_seek=0x7f06000d;
62 | public static final int tracklist=0x7f060015;
63 | public static final int tracklist_item=0x7f06001b;
64 | public static final int tracklist_item_artist=0x7f06001d;
65 | public static final int tracklist_item_duration=0x7f06001e;
66 | public static final int tracklist_item_playicon=0x7f06001f;
67 | public static final int tracklist_item_title=0x7f06001c;
68 | }
69 | public static final class layout {
70 | public static final int file_browser=0x7f030000;
71 | public static final int file_browser_item=0x7f030001;
72 | public static final int library=0x7f030002;
73 | public static final int library_album_item=0x7f030003;
74 | public static final int library_artist_item=0x7f030004;
75 | public static final int library_track_item=0x7f030005;
76 | public static final int main=0x7f030006;
77 | public static final int now_playing=0x7f030007;
78 | public static final int now_playing_menu=0x7f030008;
79 | public static final int track_menu=0x7f030009;
80 | public static final int tracklist_item=0x7f03000a;
81 | }
82 | public static final class string {
83 | public static final int act_file_browser=0x7f050003;
84 | public static final int act_library_browser=0x7f050002;
85 | public static final int act_now_playing=0x7f050001;
86 | public static final int act_settings=0x7f050004;
87 | public static final int app_name=0x7f050000;
88 | public static final int library_artists_title=0x7f05000c;
89 | public static final int library_year_label=0x7f05000b;
90 | public static final int menu_clear_tracklist=0x7f05000d;
91 | public static final int menu_settings=0x7f05000e;
92 | public static final int next_track_button=0x7f05000a;
93 | public static final int pause_button=0x7f050007;
94 | public static final int play_button=0x7f050006;
95 | public static final int prev_track_button=0x7f050009;
96 | public static final int settings_show_hidden_files=0x7f050011;
97 | public static final int settings_show_hidden_files_summary=0x7f050012;
98 | public static final int stop_button=0x7f050008;
99 | public static final int track_menu_info=0x7f050010;
100 | public static final int track_menu_remove=0x7f05000f;
101 | public static final int tracklist=0x7f050005;
102 | }
103 | public static final class xml {
104 | public static final int settings=0x7f040000;
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/proguard.cfg:
--------------------------------------------------------------------------------
1 | -optimizationpasses 5
2 | -dontusemixedcaseclassnames
3 | -dontskipnonpubliclibraryclasses
4 | -dontpreverify
5 | -verbose
6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
7 |
8 | -keep public class * extends android.app.Activity
9 | -keep public class * extends android.app.Application
10 | -keep public class * extends android.app.Service
11 | -keep public class * extends android.content.BroadcastReceiver
12 | -keep public class * extends android.content.ContentProvider
13 | -keep public class * extends android.app.backup.BackupAgentHelper
14 | -keep public class * extends android.preference.Preference
15 | -keep public class com.android.vending.licensing.ILicensingService
16 |
17 | -keepclasseswithmembernames class * {
18 | native ;
19 | }
20 |
21 | -keepclasseswithmembers class * {
22 | public (android.content.Context, android.util.AttributeSet);
23 | }
24 |
25 | -keepclasseswithmembers class * {
26 | public (android.content.Context, android.util.AttributeSet, int);
27 | }
28 |
29 | -keepclassmembers class * extends android.app.Activity {
30 | public void *(android.view.View);
31 | }
32 |
33 | -keepclassmembers enum * {
34 | public static **[] values();
35 | public static ** valueOf(java.lang.String);
36 | }
37 |
38 | -keep class * implements android.os.Parcelable {
39 | public static final android.os.Parcelable$Creator *;
40 | }
41 |
--------------------------------------------------------------------------------
/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Project target.
11 | target=android-8
12 |
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_menu_clear_playlist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-hdpi/ic_menu_clear_playlist.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_menu_preferences.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-hdpi/ic_menu_preferences.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-hdpi/icon2.png
--------------------------------------------------------------------------------
/res/drawable-ldpi/bottom_separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-ldpi/bottom_separator.png
--------------------------------------------------------------------------------
/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/res/drawable-ldpi/playicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-ldpi/playicon.png
--------------------------------------------------------------------------------
/res/drawable-ldpi/top_separator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-ldpi/top_separator.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_file_browser.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_file_browser_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_file_browser_grey.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_file_browser_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_file_browser_white.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_library_browser.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_library_browser_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_library_browser_grey.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_library_browser_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_library_browser_white.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_now_playing.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_now_playing_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_now_playing_grey.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_tab_now_playing_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/ic_tab_now_playing_white.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/noart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable-mdpi/noart.png
--------------------------------------------------------------------------------
/res/drawable/dir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable/dir.png
--------------------------------------------------------------------------------
/res/drawable/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable/file.png
--------------------------------------------------------------------------------
/res/drawable/icmpmove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/haibocheng/Player/faf7efb695654cd9d021de8c9f1ac721cb21ec61/res/drawable/icmpmove.png
--------------------------------------------------------------------------------
/res/layout/file_browser.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
17 |
18 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/res/layout/file_browser_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
20 |
21 |
31 |
32 |
--------------------------------------------------------------------------------
/res/layout/library.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
19 |
20 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/res/layout/library_album_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
32 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/res/layout/library_artist_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/res/layout/library_track_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
11 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/res/layout/now_playing.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
17 |
18 |
27 |
28 |
34 |
35 |
40 |
41 |
48 |
55 |
62 |
70 |
71 |
72 |
73 |
81 |
82 |
90 |
91 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/res/layout/now_playing_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/res/layout/track_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/res/layout/tracklist_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
18 |
19 |
28 |
29 |
35 |
36 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Player
4 |
5 | Now playing
6 | Library
7 | File browser
8 | Settings
9 |
10 | Tracklist
11 | Play
12 | Pause
13 | Stop
14 | ←
15 | →
16 |
17 | Year:\u00A0
18 | Artists
19 |
20 | Clear
21 | Settings
22 |
23 | Remove
24 | Info
25 |
26 | Show hidden files
27 | Show hidden files in file browser
28 |
29 |
--------------------------------------------------------------------------------
/res/xml/settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/com/zanehuy/player/BitmapScaler.java:
--------------------------------------------------------------------------------
1 | package com.zanehuy.player;
2 |
3 | import java.io.File;
4 | import java.io.FileInputStream;
5 | import java.io.IOException;
6 | import java.io.InputStream;
7 |
8 | import android.content.res.AssetManager;
9 | import android.content.res.Resources;
10 | import android.graphics.Bitmap;
11 | import android.graphics.BitmapFactory;
12 | import android.graphics.Matrix;
13 |
14 | class BitmapScaler {
15 | private static class Size {
16 | int sample;
17 | float scale;
18 | }
19 |
20 | private Bitmap scaled;
21 |
22 | BitmapScaler(Resources resources, int resId, int newWidth)
23 | throws IOException {
24 | Size size = getRoughSize(resources, resId, newWidth);
25 | roughScaleImage(resources, resId, size);
26 | scaleImage(newWidth);
27 | }
28 |
29 | BitmapScaler(File file, int newWidth) throws IOException {
30 | InputStream is = null;
31 | try {
32 | is = new FileInputStream(file);
33 | Size size = getRoughSize(is, newWidth);
34 | try {
35 | is = new FileInputStream(file);
36 | roughScaleImage(is, size);
37 | scaleImage(newWidth);
38 | } finally {
39 | is.close();
40 | }
41 | } finally {
42 | is.close();
43 | }
44 | }
45 |
46 | BitmapScaler(AssetManager manager, String assetName, int newWidth)
47 | throws IOException {
48 | InputStream is = null;
49 | try {
50 | is = manager.open(assetName);
51 | Size size = getRoughSize(is, newWidth);
52 | try {
53 | is = manager.open(assetName);
54 | roughScaleImage(is, size);
55 | scaleImage(newWidth);
56 | } finally {
57 | is.close();
58 | }
59 | } finally {
60 | is.close();
61 | }
62 | }
63 |
64 | Bitmap getScaled() {
65 | return scaled;
66 | }
67 |
68 | private void scaleImage(int newWidth) {
69 | int width = scaled.getWidth();
70 | int height = scaled.getHeight();
71 |
72 | float scaleWidth = ((float) newWidth) / width;
73 | float ratio = ((float) scaled.getWidth()) / newWidth;
74 | int newHeight = (int) (height / ratio);
75 | float scaleHeight = ((float) newHeight) / height;
76 |
77 | Matrix matrix = new Matrix();
78 | matrix.postScale(scaleWidth, scaleHeight);
79 |
80 | scaled = Bitmap.createBitmap(scaled, 0, 0, width, height, matrix, true);
81 | }
82 |
83 | private void roughScaleImage(InputStream is, Size size) {
84 | Matrix matrix = new Matrix();
85 | matrix.postScale(size.scale, size.scale);
86 |
87 | BitmapFactory.Options scaledOpts = new BitmapFactory.Options();
88 | scaledOpts.inSampleSize = size.sample;
89 | scaled = BitmapFactory.decodeStream(is, null, scaledOpts);
90 | }
91 |
92 | private void roughScaleImage(Resources resources, int resId, Size size) {
93 | Matrix matrix = new Matrix();
94 | matrix.postScale(size.scale, size.scale);
95 |
96 | BitmapFactory.Options scaledOpts = new BitmapFactory.Options();
97 | scaledOpts.inSampleSize = size.sample;
98 | scaled = BitmapFactory.decodeResource(resources, resId, scaledOpts);
99 | }
100 |
101 | private Size getRoughSize(InputStream is, int newWidth) {
102 | BitmapFactory.Options o = new BitmapFactory.Options();
103 | o.inJustDecodeBounds = true;
104 | BitmapFactory.decodeStream(is, null, o);
105 |
106 | Size size = getRoughSize(o.outWidth, o.outHeight, newWidth);
107 | return size;
108 | }
109 |
110 | private Size getRoughSize(Resources resources, int resId, int newWidth) {
111 | BitmapFactory.Options o = new BitmapFactory.Options();
112 | o.inJustDecodeBounds = true;
113 | BitmapFactory.decodeResource(resources, resId, o);
114 |
115 | Size size = getRoughSize(o.outWidth, o.outHeight, newWidth);
116 | return size;
117 | }
118 |
119 | private Size getRoughSize(int outWidth, int outHeight, int newWidth) {
120 | Size size = new Size();
121 | size.scale = outWidth / newWidth;
122 | size.sample = 1;
123 |
124 | int width = outWidth;
125 | int height = outHeight;
126 |
127 | int newHeight = (int) (outHeight / size.scale);
128 |
129 | while (true) {
130 | if (width / 2 < newWidth || height / 2 < newHeight) {
131 | break;
132 | }
133 | width /= 2;
134 | height /= 2;
135 | size.sample *= 2;
136 | }
137 | return size;
138 | }
139 | }
140 |
--------------------------------------------------------------------------------
/src/com/zanehuy/player/DbOpenHelper.java:
--------------------------------------------------------------------------------
1 | package com.zanehuy.player;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteDatabase;
5 | import android.database.sqlite.SQLiteOpenHelper;
6 |
7 | public class DbOpenHelper extends SQLiteOpenHelper {
8 |
9 | public static final int DATABASE_VERSION = 2;
10 | public static final String DATABASE_NAME = "player";
11 | public static final String KEY_POSITION = "position";
12 | public static final String KEY_FILE = "file";
13 | public static final String TABLE_NAME = "tracklist";
14 | public static final String TABLE_CREATE = "CREATE TABLE "+TABLE_NAME+" ("+KEY_POSITION+" TEXT, "+KEY_FILE+" TEXT);";
15 |
16 | DbOpenHelper(Context context) {
17 | super(context, DATABASE_NAME, null, DATABASE_VERSION);
18 | }
19 |
20 | @Override
21 | public void onCreate(SQLiteDatabase db) {
22 | db.execSQL(TABLE_CREATE);
23 | }
24 |
25 | @Override
26 | public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
27 | db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
28 | onCreate(db);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/zanehuy/player/FileBrowserActivity.java:
--------------------------------------------------------------------------------
1 | package com.zanehuy.player;
2 |
3 | import java.io.File;
4 | import java.io.FileFilter;
5 | import java.util.ArrayList;
6 | import java.util.Arrays;
7 | import java.util.Comparator;
8 | import java.util.Stack;
9 |
10 | import android.app.Activity;
11 | import android.content.ComponentName;
12 | import android.content.Context;
13 | import android.content.Intent;
14 | import android.content.ServiceConnection;
15 | import android.content.SharedPreferences;
16 | import android.os.Bundle;
17 | import android.os.Environment;
18 | import android.os.IBinder;
19 | import android.view.KeyEvent;
20 | import android.view.LayoutInflater;
21 | import android.view.View;
22 | import android.widget.AdapterView;
23 | import android.widget.AdapterView.OnItemClickListener;
24 | import android.widget.ArrayAdapter;
25 | import android.widget.ImageView;
26 | import android.widget.ListView;
27 | import android.widget.TextView;
28 |
29 | import com.zanehuy.player.R;
30 | import com.zanehuy.player.PlayerService.PlayerBinder;
31 |
32 | public class FileBrowserActivity extends Activity {
33 |
34 | private ListView fileListView;
35 | private TextView currentDirView;
36 | private File currentDir;
37 | private ArrayList currentFiles;
38 | private ArrayAdapter fileListAdapter;
39 | private Stack dirHistory;
40 | private boolean parentAllowed;
41 | private PlayerServiceConnection playerServiceConnection = new PlayerServiceConnection();
42 | private PlayerService playerService = null;
43 |
44 | @Override
45 | public void onCreate(Bundle savedInstanceState) {
46 | super.onCreate(savedInstanceState);
47 | setContentView(R.layout.file_browser);
48 | SharedPreferences settings = getSharedPreferences("settings", 0);
49 |
50 | currentDir = new File(settings.getString("last_dir", Environment.getExternalStorageDirectory().getAbsolutePath()));
51 | currentFiles = new ArrayList();
52 | dirHistory = new Stack();
53 | dirHistory.push(new Dir(currentDir.getAbsolutePath(), 0));
54 |
55 | currentDirView = (TextView)findViewById(R.id.file_browser_dir);
56 | currentDirView.setSelected(true);
57 | fileListView = (ListView)findViewById(R.id.files_listview);
58 | fileListView.setOnItemClickListener(new OnItemClickListener() {
59 |
60 | @Override
61 | public void onItemClick(AdapterView> arg0, View arg1, int pos, long arg3) {
62 | File selectedFile;
63 | if (pos == 0) {
64 | if (parentAllowed) {
65 | selectedFile = currentDir.getParentFile();
66 | } else {
67 | return;
68 | }
69 | } else {
70 | selectedFile = currentFiles.get(pos-1);
71 | }
72 | if (selectedFile.isFile()) {
73 | playerService.addTrack(playerService.new Track(selectedFile.getPath()));
74 | } else {
75 | dirHistory.push(new Dir(currentDir.getAbsolutePath(), pos));
76 | browse(selectedFile);
77 | }
78 | }
79 | });
80 | fileListAdapter = new ArrayAdapter(this, R.layout.file_browser_item, 0) {
81 |
82 | @Override
83 | public View getView(final int pos, View convertView, android.view.ViewGroup parent) {
84 | View v = convertView;
85 | ViewHolder holder;
86 | if (v == null) {
87 | LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
88 | v = inflater.inflate(R.layout.file_browser_item, null);
89 | holder = new ViewHolder();
90 | holder.fileName = (TextView)v.findViewById(R.id.file_browser_file_name);
91 | holder.fileIcon = (ImageView)v.findViewById(R.id.file_browser_file_icon);
92 | v.setTag(holder);
93 | } else {
94 | holder = (ViewHolder)v.getTag();
95 | }
96 | File item = getItem(pos);
97 | holder.fileName.setText(item.getName());
98 | if (!item.isFile()) {
99 | holder.fileIcon.setImageResource(R.drawable.dir);
100 | } else {
101 | holder.fileIcon.setImageResource(R.drawable.file);
102 | }
103 | holder.fileName.setText(item.getName());
104 | return v;
105 | };
106 | };
107 | fileListView.setAdapter(fileListAdapter);
108 | browse(currentDir);
109 | }
110 |
111 | @Override
112 | protected void onStart() {
113 | super.onStart();
114 | Intent playerServiceIntent = new Intent(this, PlayerService.class);
115 | getApplicationContext().bindService(playerServiceIntent, playerServiceConnection, 0);
116 | }
117 |
118 | @Override
119 | protected void onStop() {
120 | super.onStop();
121 | getApplicationContext().unbindService(playerServiceConnection);
122 |
123 | SharedPreferences settings = getSharedPreferences("settings", 0);
124 | SharedPreferences.Editor editor = settings.edit();
125 | editor.putString("last_dir", currentDir.getAbsolutePath());
126 | editor.commit();
127 | }
128 |
129 | @Override
130 | public boolean onKeyDown(int keyCode, KeyEvent event) {
131 | if ((keyCode == KeyEvent.KEYCODE_BACK) && dirHistory.size() > 1) {
132 | browse(new File(dirHistory.pop().getPath()));
133 | return true;
134 | }
135 | return super.onKeyDown(keyCode, event);
136 | }
137 |
138 | private void browse(File dir) {
139 | if (dir.compareTo(new File(Environment.getExternalStorageDirectory().getAbsolutePath())) == 0) {
140 | parentAllowed = false;
141 | } else {
142 | parentAllowed = true;
143 | }
144 | currentFiles.clear();
145 | currentDir = dir;
146 | File[] fileList = dir.listFiles(new FileFilter() {
147 |
148 | @Override
149 | public boolean accept(File file) {
150 | if ((file.getName().toLowerCase().endsWith("mp3") || file.isDirectory()) && (file.getName()).charAt(0) != '.') {
151 | return true;
152 | }
153 | return false;
154 | }
155 | });
156 | Arrays.sort(fileList, new Comparator