.class public Landroid/media/MediaFile; .super Ljava/lang/Object; .source "MediaFile.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/media/MediaFile$MediaFileType; } .end annotation # static fields .field public static final FILE_TYPE_3GPP:I = 0x17 .field public static final FILE_TYPE_3GPP2:I = 0x18 .field public static final FILE_TYPE_AAC:I = 0x8 .field public static final FILE_TYPE_AMR:I = 0x4 .field public static final FILE_TYPE_ASF:I = 0x1a .field public static final FILE_TYPE_AWB:I = 0x5 .field public static final FILE_TYPE_BMP:I = 0x22 .field public static final FILE_TYPE_FLAC:I = 0x9 .field public static final FILE_TYPE_GIF:I = 0x20 .field public static final FILE_TYPE_IMY:I = 0xd .field public static final FILE_TYPE_JPEG:I = 0x1f .field public static final FILE_TYPE_M3U:I = 0x29 .field public static final FILE_TYPE_M4A:I = 0x2 .field public static final FILE_TYPE_M4V:I = 0x16 .field public static final FILE_TYPE_MID:I = 0xb .field public static final FILE_TYPE_MP3:I = 0x1 .field public static final FILE_TYPE_MP4:I = 0x15 .field public static final FILE_TYPE_OGG:I = 0x7 .field public static final FILE_TYPE_PLS:I = 0x2a .field public static final FILE_TYPE_PNG:I = 0x21 .field public static final FILE_TYPE_SMF:I = 0xc .field public static final FILE_TYPE_WAV:I = 0x3 .field public static final FILE_TYPE_WBMP:I = 0x23 .field public static final FILE_TYPE_WMA:I = 0x6 .field public static final FILE_TYPE_WMV:I = 0x19 .field public static final FILE_TYPE_WPL:I = 0x2b .field private static final FIRST_AUDIO_FILE_TYPE:I = 0x1 .field private static final FIRST_IMAGE_FILE_TYPE:I = 0x1f .field private static final FIRST_MIDI_FILE_TYPE:I = 0xb .field private static final FIRST_PLAYLIST_FILE_TYPE:I = 0x29 .field private static final FIRST_VIDEO_FILE_TYPE:I = 0x15 .field private static final LAST_AUDIO_FILE_TYPE:I = 0x9 .field private static final LAST_IMAGE_FILE_TYPE:I = 0x23 .field private static final LAST_MIDI_FILE_TYPE:I = 0xd .field private static final LAST_PLAYLIST_FILE_TYPE:I = 0x2b .field private static final LAST_VIDEO_FILE_TYPE:I = 0x1a .field public static final UNKNOWN_STRING:Ljava/lang/String; = "" .field public static final sFileExtensions:Ljava/lang/String; .field private static sFileTypeMap:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap", "<", "Ljava/lang/String;", "Landroid/media/MediaFile$MediaFileType;", ">;" } .end annotation .end field .field private static sMimeTypeMap:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap", "<", "Ljava/lang/String;", "Ljava/lang/Integer;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .registers 10 .prologue const/16 v9, 0x17 const/4 v8, 0x7 const/4 v7, 0x0 const/16 v5, 0xb const-string v6, "audio/midi" .line 94 new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V sput-object v2, Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; .line 96 new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V sput-object v2, Landroid/media/MediaFile;->sMimeTypeMap:Ljava/util/HashMap; .line 103 const-string v2, "MP3" const/4 v3, 0x1 const-string v4, "audio/mpeg" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 104 const-string v2, "M4A" const/4 v3, 0x2 const-string v4, "audio/mp4" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 105 const-string v2, "WAV" const/4 v3, 0x3 const-string v4, "audio/x-wav" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 106 const-string v2, "AMR" const/4 v3, 0x4 const-string v4, "audio/amr" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 107 const-string v2, "AWB" const/4 v3, 0x5 const-string v4, "audio/amr-wb" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 108 const-string v2, "ro.media.dec.aud.wma.enabled" invoke-static {v2, v7}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I move-result v2 if-eqz v2, :cond_4e .line 109 const-string v2, "WMA" const/4 v3, 0x6 const-string v4, "audio/x-ms-wma" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 111 :cond_4e const-string v2, "OGG" const-string v3, "application/ogg" invoke-static {v2, v8, v3}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 112 const-string v2, "OGA" const-string v3, "application/ogg" invoke-static {v2, v8, v3}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 113 const-string v2, "AAC" const/16 v3, 0x8 const-string v4, "audio/mp4a-latm" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 114 const-string v2, "FLAC" const/16 v3, 0x9 const-string v4, "audio/flac" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 116 const-string v2, "MID" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 117 const-string v2, "MIDI" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 118 const-string v2, "XMF" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 119 const-string v2, "RTTTL" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 120 const-string v2, "SMF" const/16 v3, 0xc const-string v4, "audio/sp-midi" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 121 const-string v2, "IMY" const/16 v3, 0xd const-string v4, "audio/imelody" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 122 const-string v2, "RTX" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 123 const-string v2, "OTA" const-string v3, "audio/midi" invoke-static {v2, v5, v6}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 125 const-string v2, "MP4" const/16 v3, 0x15 const-string v4, "video/mp4" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 126 const-string v2, "M4V" const/16 v3, 0x16 const-string v4, "video/mp4" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 127 const-string v2, "3GP" const-string v3, "video/3gpp" invoke-static {v2, v9, v3}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 128 const-string v2, "3GPP" const-string v3, "video/3gpp" invoke-static {v2, v9, v3}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 129 const-string v2, "3G2" const/16 v3, 0x18 const-string v4, "video/3gpp2" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 130 const-string v2, "3GPP2" const/16 v3, 0x18 const-string v4, "video/3gpp2" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 131 const-string v2, "ro.media.dec.vid.wmv.enabled" invoke-static {v2, v7}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I move-result v2 if-eqz v2, :cond_f6 .line 132 const-string v2, "WMV" const/16 v3, 0x19 const-string v4, "video/x-ms-wmv" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 133 const-string v2, "ASF" const/16 v3, 0x1a const-string v4, "video/x-ms-asf" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 136 :cond_f6 const-string v2, "JPG" const/16 v3, 0x1f const-string v4, "image/jpeg" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 137 const-string v2, "JPEG" const/16 v3, 0x1f const-string v4, "image/jpeg" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 138 const-string v2, "GIF" const/16 v3, 0x20 const-string v4, "image/gif" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 139 const-string v2, "PNG" const/16 v3, 0x21 const-string v4, "image/png" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 140 const-string v2, "BMP" const/16 v3, 0x22 const-string v4, "image/x-ms-bmp" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 141 const-string v2, "WBMP" const/16 v3, 0x23 const-string v4, "image/vnd.wap.wbmp" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 143 const-string v2, "M3U" const/16 v3, 0x29 const-string v4, "audio/x-mpegurl" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 144 const-string v2, "PLS" const/16 v3, 0x2a const-string v4, "audio/x-scpls" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 145 const-string v2, "WPL" const/16 v3, 0x2b const-string v4, "application/vnd.ms-wpl" invoke-static {v2, v3, v4}, Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V .line 148 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 149 .local v0, builder:Ljava/lang/StringBuilder; sget-object v2, Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; invoke-virtual {v2}, Ljava/util/HashMap;->keySet()Ljava/util/Set; move-result-object v2 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 .line 151 .local v1, iterator:Ljava/util/Iterator;,"Ljava/util/Iterator;" :goto_156 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_171 .line 152 invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I move-result v2 if-lez v2, :cond_167 .line 153 const/16 v2, 0x2c invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 155 :cond_167 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_156 .line 157 :cond_171 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 sput-object v2, Landroid/media/MediaFile;->sFileExtensions:Ljava/lang/String; .line 158 return-void .end method .method public constructor ()V .registers 1 .prologue .line 33 invoke-direct {p0}, Ljava/lang/Object;->()V .line 83 return-void .end method .method static addFileType(Ljava/lang/String;ILjava/lang/String;)V .registers 5 .parameter "extension" .parameter "fileType" .parameter "mimeType" .prologue .line 99 sget-object v0, Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; new-instance v1, Landroid/media/MediaFile$MediaFileType; invoke-direct {v1, p1, p2}, Landroid/media/MediaFile$MediaFileType;->(ILjava/lang/String;)V invoke-virtual {v0, p0, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 100 sget-object v0, Landroid/media/MediaFile;->sMimeTypeMap:Ljava/util/HashMap; invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 invoke-virtual {v0, p2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 101 return-void .end method .method public static getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType; .registers 4 .parameter "path" .prologue .line 185 const-string v1, "." invoke-virtual {p0, v1}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I move-result v0 .line 186 .local v0, lastDot:I if-gez v0, :cond_a .line 187 const/4 v1, 0x0 .line 188 .end local p0 :goto_9 return-object v1 .restart local p0 :cond_a sget-object v1, Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; add-int/lit8 v2, v0, 0x1 invoke-virtual {p0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v2 invoke-virtual {v2}, Ljava/lang/String;->toUpperCase()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 .end local p0 check-cast p0, Landroid/media/MediaFile$MediaFileType; move-object v1, p0 goto :goto_9 .end method .method public static getFileTypeForMimeType(Ljava/lang/String;)I .registers 3 .parameter "mimeType" .prologue .line 192 sget-object v1, Landroid/media/MediaFile;->sMimeTypeMap:Ljava/util/HashMap; invoke-virtual {v1, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; .line 193 .local v0, value:Ljava/lang/Integer; if-nez v0, :cond_c const/4 v1, 0x0 :goto_b return v1 :cond_c invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v1 goto :goto_b .end method .method public static isAudioFileType(I)Z .registers 3 .parameter "fileType" .prologue const/4 v1, 0x1 .line 163 if-lt p0, v1, :cond_7 const/16 v0, 0x9 if-le p0, v0, :cond_f :cond_7 const/16 v0, 0xb if-lt p0, v0, :cond_11 const/16 v0, 0xd if-gt p0, v0, :cond_11 :cond_f move v0, v1 :goto_10 return v0 :cond_11 const/4 v0, 0x0 goto :goto_10 .end method .method public static isImageFileType(I)Z .registers 2 .parameter "fileType" .prologue .line 175 const/16 v0, 0x1f if-lt p0, v0, :cond_a const/16 v0, 0x23 if-gt p0, v0, :cond_a const/4 v0, 0x1 :goto_9 return v0 :cond_a const/4 v0, 0x0 goto :goto_9 .end method .method public static isPlayListFileType(I)Z .registers 2 .parameter "fileType" .prologue .line 180 const/16 v0, 0x29 if-lt p0, v0, :cond_a const/16 v0, 0x2b if-gt p0, v0, :cond_a const/4 v0, 0x1 :goto_9 return v0 :cond_a const/4 v0, 0x0 goto :goto_9 .end method .method public static isVideoFileType(I)Z .registers 2 .parameter "fileType" .prologue .line 170 const/16 v0, 0x15 if-lt p0, v0, :cond_a const/16 v0, 0x1a if-gt p0, v0, :cond_a const/4 v0, 0x1 :goto_9 return v0 :cond_a const/4 v0, 0x0 goto :goto_9 .end method