mirror of
https://github.com/moparisthebest/k-9
synced 2024-08-13 17:03:48 -04:00
94 lines
3.0 KiB
Java
94 lines
3.0 KiB
Java
package com.fsck.k9.activity;
|
|
|
|
import android.app.ListActivity;
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
import android.view.KeyEvent;
|
|
import android.widget.AdapterView;
|
|
import android.widget.ListView;
|
|
|
|
import com.fsck.k9.K9;
|
|
import com.fsck.k9.helper.DateFormatter;
|
|
|
|
public class K9ListActivity extends ListActivity {
|
|
@Override
|
|
public void onCreate(Bundle icicle) {
|
|
K9Activity.setLanguage(this, K9.getK9Language());
|
|
setTheme(K9.getK9Theme());
|
|
super.onCreate(icicle);
|
|
setupFormats();
|
|
}
|
|
|
|
@Override
|
|
public void onResume() {
|
|
super.onResume();
|
|
setupFormats();
|
|
}
|
|
|
|
private java.text.DateFormat mDateFormat;
|
|
private java.text.DateFormat mTimeFormat;
|
|
|
|
private void setupFormats() {
|
|
mDateFormat = DateFormatter.getDateFormat(this);
|
|
mTimeFormat = android.text.format.DateFormat.getTimeFormat(this); // 12/24 date format
|
|
}
|
|
|
|
public java.text.DateFormat getTimeFormat() {
|
|
return mTimeFormat;
|
|
}
|
|
|
|
public java.text.DateFormat getDateFormat() {
|
|
return mDateFormat;
|
|
}
|
|
|
|
@Override
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
// Shortcuts that work no matter what is selected
|
|
switch (keyCode) {
|
|
case KeyEvent.KEYCODE_VOLUME_UP: {
|
|
final ListView listView = getListView();
|
|
if (K9.useVolumeKeysForListNavigationEnabled()) {
|
|
int currentPosition = listView.getSelectedItemPosition();
|
|
if (currentPosition == AdapterView.INVALID_POSITION || listView.isInTouchMode()) {
|
|
currentPosition = listView.getFirstVisiblePosition();
|
|
}
|
|
if (currentPosition > 0) {
|
|
listView.setSelection(currentPosition - 1);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
case KeyEvent.KEYCODE_VOLUME_DOWN: {
|
|
final ListView listView = getListView();
|
|
if (K9.useVolumeKeysForListNavigationEnabled()) {
|
|
int currentPosition = listView.getSelectedItemPosition();
|
|
if (currentPosition == AdapterView.INVALID_POSITION || listView.isInTouchMode()) {
|
|
currentPosition = listView.getFirstVisiblePosition();
|
|
}
|
|
|
|
if (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()) {
|
|
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
|
|
if (K9.DEBUG)
|
|
Log.v(K9.LOG_TAG, "Swallowed key up.");
|
|
return true;
|
|
}
|
|
}
|
|
return super.onKeyUp(keyCode, event);
|
|
}
|
|
|
|
|
|
}
|