1a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik/* 2a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * Copyright (C) 2013 The Android Open Source Project 3a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * 4a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * Licensed under the Apache License, Version 2.0 (the "License"); 5a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * you may not use this file except in compliance with the License. 6a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * You may obtain a copy of the License at 7a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * 8a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * http://www.apache.org/licenses/LICENSE-2.0 9a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * 10a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * Unless required by applicable law or agreed to in writing, software 11a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * distributed under the License is distributed on an "AS IS" BASIS, 12a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * See the License for the specific language governing permissions and 14a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik * limitations under the License. 15a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik */ 16a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 17a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikpackage com.android.rastermill.samples; 18a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 19a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.app.ListActivity; 20a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.content.Intent; 21a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.os.Bundle; 22a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.view.View; 23a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.widget.ListView; 24a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport android.widget.SimpleAdapter; 25a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 26a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport java.util.ArrayList; 27a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport java.util.HashMap; 28a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikimport java.util.Map; 29a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 30a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craikpublic class SamplesList extends ListActivity { 31a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 32a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik static final String KEY_NAME = "name"; 33a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik static final String KEY_CLASS = "clazz"; 34a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 35a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik static Map<String,?> makeSample(String name, Class<?> activity) { 36a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik Map<String,Object> ret = new HashMap<String,Object>(); 37a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik ret.put(KEY_NAME, name); 38a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik ret.put(KEY_CLASS, activity); 39a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik return ret; 40a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik } 41a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 42a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik @SuppressWarnings("serial") 43a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik static final ArrayList<Map<String,?>> SAMPLES = new ArrayList<Map<String,?>>() {{ 44a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik add(makeSample("Animation Test", AnimatedGifTest.class)); 45a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik }}; 46a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 47a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik @Override 48a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik protected void onCreate(Bundle savedInstanceState) { 49a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik super.onCreate(savedInstanceState); 50a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik setListAdapter(new SimpleAdapter(this, SAMPLES, 51a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik android.R.layout.simple_list_item_1, new String[] { KEY_NAME }, 52a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik new int[] { android.R.id.text1 })); 53a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik } 54a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 55a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik @Override 56a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik protected void onListItemClick(ListView l, View v, int position, long id) { 57a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik Class<?> clazz = (Class<?>) SAMPLES.get(position).get(KEY_CLASS); 58a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik startActivity(new Intent(this, clazz)); 59a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik } 60a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik 61a1265c3d8a20e805e0c45083d5c7d728d4b70009Chris Craik} 62