Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Ewout ter Hoeven
VLC-Android
Commits
dec3d729
Commit
dec3d729
authored
Sep 01, 2014
by
Edward Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use an interface to specify refresh actions
Fulfill a long-standing TODO
parent
62ca25d6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
10 deletions
+36
-10
vlc-android/src/org/videolan/vlc/gui/DirectoryViewFragment.java
...droid/src/org/videolan/vlc/gui/DirectoryViewFragment.java
+3
-1
vlc-android/src/org/videolan/vlc/gui/HistoryFragment.java
vlc-android/src/org/videolan/vlc/gui/HistoryFragment.java
+3
-1
vlc-android/src/org/videolan/vlc/gui/MainActivity.java
vlc-android/src/org/videolan/vlc/gui/MainActivity.java
+5
-8
vlc-android/src/org/videolan/vlc/interfaces/IRefreshable.java
...android/src/org/videolan/vlc/interfaces/IRefreshable.java
+25
-0
No files found.
vlc-android/src/org/videolan/vlc/gui/DirectoryViewFragment.java
View file @
dec3d729
...
...
@@ -27,6 +27,7 @@ import org.videolan.libvlc.LibVLC;
import
org.videolan.vlc.R
;
import
org.videolan.vlc.audio.AudioServiceController
;
import
org.videolan.vlc.gui.video.VideoPlayerActivity
;
import
org.videolan.vlc.interfaces.IRefreshable
;
import
org.videolan.vlc.interfaces.ISortable
;
import
org.videolan.vlc.util.Util
;
import
org.videolan.vlc.util.VLCRunnable
;
...
...
@@ -51,7 +52,7 @@ import android.widget.AdapterView.AdapterContextMenuInfo;
import
android.widget.AdapterView.OnItemLongClickListener
;
import
android.widget.ListView
;
public
class
DirectoryViewFragment
extends
ListFragment
implements
ISortable
{
public
class
DirectoryViewFragment
extends
ListFragment
implements
IRefreshable
,
ISortable
{
public
final
static
String
TAG
=
"VLC/DirectoryViewFragment"
;
private
DirectoryAdapter
mDirectoryAdapter
;
...
...
@@ -201,6 +202,7 @@ public class DirectoryViewFragment extends ListFragment implements ISortable {
Util
.
toaster
(
getActivity
(),
R
.
string
.
notavailable
);
}
@Override
public
void
refresh
()
{
if
(
mDirectoryAdapter
!=
null
)
mDirectoryAdapter
.
refresh
();
...
...
vlc-android/src/org/videolan/vlc/gui/HistoryFragment.java
View file @
dec3d729
...
...
@@ -23,6 +23,7 @@ package org.videolan.vlc.gui;
import
org.videolan.libvlc.LibVLC
;
import
org.videolan.vlc.R
;
import
org.videolan.vlc.audio.AudioServiceController
;
import
org.videolan.vlc.interfaces.IRefreshable
;
import
android.os.Bundle
;
import
android.support.v4.app.ListFragment
;
...
...
@@ -38,7 +39,7 @@ import android.view.ViewGroup;
import
android.widget.AdapterView.AdapterContextMenuInfo
;
import
android.widget.ListView
;
public
class
HistoryFragment
extends
ListFragment
{
public
class
HistoryFragment
extends
ListFragment
implements
IRefreshable
{
public
final
static
String
TAG
=
"VLC/HistoryFragment"
;
private
HistoryAdapter
mHistoryAdapter
;
...
...
@@ -104,6 +105,7 @@ public class HistoryFragment extends ListFragment {
return
super
.
onContextItemSelected
(
item
);
}
@Override
public
void
refresh
()
{
Log
.
d
(
TAG
,
"Refreshing view!"
);
if
(
mHistoryAdapter
!=
null
)
...
...
vlc-android/src/org/videolan/vlc/gui/MainActivity.java
View file @
dec3d729
...
...
@@ -40,6 +40,7 @@ import org.videolan.vlc.gui.audio.EqualizerFragment;
import
org.videolan.vlc.gui.video.MediaInfoFragment
;
import
org.videolan.vlc.gui.video.VideoGridFragment
;
import
org.videolan.vlc.gui.video.VideoListAdapter
;
import
org.videolan.vlc.interfaces.IRefreshable
;
import
org.videolan.vlc.interfaces.ISortable
;
import
org.videolan.vlc.util.Util
;
import
org.videolan.vlc.util.VLCInstance
;
...
...
@@ -605,12 +606,13 @@ public class MainActivity extends ActionBarActivity {
// Intent to start a new Activity
Intent
intent
;
// Current fragment loaded
Fragment
current
=
getSupportFragmentManager
().
findFragmentById
(
R
.
id
.
fragment_placeholder
);
// Handle item selection
switch
(
item
.
getItemId
())
{
case
R
.
id
.
ml_menu_sortby_name
:
case
R
.
id
.
ml_menu_sortby_length
:
Fragment
current
=
getSupportFragmentManager
().
findFragmentById
(
R
.
id
.
fragment_placeholder
);
if
(
current
==
null
)
break
;
if
(
current
instanceof
ISortable
)
...
...
@@ -632,13 +634,8 @@ public class MainActivity extends ActionBarActivity {
break
;
// Refresh
case
R
.
id
.
ml_menu_refresh
:
// TODO: factor this into each fragment
if
(
mCurrentFragment
!=
null
&&
mCurrentFragment
.
equals
(
"directories"
))
{
DirectoryViewFragment
directoryView
=
(
DirectoryViewFragment
)
getFragment
(
mCurrentFragment
);
directoryView
.
refresh
();
}
else
if
(
mCurrentFragment
!=
null
&&
mCurrentFragment
.
equals
(
"history"
))
((
HistoryFragment
)
getFragment
(
mCurrentFragment
)).
refresh
();
if
(
current
!=
null
&&
current
instanceof
IRefreshable
)
((
IRefreshable
)
current
).
refresh
();
else
MediaLibrary
.
getInstance
().
loadMediaItems
(
this
,
true
);
break
;
...
...
vlc-android/src/org/videolan/vlc/interfaces/IRefreshable.java
0 → 100644
View file @
dec3d729
/*****************************************************************************
* IRefreshable.java
*****************************************************************************
* Copyright © 2014 VLC authors and VideoLAN
*
* This program 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 2 of the License, or
* (at your option) any later version.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
package
org.videolan.vlc.interfaces
;
public
interface
IRefreshable
{
public
void
refresh
();
}
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