Add keyboard shortcuts for going to the top and bottom of podcast list (#5588)
This commit is contained in:
parent
20e8b3ed6c
commit
12be830f21
@ -624,6 +624,7 @@ public class MainActivity extends CastEnabledActivity {
|
||||
|
||||
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
|
||||
Integer customKeyCode = null;
|
||||
EventBus.getDefault().post(event);
|
||||
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_P:
|
||||
|
@ -2,6 +2,7 @@ package de.danoeh.antennapod.fragment;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -321,6 +322,23 @@ public abstract class EpisodesListFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onKeyUp(KeyEvent event) {
|
||||
if (!isAdded() || !isVisible() || !isMenuVisible()) {
|
||||
return;
|
||||
}
|
||||
switch (event.getKeyCode()) {
|
||||
case KeyEvent.KEYCODE_T:
|
||||
recyclerView.smoothScrollToPosition(0);
|
||||
break;
|
||||
case KeyEvent.KEYCODE_B:
|
||||
recyclerView.smoothScrollToPosition(listAdapter.getItemCount() - 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean shouldUpdatedItemRemainInList(FeedItem item) {
|
||||
return true;
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
@ -88,6 +87,8 @@ import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import android.view.KeyEvent;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
/**
|
||||
* Displays a list of FeedItems.
|
||||
@ -644,6 +645,23 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
|
||||
return feed;
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onKeyUp(KeyEvent event) {
|
||||
if (!isAdded() || !isVisible() || !isMenuVisible()) {
|
||||
return;
|
||||
}
|
||||
switch (event.getKeyCode()) {
|
||||
case KeyEvent.KEYCODE_T:
|
||||
recyclerView.smoothScrollToPosition(0);
|
||||
break;
|
||||
case KeyEvent.KEYCODE_B:
|
||||
recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static class FeedItemListAdapter extends EpisodeItemListAdapter {
|
||||
public FeedItemListAdapter(MainActivity mainActivity) {
|
||||
super(mainActivity);
|
||||
|
@ -2,6 +2,7 @@ package de.danoeh.antennapod.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
@ -180,6 +181,23 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
|
||||
return FeedItemMenuHandler.onMenuItemClicked(this, item.getItemId(), selectedItem);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onKeyUp(KeyEvent event) {
|
||||
if (!isAdded() || !isVisible() || !isMenuVisible()) {
|
||||
return;
|
||||
}
|
||||
switch (event.getKeyCode()) {
|
||||
case KeyEvent.KEYCODE_T:
|
||||
recyclerView.smoothScrollToPosition(0);
|
||||
break;
|
||||
case KeyEvent.KEYCODE_B:
|
||||
recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onHistoryUpdated(PlaybackHistoryEvent event) {
|
||||
loadItems();
|
||||
|
@ -7,6 +7,7 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
@ -234,6 +235,23 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onKeyUp(KeyEvent event) {
|
||||
if (!isAdded() || !isVisible() || !isMenuVisible()) {
|
||||
return;
|
||||
}
|
||||
switch (event.getKeyCode()) {
|
||||
case KeyEvent.KEYCODE_T:
|
||||
recyclerView.smoothScrollToPosition(0);
|
||||
break;
|
||||
case KeyEvent.KEYCODE_B:
|
||||
recyclerView.smoothScrollToPosition(recyclerAdapter.getItemCount() - 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
|
Loading…
x
Reference in New Issue
Block a user