| 
 | 1 | +/*  | 
 | 2 | + * Copyright 2024 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 | + *     https://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.example.compose.snippets.animations.demo  | 
 | 18 | + | 
 | 19 | +import androidx.annotation.DrawableRes  | 
 | 20 | +import com.example.compose.snippets.R  | 
 | 21 | + | 
 | 22 | +val CheeseImages = listOf(  | 
 | 23 | +    R.drawable.cheese_1,  | 
 | 24 | +    R.drawable.cheese_2,  | 
 | 25 | +    R.drawable.cheese_3,  | 
 | 26 | +    R.drawable.cheese_4,  | 
 | 27 | +    R.drawable.cheese_5  | 
 | 28 | +)  | 
 | 29 | + | 
 | 30 | +val CheeseNames = listOf(  | 
 | 31 | +    "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",  | 
 | 32 | +    "Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale",  | 
 | 33 | +    "Aisy Cendre", "Allgauer Emmentaler", "Alverca", "Ambert", "American Cheese",  | 
 | 34 | +    "Ami du Chambertin", "Anejo Enchilado", "Anneau du Vic-Bilh", "Anthoriro", "Appenzell",  | 
 | 35 | +    "Aragon", "Ardi Gasna", "Ardrahan", "Armenian String", "Aromes au Gene de Marc",  | 
 | 36 | +    "Asadero", "Asiago", "Aubisque Pyrenees", "Autun", "Avaxtskyr", "Baby Swiss",  | 
 | 37 | +    "Babybel", "Baguette Laonnaise", "Bakers", "Baladi", "Balaton", "Bandal", "Banon",  | 
 | 38 | +    "Barry's Bay Cheddar", "Basing", "Basket Cheese", "Bath Cheese", "Bavarian Bergkase",  | 
 | 39 | +    "Baylough", "Beaufort", "Beauvoorde", "Beenleigh Blue", "Beer Cheese", "Bel Paese",  | 
 | 40 | +    "Bergader", "Bergere Bleue", "Berkswell", "Beyaz Peynir", "Bierkase", "Bishop Kennedy",  | 
 | 41 | +    "Blarney", "Bleu d'Auvergne", "Bleu de Gex", "Bleu de Laqueuille",  | 
 | 42 | +    "Bleu de Septmoncel", "Bleu Des Causses", "Blue", "Blue Castello", "Blue Rathgore",  | 
 | 43 | +    "Blue Vein (Australian)", "Blue Vein Cheeses", "Bocconcini", "Bocconcini (Australian)",  | 
 | 44 | +    "Boeren Leidenkaas", "Bonchester", "Bosworth", "Bougon", "Boule Du Roves",  | 
 | 45 | +    "Boulette d'Avesnes", "Boursault", "Boursin", "Bouyssou", "Bra", "Braudostur",  | 
 | 46 | +    "Breakfast Cheese", "Brebis du Lavort", "Brebis du Lochois", "Brebis du Puyfaucon",  | 
 | 47 | +    "Bresse Bleu", "Brick", "Brie", "Brie de Meaux", "Brie de Melun", "Brillat-Savarin",  | 
 | 48 | +    "Brin", "Brin d' Amour", "Brin d'Amour", "Brinza (Burduf Brinza)",  | 
 | 49 | +    "Briquette de Brebis", "Briquette du Forez", "Broccio", "Broccio Demi-Affine",  | 
 | 50 | +    "Brousse du Rove", "Bruder Basil", "Brusselae Kaas (Fromage de Bruxelles)", "Bryndza",  | 
 | 51 | +    "Buchette d'Anjou", "Buffalo", "Burgos", "Butte", "Butterkase", "Button (Innes)",  | 
 | 52 | +    "Buxton Blue", "Cabecou", "Caboc", "Cabrales", "Cachaille", "Caciocavallo", "Caciotta",  | 
 | 53 | +    "Caerphilly", "Cairnsmore", "Calenzana", "Cambazola", "Camembert de Normandie",  | 
 | 54 | +    "Canadian Cheddar", "Canestrato", "Cantal", "Caprice des Dieux", "Capricorn Goat",  | 
 | 55 | +    "Capriole Banon", "Carre de l'Est", "Casciotta di Urbino", "Cashel Blue", "Castellano",  | 
 | 56 | +    "Castelleno", "Castelmagno", "Castelo Branco", "Castigliano", "Cathelain",  | 
 | 57 | +    "Celtic Promise", "Cendre d'Olivet", "Cerney", "Chabichou", "Chabichou du Poitou",  | 
 | 58 | +    "Chabis de Gatine", "Chaource", "Charolais", "Chaumes", "Cheddar",  | 
 | 59 | +    "Cheddar Clothbound", "Cheshire", "Chevres", "Chevrotin des Aravis", "Chontaleno",  | 
 | 60 | +    "Civray", "Coeur de Camembert au Calvados", "Coeur de Chevre", "Colby", "Cold Pack",  | 
 | 61 | +    "Comte", "Coolea", "Cooleney", "Coquetdale", "Corleggy", "Cornish Pepper",  | 
 | 62 | +    "Cotherstone", "Cotija", "Cottage Cheese", "Cottage Cheese (Australian)",  | 
 | 63 | +    "Cougar Gold", "Coulommiers", "Coverdale", "Crayeux de Roncq", "Cream Cheese",  | 
 | 64 | +    "Cream Havarti", "Crema Agria", "Crema Mexicana", "Creme Fraiche", "Crescenza",  | 
 | 65 | +    "Croghan", "Crottin de Chavignol", "Crottin du Chavignol", "Crowdie", "Crowley",  | 
 | 66 | +    "Cuajada", "Curd", "Cure Nantais", "Curworthy", "Cwmtawe Pecorino",  | 
 | 67 | +    "Cypress Grove Chevre", "Danablu (Danish Blue)", "Danbo", "Danish Fontina",  | 
 | 68 | +    "Daralagjazsky", "Dauphin", "Delice des Fiouves", "Denhany Dorset Drum", "Derby",  | 
 | 69 | +    "Dessertnyj Belyj", "Devon Blue", "Devon Garland", "Dolcelatte", "Doolin",  | 
 | 70 | +    "Doppelrhamstufel", "Dorset Blue Vinney", "Double Gloucester", "Double Worcester",  | 
 | 71 | +    "Dreux a la Feuille", "Dry Jack", "Duddleswell", "Dunbarra", "Dunlop", "Dunsyre Blue",  | 
 | 72 | +    "Duroblando", "Durrus", "Dutch Mimolette (Commissiekaas)", "Edam", "Edelpilz",  | 
 | 73 | +    "Emental Grand Cru", "Emlett", "Emmental", "Epoisses de Bourgogne", "Esbareich",  | 
 | 74 | +    "Esrom", "Etorki", "Evansdale Farmhouse Brie", "Evora De L'Alentejo", "Exmoor Blue",  | 
 | 75 | +    "Explorateur", "Feta", "Feta (Australian)", "Figue", "Filetta", "Fin-de-Siecle",  | 
 | 76 | +    "Finlandia Swiss", "Finn", "Fiore Sardo", "Fleur du Maquis", "Flor de Guia",  | 
 | 77 | +    "Flower Marie", "Folded", "Folded cheese with mint", "Fondant de Brebis",  | 
 | 78 | +    "Fontainebleau", "Fontal", "Fontina Val d'Aosta", "Formaggio di capra", "Fougerus",  | 
 | 79 | +    "Four Herb Gouda", "Fourme d' Ambert", "Fourme de Haute Loire", "Fourme de Montbrison",  | 
 | 80 | +    "Fresh Jack", "Fresh Mozzarella", "Fresh Ricotta", "Fresh Truffles", "Fribourgeois",  | 
 | 81 | +    "Friesekaas", "Friesian", "Friesla", "Frinault", "Fromage a Raclette", "Fromage Corse",  | 
 | 82 | +    "Fromage de Montagne de Savoie", "Fromage Frais", "Fruit Cream Cheese",  | 
 | 83 | +    "Frying Cheese", "Fynbo", "Gabriel", "Galette du Paludier", "Galette Lyonnaise",  | 
 | 84 | +    "Galloway Goat's Milk Gems", "Gammelost", "Gaperon a l'Ail", "Garrotxa", "Gastanberra",  | 
 | 85 | +    "Geitost", "Gippsland Blue", "Gjetost", "Gloucester", "Golden Cross", "Gorgonzola",  | 
 | 86 | +    "Gornyaltajski", "Gospel Green", "Gouda", "Goutu", "Gowrie", "Grabetto", "Graddost",  | 
 | 87 | +    "Grafton Village Cheddar", "Grana", "Grana Padano", "Grand Vatel",  | 
 | 88 | +    "Grataron d' Areches", "Gratte-Paille", "Graviera", "Greuilh", "Greve",  | 
 | 89 | +    "Gris de Lille", "Gruyere", "Gubbeen", "Guerbigny", "Halloumi",  | 
 | 90 | +    "Halloumy (Australian)", "Haloumi-Style Cheese", "Harbourne Blue", "Havarti",  | 
 | 91 | +    "Heidi Gruyere", "Hereford Hop", "Herrgardsost", "Herriot Farmhouse", "Herve",  | 
 | 92 | +    "Hipi Iti", "Hubbardston Blue Cow", "Hushallsost", "Iberico", "Idaho Goatster",  | 
 | 93 | +    "Idiazabal", "Il Boschetto al Tartufo", "Ile d'Yeu", "Isle of Mull", "Jarlsberg",  | 
 | 94 | +    "Jermi Tortes", "Jibneh Arabieh", "Jindi Brie", "Jubilee Blue", "Juustoleipa",  | 
 | 95 | +    "Kadchgall", "Kaseri", "Kashta", "Kefalotyri", "Kenafa", "Kernhem", "Kervella Affine",  | 
 | 96 | +    "Kikorangi", "King Island Cape Wickham Brie", "King River Gold", "Klosterkaese",  | 
 | 97 | +    "Knockalara", "Kugelkase", "L'Aveyronnais", "L'Ecir de l'Aubrac", "La Taupiniere",  | 
 | 98 | +    "La Vache Qui Rit", "Laguiole", "Lairobell", "Lajta", "Lanark Blue", "Lancashire",  | 
 | 99 | +    "Langres", "Lappi", "Laruns", "Lavistown", "Le Brin", "Le Fium Orbo", "Le Lacandou",  | 
 | 100 | +    "Le Roule", "Leafield", "Lebbene", "Leerdammer", "Leicester", "Leyden", "Limburger",  | 
 | 101 | +    "Lincolnshire Poacher", "Lingot Saint Bousquet d'Orb", "Liptauer", "Little Rydings",  | 
 | 102 | +    "Livarot", "Llanboidy", "Llanglofan Farmhouse", "Loch Arthur Farmhouse",  | 
 | 103 | +    "Loddiswell Avondale", "Longhorn", "Lou Palou", "Lou Pevre", "Lyonnais", "Maasdam",  | 
 | 104 | +    "Macconais", "Mahoe Aged Gouda", "Mahon", "Malvern", "Mamirolle", "Manchego",  | 
 | 105 | +    "Manouri", "Manur", "Marble Cheddar", "Marbled Cheeses", "Maredsous", "Margotin",  | 
 | 106 | +    "Maribo", "Maroilles", "Mascares", "Mascarpone", "Mascarpone (Australian)",  | 
 | 107 | +    "Mascarpone Torta", "Matocq", "Maytag Blue", "Meira", "Menallack Farmhouse",  | 
 | 108 | +    "Menonita", "Meredith Blue", "Mesost", "Metton (Cancoillotte)", "Meyer Vintage Gouda",  | 
 | 109 | +    "Mihalic Peynir", "Milleens", "Mimolette", "Mine-Gabhar", "Mini Baby Bells", "Mixte",  | 
 | 110 | +    "Molbo", "Monastery Cheeses", "Mondseer", "Mont D'or Lyonnais", "Montasio",  | 
 | 111 | +    "Monterey Jack", "Monterey Jack Dry", "Morbier", "Morbier Cru de Montagne",  | 
 | 112 | +    "Mothais a la Feuille", "Mozzarella", "Mozzarella (Australian)",  | 
 | 113 | +    "Mozzarella di Bufala", "Mozzarella Fresh, in water", "Mozzarella Rolls", "Munster",  | 
 | 114 | +    "Murol", "Mycella", "Myzithra", "Naboulsi", "Nantais", "Neufchatel",  | 
 | 115 | +    "Neufchatel (Australian)", "Niolo", "Nokkelost", "Northumberland", "Oaxaca",  | 
 | 116 | +    "Olde York", "Olivet au Foin", "Olivet Bleu", "Olivet Cendre",  | 
 | 117 | +    "Orkney Extra Mature Cheddar", "Orla", "Oschtjepka", "Ossau Fermier", "Ossau-Iraty",  | 
 | 118 | +    "Oszczypek", "Oxford Blue", "P'tit Berrichon", "Palet de Babligny", "Paneer", "Panela",  | 
 | 119 | +    "Pannerone", "Pant ys Gawn", "Parmesan (Parmigiano)", "Parmigiano Reggiano",  | 
 | 120 | +    "Pas de l'Escalette", "Passendale", "Pasteurized Processed", "Pate de Fromage",  | 
 | 121 | +    "Patefine Fort", "Pave d'Affinois", "Pave d'Auge", "Pave de Chirac", "Pave du Berry",  | 
 | 122 | +    "Pecorino", "Pecorino in Walnut Leaves", "Pecorino Romano", "Peekskill Pyramid",  | 
 | 123 | +    "Pelardon des Cevennes", "Pelardon des Corbieres", "Penamellera", "Penbryn",  | 
 | 124 | +    "Pencarreg", "Perail de Brebis", "Petit Morin", "Petit Pardou", "Petit-Suisse",  | 
 | 125 | +    "Picodon de Chevre", "Picos de Europa", "Piora", "Pithtviers au Foin",  | 
 | 126 | +    "Plateau de Herve", "Plymouth Cheese", "Podhalanski", "Poivre d'Ane", "Polkolbin",  | 
 | 127 | +    "Pont l'Eveque", "Port Nicholson", "Port-Salut", "Postel", "Pouligny-Saint-Pierre",  | 
 | 128 | +    "Pourly", "Prastost", "Pressato", "Prince-Jean", "Processed Cheddar", "Provolone",  | 
 | 129 | +    "Provolone (Australian)", "Pyengana Cheddar", "Pyramide", "Quark",  | 
 | 130 | +    "Quark (Australian)", "Quartirolo Lombardo", "Quatre-Vents", "Quercy Petit",  | 
 | 131 | +    "Queso Blanco", "Queso Blanco con Frutas --Pina y Mango", "Queso de Murcia",  | 
 | 132 | +    "Queso del Montsec", "Queso del Tietar", "Queso Fresco", "Queso Fresco (Adobera)",  | 
 | 133 | +    "Queso Iberico", "Queso Jalapeno", "Queso Majorero", "Queso Media Luna",  | 
 | 134 | +    "Queso Para Frier", "Queso Quesadilla", "Rabacal", "Raclette", "Ragusano", "Raschera",  | 
 | 135 | +    "Reblochon", "Red Leicester", "Regal de la Dombes", "Reggianito", "Remedou",  | 
 | 136 | +    "Requeson", "Richelieu", "Ricotta", "Ricotta (Australian)", "Ricotta Salata", "Ridder",  | 
 | 137 | +    "Rigotte", "Rocamadour", "Rollot", "Romano", "Romans Part Dieu", "Roncal", "Roquefort",  | 
 | 138 | +    "Roule", "Rouleau De Beaulieu", "Royalp Tilsit", "Rubens", "Rustinu", "Saaland Pfarr",  | 
 | 139 | +    "Saanenkaese", "Saga", "Sage Derby", "Sainte Maure", "Saint-Marcellin",  | 
 | 140 | +    "Saint-Nectaire", "Saint-Paulin", "Salers", "Samso", "San Simon", "Sancerre",  | 
 | 141 | +    "Sap Sago", "Sardo", "Sardo Egyptian", "Sbrinz", "Scamorza", "Schabzieger", "Schloss",  | 
 | 142 | +    "Selles sur Cher", "Selva", "Serat", "Seriously Strong Cheddar", "Serra da Estrela",  | 
 | 143 | +    "Sharpam", "Shelburne Cheddar", "Shropshire Blue", "Siraz", "Sirene", "Smoked Gouda",  | 
 | 144 | +    "Somerset Brie", "Sonoma Jack", "Sottocenare al Tartufo", "Soumaintrain",  | 
 | 145 | +    "Sourire Lozerien", "Spenwood", "Sraffordshire Organic", "St. Agur Blue Cheese",  | 
 | 146 | +    "Stilton", "Stinking Bishop", "String", "Sussex Slipcote", "Sveciaost", "Swaledale",  | 
 | 147 | +    "Sweet Style Swiss", "Swiss", "Syrian (Armenian String)", "Tala", "Taleggio", "Tamie",  | 
 | 148 | +    "Tasmania Highland Chevre Log", "Taupiniere", "Teifi", "Telemea", "Testouri",  | 
 | 149 | +    "Tete de Moine", "Tetilla", "Texas Goat Cheese", "Tibet", "Tillamook Cheddar",  | 
 | 150 | +    "Tilsit", "Timboon Brie", "Toma", "Tomme Brulee", "Tomme d'Abondance",  | 
 | 151 | +    "Tomme de Chevre", "Tomme de Romans", "Tomme de Savoie", "Tomme des Chouans", "Tommes",  | 
 | 152 | +    "Torta del Casar", "Toscanello", "Touree de L'Aubier", "Tourmalet",  | 
 | 153 | +    "Trappe (Veritable)", "Trois Cornes De Vendee", "Tronchon", "Trou du Cru", "Truffe",  | 
 | 154 | +    "Tupi", "Turunmaa", "Tymsboro", "Tyn Grug", "Tyning", "Ubriaco", "Ulloa",  | 
 | 155 | +    "Vacherin-Fribourgeois", "Valencay", "Vasterbottenost", "Venaco", "Vendomois",  | 
 | 156 | +    "Vieux Corse", "Vignotte", "Vulscombe", "Waimata Farmhouse Blue",  | 
 | 157 | +    "Washed Rind Cheese (Australian)", "Waterloo", "Weichkaese", "Wellington",  | 
 | 158 | +    "Wensleydale", "White Stilton", "Whitestone Farmhouse", "Wigmore", "Woodside Cabecou",  | 
 | 159 | +    "Xanadu", "Xynotyro", "Yarg Cornish", "Yarra Valley Pyramid", "Yorkshire Blue",  | 
 | 160 | +    "Zamorano", "Zanetti Grana Padano", "Zanetti Parmigiano Reggiano"  | 
 | 161 | +)  | 
 | 162 | + | 
 | 163 | +data class Cheese(  | 
 | 164 | +    val id: Long,  | 
 | 165 | +    val name: String,  | 
 | 166 | +    @DrawableRes val image: Int  | 
 | 167 | +) {  | 
 | 168 | +    companion object {  | 
 | 169 | +        fun all(): List<Cheese> {  | 
 | 170 | +            return CheeseNames.mapIndexed { i, name ->  | 
 | 171 | +                Cheese(  | 
 | 172 | +                    id = (i + 1).toLong(),  | 
 | 173 | +                    name = name,  | 
 | 174 | +                    image = CheeseImages[  | 
 | 175 | +                        ((name.hashCode() % CheeseImages.size) + CheeseImages.size) %  | 
 | 176 | +                            CheeseImages.size  | 
 | 177 | +                    ]  | 
 | 178 | +                )  | 
 | 179 | +            }  | 
 | 180 | +        }  | 
 | 181 | +    }  | 
 | 182 | +}  | 
0 commit comments