Prototype of audio playback from TEA

pull/14/head
Sam Bosley 12 years ago
parent aaaab09569
commit 7e8438ac74

@ -2,19 +2,23 @@ package com.todoroo.astrid.files;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import android.app.Activity;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.aacenc.RecognizerApi;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task;
@ -27,21 +31,25 @@ public class FilesControlSet extends PopupControlSet {
private MetadataService metadataService;
private final ArrayList<File> files = new ArrayList<File>();
private final LinearLayout fileList;
public FilesControlSet(Activity activity, int viewLayout, int displayViewLayout, int title) {
super(activity, viewLayout, displayViewLayout, title);
DependencyInjectionService.getInstance().inject(this);
displayText.setText(activity.getString(R.string.TEA_control_files));
fileList = (LinearLayout) getDisplayView().findViewById(R.id.files_list);
}
@Override
protected void refreshDisplayView() {
LinearLayout display = (LinearLayout) getDisplayView();
display.removeAllViews();
fileList.removeAllViews();
for (final File f : files) {
TextView textView = new TextView(activity);
String name = f.getName();
String name = parseName(f.getName());
textView.setText(name);
if (name.contains("audio")) {
textView.setTextAppearance(activity, R.style.TextAppearance_EditRowDisplay);
if (name.contains("audio")) { //$NON-NLS-1$
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@ -49,7 +57,10 @@ public class FilesControlSet extends PopupControlSet {
}
});
}
display.addView(textView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.gravity = Gravity.RIGHT;
fileList.addView(textView, lp);
}
}
@ -70,6 +81,7 @@ public class FilesControlSet extends PopupControlSet {
} finally {
cursor.close();
}
refreshDisplayView();
}
@Override
@ -88,4 +100,16 @@ public class FilesControlSet extends PopupControlSet {
// TODO Auto-generated method stub
}
@Override
protected OnClickListener getDisplayClickListener() {
return null;
}
private String parseName(String filename) {
String[] components = filename.split("_");
long date = Long.parseLong(components[1]);
String dateString = DateUtilities.getDateString(activity, new Date(date));
return components[2] + " " + dateString;
}
}

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/display_row_body"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:gravity="center_vertical">
<TextView
android:id="@+id/display_row_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:id="@+id/files_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:paddingLeft="10dip"
android:orientation="vertical"/>
</LinearLayout>
<View
android:id="@+id/TEA_Separator"
android:layout_width="fill_parent"
android:layout_height="1px"
style="@style/TEA_Separator" />
</LinearLayout>

@ -401,6 +401,7 @@
<item >@string/TEA_control_importance</item>
<item >@string/TEA_control_lists</item>
<item >@string/TEA_control_notes</item>
<item >@string/TEA_control_files</item>
<item >@string/TEA_control_reminders</item>
<item >@string/TEA_control_timer</item>
<item >@string/TEA_control_share</item>
@ -414,6 +415,7 @@
<item>@string/TEA_control_importance</item>
<item>@string/TEA_control_lists</item>
<item>@string/TEA_control_notes</item>
<item>@string/TEA_control_files</item>
<item>@string/TEA_control_reminders</item>
<item>@string/TEA_control_timer</item>
<item>@string/TEA_control_share</item>
@ -427,6 +429,7 @@
<string name="TEA_ctrl_importance_pref">TEA_ctrl_importance_pref</string>
<string name="TEA_ctrl_lists_pref">TEA_ctrl_lists_pref</string>
<string name="TEA_ctrl_notes_pref">TEA_ctrl_notes_pref</string>
<string name="TEA_ctrl_files_pref">TEA_ctrl_files_pref</string>
<string name="TEA_ctrl_reminders_pref">TEA_ctrl_reminders_pref</string>
<string name="TEA_ctrl_timer_pref">TEA_ctrl_timer_pref</string>
<string name="TEA_ctrl_share_pref">TEA_ctrl_share_pref</string>
@ -438,6 +441,7 @@
<item>@string/TEA_ctrl_importance_pref</item>
<item>@string/TEA_ctrl_lists_pref</item>
<item>@string/TEA_ctrl_notes_pref</item>
<item>@string/TEA_ctrl_files_pref</item>
<item>@string/TEA_ctrl_reminders_pref</item>
<item>@string/TEA_ctrl_timer_pref</item>
<item>@string/TEA_ctrl_share_pref</item>

