15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Copyright (C) 2014 The Android Open Source Project 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License"); 553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * you may not use this file except in compliance with the License. 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * You may obtain a copy of the License at 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * http://www.apache.org/licenses/LICENSE-2.0 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Unless required by applicable law or agreed to in writing, software 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS, 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * See the License for the specific language governing permissions and 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * limitations under the License. 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */ 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)package android.support.v4.media; 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)import android.graphics.Bitmap; 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)import android.media.MediaMetadata; 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)import android.media.Rating; 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)import java.util.Set; 245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)class MediaMetadataCompatApi21 { 2602772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch public static Set<String> keySet(Object metadataObj) { 275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return ((MediaMetadata)metadataObj).keySet(); 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) } 295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) public static Bitmap getBitmap(Object metadataObj, String key) { 315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return ((MediaMetadata)metadataObj).getBitmap(key); 32a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) } 331e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 34d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) public static long getLong(Object metadataObj, String key) { 35f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return ((MediaMetadata)metadataObj).getLong(key); 361e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) } 3793ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) 3893ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) public static Object getRating(Object metadataObj, String key) { 3993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) return ((MediaMetadata)metadataObj).getRating(key); 4093ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) } 415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 425267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static CharSequence getText(Object metadataObj, String key) { 435267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) return ((MediaMetadata) metadataObj).getText(key); 44c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) } 455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 46a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) public static class Builder { 475267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static Object newInstance() { 485267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) return new MediaMetadata.Builder(); 495267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 505267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 515267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static void putBitmap(Object builderObj, String key, Bitmap value) { 525267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) ((MediaMetadata.Builder)builderObj).putBitmap(key, value); 535267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 545267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 555267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static void putLong(Object builderObj, String key, long value) { 565267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) ((MediaMetadata.Builder)builderObj).putLong(key, value); 575267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 585267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 595267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static void putRating(Object builderObj, String key, Object ratingObj) { 60d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) ((MediaMetadata.Builder)builderObj).putRating(key, (Rating)ratingObj); 615267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 62d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) public static void putText(Object builderObj, String key, CharSequence value) { 645267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) ((MediaMetadata.Builder) builderObj).putText(key, value); 6507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch } 665267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 675267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static void putString(Object builderObj, String key, String value) { 68d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) ((MediaMetadata.Builder) builderObj).putString(key, value); 695267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 705267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 715267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public static Object build(Object builderObj) { 725267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) return ((MediaMetadata.Builder)builderObj).build(); 735267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 745267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 755267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)} 765267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)