mirror of
https://github.com/moparisthebest/k-9
synced 2024-08-13 17:03:48 -04:00
0fac8e999d
Remove home-grown date formatting, and replace it by usage of the DateUtils class which is present since API level 3.
80 lines
2.5 KiB
Java
80 lines
2.5 KiB
Java
package com.fsck.k9.activity;
|
|
|
|
import android.view.KeyEvent;
|
|
import android.view.MotionEvent;
|
|
import android.widget.AdapterView;
|
|
import android.widget.ListView;
|
|
import android.os.Bundle;
|
|
|
|
import com.actionbarsherlock.app.SherlockListActivity;
|
|
import com.fsck.k9.K9;
|
|
import com.fsck.k9.activity.K9ActivityCommon.K9ActivityMagic;
|
|
import com.fsck.k9.activity.misc.SwipeGestureDetector.OnSwipeGestureListener;
|
|
|
|
|
|
public class K9ListActivity extends SherlockListActivity implements K9ActivityMagic {
|
|
|
|
private K9ActivityCommon mBase;
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
mBase = K9ActivityCommon.newInstance(this);
|
|
super.onCreate(savedInstanceState);
|
|
}
|
|
|
|
@Override
|
|
public boolean dispatchTouchEvent(MotionEvent event) {
|
|
mBase.preDispatchTouchEvent(event);
|
|
return super.dispatchTouchEvent(event);
|
|
}
|
|
|
|
@Override
|
|
public void onResume() {
|
|
super.onResume();
|
|
}
|
|
|
|
@Override
|
|
public void setupGestureDetector(OnSwipeGestureListener listener) {
|
|
mBase.setupGestureDetector(listener);
|
|
}
|
|
|
|
@Override
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
// Shortcuts that work no matter what is selected
|
|
if (K9.useVolumeKeysForListNavigationEnabled() &&
|
|
(keyCode == KeyEvent.KEYCODE_VOLUME_UP ||
|
|
keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
|
|
|
|
final ListView listView = getListView();
|
|
|
|
int currentPosition = listView.getSelectedItemPosition();
|
|
if (currentPosition == AdapterView.INVALID_POSITION || listView.isInTouchMode()) {
|
|
currentPosition = listView.getFirstVisiblePosition();
|
|
}
|
|
|
|
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && currentPosition > 0) {
|
|
listView.setSelection(currentPosition - 1);
|
|
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN &&
|
|
currentPosition < listView.getCount()) {
|
|
listView.setSelection(currentPosition + 1);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return super.onKeyDown(keyCode, event);
|
|
}
|
|
|
|
@Override
|
|
public boolean onKeyUp(int keyCode, KeyEvent event) {
|
|
// Swallow these events too to avoid the audible notification of a volume change
|
|
if (K9.useVolumeKeysForListNavigationEnabled() &&
|
|
(keyCode == KeyEvent.KEYCODE_VOLUME_UP ||
|
|
keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
|
|
return true;
|
|
}
|
|
|
|
return super.onKeyUp(keyCode, event);
|
|
}
|
|
}
|