@ -419,8 +419,9 @@
<string name="TEA_control_when">When</string>
<string name="TEA_control_more_section">----Details----</string>
<string name="TEA_control_importance">Importance</string>
<string name="TEA_control_lists">Lists</string>
<string name="TEA_control_lists">Lists</string>
<string name="TEA_control_notes">Notes</string>
<string name="TEA_control_files">Files</string>
<string name="TEA_control_reminders">Reminders</string>
<string name="TEA_control_timer">Timer Controls</string>
<string name="TEA_control_share">Share With Friends</string>

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.MotionEvent;
@ -42,20 +43,7 @@ public class BeastModePreferences extends ListActivity {
buildDescriptionMap(getResources());
touchList = (TouchListView) getListView();
String order = Preferences.getStringValue(BEAST_MODE_ORDER_PREF);
String[] itemsArray;
if (order == null) {
itemsArray = getResources().getStringArray(R.array.TEA_control_sets_prefs);
} else {
itemsArray = order.split(BEAST_MODE_PREF_ITEM_SEPARATOR);
}
items = new ArrayList<String>();
for (String s : itemsArray) {
if (!s.equals(getResources().getString(R.string.TEA_ctrl_title_pref))){
items.add(s);
}
}
items = constructOrderedControlList(this);
adapter = new ArrayAdapter<String>(this, R.layout.preference_draggable_row, R.id.text, items) {
@Override
@ -120,4 +108,31 @@ public class BeastModePreferences extends ListActivity {
super.finish();
}
public static ArrayList<String> constructOrderedControlList(Context context) {
String order = Preferences.getStringValue(BEAST_MODE_ORDER_PREF);
ArrayList<String> list = new ArrayList<String>();
String[] itemsArray;
if (order == null) {
itemsArray = context.getResources().getStringArray(R.array.TEA_control_sets_prefs);
} else {
itemsArray = order.split(BEAST_MODE_PREF_ITEM_SEPARATOR);
}
for (String s : itemsArray) {
if (!s.equals(context.getResources().getString(R.string.TEA_ctrl_title_pref))){
list.add(s);
}
}
if (order == null)
return list;
itemsArray = context.getResources().getStringArray(R.array.TEA_control_sets_prefs);
for (int i = 0; i < itemsArray.length; i++) {
if (!list.contains(itemsArray[i]))
list.add(i, itemsArray[i]);
}
return list;
}
}

@ -70,6 +70,7 @@ import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.EditPeopleControlSet;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.files.FilesControlSet;
import com.todoroo.astrid.gcal.GCalControlSet;
import com.todoroo.astrid.helper.TaskEditControlSet;
import com.todoroo.astrid.notes.EditNoteActivity;
@ -550,6 +551,13 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
controls.add(timerControl);
controlSetMap.put(getString(R.string.TEA_ctrl_timer_pref), timerControl);
FilesControlSet filesControl = new FilesControlSet(getActivity(),
-1,
R.layout.control_set_files_display,
R.string.TEA_control_files);
controls.add(filesControl);
controlSetMap.put(getString(R.string.TEA_ctrl_files_pref), filesControl);
try {
if (ProducteevUtilities.INSTANCE.isLoggedIn()) {
ProducteevControlSet producteevControl = new ProducteevControlSet(
@ -578,13 +586,9 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
Log.e("astrid-error", "loading-control-set", e); //$NON-NLS-1$ //$NON-NLS-2$
}
String[] itemOrder;
String orderPreference = Preferences.getStringValue(BeastModePreferences.BEAST_MODE_ORDER_PREF);
if (orderPreference != null)
itemOrder = orderPreference.split(BeastModePreferences.BEAST_MODE_PREF_ITEM_SEPARATOR);
else
itemOrder = getResources().getStringArray(
R.array.TEA_control_sets_prefs);
ArrayList<String> controlOrder = BeastModePreferences.constructOrderedControlList(getActivity());
String[] itemOrder = controlOrder.toArray(new String[controlOrder.size()]);
String moreSectionTrigger = getString(R.string.TEA_ctrl_more_pref);
String shareViewDescriptor = getString(R.string.TEA_ctrl_share_pref);
LinearLayout section = basicControls;

Loading…
Cancel
Save