mirror of
https://github.com/jellyfin/jellyfin-androidtv.git
synced 2026-10-26 16:45:23 +00:00
Add composite listeners
This commit is contained in:
1 parent
7fae856b93
commit
0b5b34d958
4 files changed
+54
-4
No files matched your search
@@ -48,7 +48,7 @@ public class HomeFragment extends StdBrowseFragment {
|
||||
@Override
|
||||
protected void setupEventListeners() {
|
||||
super.setupEventListeners();
|
||||
setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||
mClickedListener.registerListener(new ItemViewClickedListener());
|
||||
}
|
||||
|
||||
private final class ItemViewClickedListener implements OnItemViewClickedListener {
|
||||
|
||||
+45
-3
@@ -64,6 +64,8 @@ public class StdBrowseFragment extends BrowseFragment {
|
||||
|
||||
protected String MainTitle;
|
||||
protected ApiClient apiClient;
|
||||
protected CompositeClickedListener mClickedListener = new CompositeClickedListener();
|
||||
protected CompositeSelectedListener mSelectedListener = new CompositeSelectedListener();
|
||||
private ArrayObjectAdapter mRowsAdapter;
|
||||
private Drawable mDefaultBackground;
|
||||
private Target mBackgroundTarget;
|
||||
@@ -125,7 +127,7 @@ public class StdBrowseFragment extends BrowseFragment {
|
||||
// }
|
||||
|
||||
addAdditionalRows(mRowsAdapter);
|
||||
|
||||
|
||||
setAdapter(mRowsAdapter);
|
||||
|
||||
}
|
||||
@@ -170,8 +172,11 @@ public class StdBrowseFragment extends BrowseFragment {
|
||||
}
|
||||
});
|
||||
|
||||
setOnItemViewClickedListener(new ItemViewClickedListener());
|
||||
setOnItemViewSelectedListener(new ItemViewSelectedListener());
|
||||
setOnItemViewClickedListener(mClickedListener);
|
||||
mClickedListener.registerListener(new ItemViewClickedListener());
|
||||
|
||||
setOnItemViewSelectedListener(mSelectedListener);
|
||||
mSelectedListener.registerListener(new ItemViewSelectedListener());
|
||||
}
|
||||
|
||||
private final class ItemViewClickedListener implements OnItemViewClickedListener {
|
||||
@@ -257,5 +262,42 @@ public class StdBrowseFragment extends BrowseFragment {
|
||||
}
|
||||
}
|
||||
|
||||
protected class CompositeClickedListener implements OnItemViewClickedListener {
|
||||
private List<OnItemViewClickedListener> registeredListeners = new ArrayList<>();
|
||||
|
||||
public void registerListener (OnItemViewClickedListener listener) {
|
||||
registeredListeners.add(listener);
|
||||
}
|
||||
|
||||
public void unRegisterListener (OnItemViewClickedListener listener) {
|
||||
registeredListeners.remove(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||
for (OnItemViewClickedListener listener : registeredListeners) {
|
||||
listener.onItemClicked(itemViewHolder, item, rowViewHolder, row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected class CompositeSelectedListener implements OnItemViewSelectedListener {
|
||||
private List<OnItemViewSelectedListener> registeredListeners = new ArrayList<>();
|
||||
|
||||
public void registerListener (OnItemViewSelectedListener listener) {
|
||||
registeredListeners.add(listener);
|
||||
}
|
||||
|
||||
public void unRegisterListener (OnItemViewSelectedListener listener) {
|
||||
registeredListeners.remove(listener);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||
for (OnItemViewSelectedListener listener : registeredListeners) {
|
||||
listener.onItemSelected(itemViewHolder, item, rowViewHolder, row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,8 @@ import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Point;
|
||||
import android.media.AudioManager;
|
||||
import android.media.ToneGenerator;
|
||||
import android.view.Display;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.Toast;
|
||||
@@ -148,4 +150,10 @@ public class Utils {
|
||||
|
||||
return apiClient.GetImageUrl(item, options);
|
||||
}
|
||||
|
||||
public static void Beep() {
|
||||
// send the tone to the "alarm" stream (classic beeps go there) with 50% volume
|
||||
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 50);
|
||||
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); // 200 is duration in ms
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 491 KiB |
Reference in new issue
Block a user