diff --git a/src/ch/blinkenlights/android/vanilla/DraggableRow.java b/src/ch/blinkenlights/android/vanilla/DraggableRow.java index 037c3123..bf8f3b52 100644 --- a/src/ch/blinkenlights/android/vanilla/DraggableRow.java +++ b/src/ch/blinkenlights/android/vanilla/DraggableRow.java @@ -108,16 +108,6 @@ public class DraggableRow extends LinearLayout implements Checkable { setChecked(!mChecked); } - /** - * Only make interesting parts clickable - */ - @Override - public void setOnClickListener(View.OnClickListener listener) { - mTextView.setOnClickListener(listener); - mCoverView.setOnClickListener(listener); - mDragger.setOnClickListener(listener); - } - /** * We glue tags to the text view to make getTag() simpler and consistent * with the on click listener interception diff --git a/src/ch/blinkenlights/android/vanilla/FileSystemAdapter.java b/src/ch/blinkenlights/android/vanilla/FileSystemAdapter.java index b31cdfa8..c0a3aade 100644 --- a/src/ch/blinkenlights/android/vanilla/FileSystemAdapter.java +++ b/src/ch/blinkenlights/android/vanilla/FileSystemAdapter.java @@ -191,33 +191,30 @@ public class FileSystemAdapter @Override public View getView(int pos, View convertView, ViewGroup parent) { - View view; + DraggableRow row; ViewHolder holder; if (convertView == null) { - view = mInflater.inflate(R.layout.library_row_expandable, null); - holder = new ViewHolder(); - holder.text = (TextView)view.findViewById(R.id.text); - holder.divider = (View)view.findViewById(R.id.divider); - holder.cover = (LazyCoverView)view.findViewById(R.id.cover); - holder.arrow = (ImageView)view.findViewById(R.id.arrow); + row = (DraggableRow)mInflater.inflate(R.layout.draggable_row, null); + row.setupLayout(DraggableRow.LAYOUT_LISTVIEW); - holder.cover.setImageDrawable(mFolderIcon); - holder.arrow.setOnClickListener(this); - view.setTag(holder); + holder = new ViewHolder(); + row.setTag(holder); + row.setOnClickListener(this); + row.getCoverView().setImageDrawable(mFolderIcon); } else { - view = convertView; - holder = (ViewHolder)view.getTag(); + row = (DraggableRow)convertView; + holder = (ViewHolder)row.getTag(); } File file = mFiles[pos]; boolean isDirectory = file.isDirectory(); holder.id = pos; - holder.text.setText(file.getName()); - holder.arrow.setVisibility(isDirectory ? View.VISIBLE : View.GONE); - holder.divider.setVisibility(isDirectory ? View.VISIBLE : View.GONE); - holder.cover.setVisibility(isDirectory ? View.VISIBLE : View.GONE); - return view; + + row.getTextView().setText(file.getName()); + row.getCoverView().setVisibility(isDirectory ? View.VISIBLE : View.GONE); + row.showDragger(isDirectory); + return row; } @Override @@ -295,7 +292,7 @@ public class FileSystemAdapter Intent intent = new Intent(); intent.putExtra(LibraryAdapter.DATA_TYPE, MediaUtils.TYPE_FILE); intent.putExtra(LibraryAdapter.DATA_ID, holder.id); - intent.putExtra(LibraryAdapter.DATA_TITLE, holder.text.getText().toString()); + intent.putExtra(LibraryAdapter.DATA_TITLE, ((DraggableRow)view).getTextView().getText().toString()); intent.putExtra(LibraryAdapter.DATA_EXPANDABLE, file.isDirectory()); String path; @@ -311,10 +308,6 @@ public class FileSystemAdapter @Override public void onClick(View view) { - onHandleRowClick((View)view.getParent()); - } - - public void onHandleRowClick(View view) { Intent intent = createData(view); boolean isFolder = intent.getBooleanExtra(LibraryAdapter.DATA_EXPANDABLE, false); diff --git a/src/ch/blinkenlights/android/vanilla/LibraryPagerAdapter.java b/src/ch/blinkenlights/android/vanilla/LibraryPagerAdapter.java index 9fbd8fca..d0d4e520 100644 --- a/src/ch/blinkenlights/android/vanilla/LibraryPagerAdapter.java +++ b/src/ch/blinkenlights/android/vanilla/LibraryPagerAdapter.java @@ -844,7 +844,7 @@ public class LibraryPagerAdapter public void onItemClick (AdapterView parent, View view, int position, long id) { int type = (Integer)parent.getTag(); if (type == MediaUtils.TYPE_FILE) { - mFilesAdapter.onHandleRowClick(view); + mFilesAdapter.onClick(view); } else { Intent intent = id == -1 ? createHeaderIntent(view) : mCurrentAdapter.createData(view); mActivity.onItemClicked(intent);