• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.music;
18 
19 import android.app.ListActivity;
20 import android.content.ContentResolver;
21 import android.content.ContentUris;
22 import android.content.Intent;
23 import android.database.Cursor;
24 import android.media.AudioManager;
25 import android.os.Bundle;
26 import android.provider.MediaStore;
27 import android.view.View;
28 import android.widget.ListView;
29 import android.widget.SimpleCursorAdapter;
30 
31 import java.lang.Integer;
32 
33 public class VideoBrowserActivity extends ListActivity implements MusicUtils.Defs
34 {
VideoBrowserActivity()35     public VideoBrowserActivity()
36     {
37     }
38 
39     /** Called when the activity is first created. */
40     @Override
onCreate(Bundle icicle)41     public void onCreate(Bundle icicle)
42     {
43         super.onCreate(icicle);
44         setVolumeControlStream(AudioManager.STREAM_MUSIC);
45         init();
46     }
47 
init()48     public void init() {
49 
50         // Set the layout for this activity.  You can find it
51         // in assets/res/any/layout/media_picker_activity.xml
52         setContentView(R.layout.media_picker_activity);
53 
54         MakeCursor();
55 
56         if (mCursor == null) {
57             MusicUtils.displayDatabaseError(this);
58             return;
59         }
60 
61         if (mCursor.getCount() > 0) {
62             setTitle(R.string.videos_title);
63         } else {
64             setTitle(R.string.no_videos_title);
65         }
66 
67         // Map Cursor columns to views defined in media_list_item.xml
68         SimpleCursorAdapter adapter = new SimpleCursorAdapter(
69                 this,
70                 android.R.layout.simple_list_item_1,
71                 mCursor,
72                 new String[] { MediaStore.Video.Media.TITLE},
73                 new int[] { android.R.id.text1 });
74 
75         setListAdapter(adapter);
76     }
77 
78     @Override
onListItemClick(ListView l, View v, int position, long id)79     protected void onListItemClick(ListView l, View v, int position, long id)
80     {
81         Intent intent = new Intent(Intent.ACTION_VIEW);
82         mCursor.moveToPosition(position);
83         String type = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));
84         intent.setDataAndType(ContentUris.withAppendedId(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, id), type);
85 
86         startActivity(intent);
87     }
88 
MakeCursor()89     private void MakeCursor() {
90         String[] cols = new String[] {
91                 MediaStore.Video.Media._ID,
92                 MediaStore.Video.Media.TITLE,
93                 MediaStore.Video.Media.DATA,
94                 MediaStore.Video.Media.MIME_TYPE,
95                 MediaStore.Video.Media.ARTIST
96         };
97         ContentResolver resolver = getContentResolver();
98         if (resolver == null) {
99             System.out.println("resolver = null");
100         } else {
101             mSortOrder = MediaStore.Video.Media.TITLE + " COLLATE UNICODE";
102             mWhereClause = MediaStore.Video.Media.TITLE + " != ''";
103             mCursor = resolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
104                 cols, mWhereClause , null, mSortOrder);
105         }
106     }
107 
108     @Override
onDestroy()109     public void onDestroy() {
110         if (mCursor != null) {
111             mCursor.close();
112         }
113         super.onDestroy();
114     }
115 
116     private Cursor mCursor;
117     private String mWhereClause;
118     private String mSortOrder;
119 }
120 
121