library_row isnt a special snowflake anymore
This commit is contained in:
parent
e12b3b5ac6
commit
edc4abb1f4
@ -20,11 +20,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
-->
|
||||
<TextView
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:maxLines="2"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:gravity="left|center_vertical"
|
||||
android:padding="3dip"
|
||||
android:minHeight="44dip" />
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:longClickable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:maxLines="2"
|
||||
android:padding="3dip"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:gravity="left|center_vertical"
|
||||
android:layout_width="0px"
|
||||
android:layout_height="44dip"
|
||||
android:layout_weight="1" />
|
||||
</LinearLayout>
|
||||
|
@ -43,6 +43,7 @@ import android.util.LruCache;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.LinearLayout;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
@ -53,7 +54,7 @@ public class LibraryPagerAdapter
|
||||
implements Handler.Callback
|
||||
, ViewPager.OnPageChangeListener
|
||||
, View.OnCreateContextMenuListener
|
||||
, AdapterView.OnItemClickListener
|
||||
, View.OnClickListener
|
||||
{
|
||||
/**
|
||||
* The number of unique list types. The number of visible lists may be
|
||||
@ -162,9 +163,9 @@ public class LibraryPagerAdapter
|
||||
* song limiters.
|
||||
*/
|
||||
private String mHeaderText;
|
||||
private TextView mArtistHeader;
|
||||
private TextView mAlbumHeader;
|
||||
private TextView mSongHeader;
|
||||
private LinearLayout mArtistHeader;
|
||||
private LinearLayout mAlbumHeader;
|
||||
private LinearLayout mSongHeader;
|
||||
/**
|
||||
* The current filter text, or null if none.
|
||||
*/
|
||||
@ -307,24 +308,24 @@ public class LibraryPagerAdapter
|
||||
LibraryActivity activity = mActivity;
|
||||
LayoutInflater inflater = activity.getLayoutInflater();
|
||||
LibraryAdapter adapter;
|
||||
TextView header = null;
|
||||
LinearLayout header = null;
|
||||
|
||||
switch (type) {
|
||||
case MediaUtils.TYPE_ARTIST:
|
||||
adapter = mArtistAdapter = new MediaAdapter(activity, MediaUtils.TYPE_ARTIST, null);
|
||||
mArtistAdapter.setExpandable(mSongsPosition != -1 || mAlbumsPosition != -1);
|
||||
mArtistHeader = header = (TextView)inflater.inflate(R.layout.library_row, null);
|
||||
mArtistHeader = header = (LinearLayout)inflater.inflate(R.layout.library_row, null);
|
||||
break;
|
||||
case MediaUtils.TYPE_ALBUM:
|
||||
adapter = mAlbumAdapter = new MediaAdapter(activity, MediaUtils.TYPE_ALBUM, mPendingAlbumLimiter);
|
||||
mAlbumAdapter.setExpandable(mSongsPosition != -1);
|
||||
mPendingAlbumLimiter = null;
|
||||
mAlbumHeader = header = (TextView)inflater.inflate(R.layout.library_row, null);
|
||||
mAlbumHeader = header = (LinearLayout)inflater.inflate(R.layout.library_row, null);
|
||||
break;
|
||||
case MediaUtils.TYPE_SONG:
|
||||
adapter = mSongAdapter = new MediaAdapter(activity, MediaUtils.TYPE_SONG, mPendingSongLimiter);
|
||||
mPendingSongLimiter = null;
|
||||
mSongHeader = header = (TextView)inflater.inflate(R.layout.library_row, null);
|
||||
mSongHeader = header = (LinearLayout)inflater.inflate(R.layout.library_row, null);
|
||||
break;
|
||||
case MediaUtils.TYPE_PLAYLIST:
|
||||
adapter = mPlaylistAdapter = new MediaAdapter(activity, MediaUtils.TYPE_PLAYLIST, null);
|
||||
@ -343,10 +344,12 @@ public class LibraryPagerAdapter
|
||||
|
||||
view = (ListView)inflater.inflate(R.layout.listview, null);
|
||||
view.setOnCreateContextMenuListener(this);
|
||||
view.setOnItemClickListener(this);
|
||||
|
||||
view.setTag(type);
|
||||
if (header != null) {
|
||||
header.setText(mHeaderText);
|
||||
TextView headerText = (TextView)header.findViewById(R.id.text);
|
||||
headerText.setText(mHeaderText);
|
||||
headerText.setOnClickListener(this);
|
||||
header.setTag(type);
|
||||
view.addHeaderView(header);
|
||||
}
|
||||
@ -466,11 +469,11 @@ public class LibraryPagerAdapter
|
||||
public void setHeaderText(String text)
|
||||
{
|
||||
if (mArtistHeader != null)
|
||||
mArtistHeader.setText(text);
|
||||
((TextView)mArtistHeader.findViewById(R.id.text)).setText(text);
|
||||
if (mAlbumHeader != null)
|
||||
mAlbumHeader.setText(text);
|
||||
((TextView)mAlbumHeader.findViewById(R.id.text)).setText(text);
|
||||
if (mSongHeader != null)
|
||||
mSongHeader.setText(text);
|
||||
((TextView)mSongHeader.findViewById(R.id.text)).setText(text);
|
||||
mHeaderText = text;
|
||||
}
|
||||
|
||||
@ -836,13 +839,12 @@ public class LibraryPagerAdapter
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> list, View view, int position, long id)
|
||||
{
|
||||
Intent intent = id == -1 ? createHeaderIntent(view) : mCurrentAdapter.createData(view);
|
||||
public void onClick(View view) {
|
||||
view = (View)view.getParent(); // get view of linear layout, not the click consumer
|
||||
Intent intent = createHeaderIntent(view);
|
||||
mActivity.onItemClicked(intent);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* LRU implementation for filebrowser position cache
|
||||
*/
|
||||
|
@ -454,15 +454,11 @@ public class MediaAdapter
|
||||
holder = new ViewHolder();
|
||||
view.setTag(holder);
|
||||
|
||||
holder.text = (TextView)view.findViewById(R.id.text);
|
||||
if (mExpandable) {
|
||||
holder.text = (TextView)view.findViewById(R.id.text);
|
||||
holder.arrow = (ImageView)view.findViewById(R.id.arrow);
|
||||
holder.arrow.setOnClickListener(this);
|
||||
} else {
|
||||
holder.text = (TextView)view;
|
||||
view.setLongClickable(true);
|
||||
}
|
||||
|
||||
holder.text.setOnClickListener(this);
|
||||
} else {
|
||||
holder = (ViewHolder)view.getTag();
|
||||
@ -565,8 +561,7 @@ public class MediaAdapter
|
||||
public void onClick(View view)
|
||||
{
|
||||
int id = view.getId();
|
||||
if (mExpandable)
|
||||
view = (View)view.getParent();
|
||||
view = (View)view.getParent(); // get view of linear layout, not the click consumer
|
||||
Intent intent = createData(view);
|
||||
if (id == R.id.arrow) {
|
||||
mActivity.onItemExpanded(intent);
|
||||
|
Loading…
x
Reference in New Issue
Block a user