.class Landroid/media/MediaScanner$MyMediaScannerClient; .super Ljava/lang/Object; .source "MediaScanner.java" # interfaces .implements Landroid/media/MediaScannerClient; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/media/MediaScanner; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x2 name = "MyMediaScannerClient" .end annotation # instance fields .field private mAlbum:Ljava/lang/String; .field private mAlbumArtist:Ljava/lang/String; .field private mArtist:Ljava/lang/String; .field private mAudioBitrate:I .field private mChannels:I .field private mComposer:Ljava/lang/String; .field private mDatetaken:J .field private mDlnaProfile:I .field private mDrmType:I .field private mDuration:I .field private mFileSize:J .field private mFileType:I .field private mFrameRate:I .field private mGenre:Ljava/lang/String; .field private mHeight:I .field private mLastModified:J .field private mMaker:Ljava/lang/String; .field private mMimeType:Ljava/lang/String; .field private mPath:Ljava/lang/String; .field private mProtection:I .field private mRating:I .field private mSampleRate:I .field private mTags:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList", "<", "Ljava/lang/String;", ">;" } .end annotation .end field .field private mTitle:Ljava/lang/String; .field private mTrack:I .field private mVideoBitrate:I .field private mWidth:I .field private mWriter:Ljava/lang/String; .field private mYear:I .field final synthetic this$0:Landroid/media/MediaScanner; # direct methods .method private constructor (Landroid/media/MediaScanner;)V .registers 2 .parameter .prologue .line 394 iput-object p1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method synthetic constructor (Landroid/media/MediaScanner;Landroid/media/MediaScanner$1;)V .registers 3 .parameter "x0" .parameter "x1" .prologue .line 394 invoke-direct {p0, p1}, Landroid/media/MediaScanner$MyMediaScannerClient;->(Landroid/media/MediaScanner;)V return-void .end method .method private doesPathHaveFilename(Ljava/lang/String;Ljava/lang/String;)Z .registers 8 .parameter "path" .parameter "filename" .prologue const/4 v4, 0x0 .line 1009 sget-char v2, Ljava/io/File;->separatorChar:C invoke-virtual {p1, v2}, Ljava/lang/String;->lastIndexOf(I)I move-result v2 add-int/lit8 v1, v2, 0x1 .line 1010 .local v1, pathFilenameStart:I invoke-virtual {p2}, Ljava/lang/String;->length()I move-result v0 .line 1011 .local v0, filenameLength:I invoke-virtual {p1, v1, p2, v4, v0}, Ljava/lang/String;->regionMatches(ILjava/lang/String;II)Z move-result v2 if-eqz v2, :cond_1d add-int v2, v1, v0 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v3 if-ne v2, v3, :cond_1d const/4 v2, 0x1 :goto_1c return v2 :cond_1d move v2, v4 goto :goto_1c .end method .method private endFile(Landroid/media/MediaScanner$FileCacheEntry;ZZZZZ)Landroid/net/Uri; .registers 50 .parameter "entry" .parameter "ringtones" .parameter "notifications" .parameter "alarms" .parameter "music" .parameter "podcasts" .annotation system Ldalvik/annotation/Throws; value = { Landroid/os/RemoteException; } .end annotation .prologue .line 790 move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v5, v0 invoke-static {v5}, Landroid/media/MediaFile;->isAudioFileType(I)Z move-result v20 .line 791 .local v20, isAudio:Z move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v5, v0 invoke-static {v5}, Landroid/media/MediaFile;->isVideoFileType(I)Z move-result v22 .line 792 .local v22, isVideo:Z move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v5, v0 invoke-static {v5}, Landroid/media/MediaFile;->isImageFileType(I)Z move-result v21 .line 793 .local v21, isImage:Z if-eqz v22, :cond_225 .line 794 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$800(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v33 .line 803 .local v33, tableUri:Landroid/net/Uri; :goto_26 move-object/from16 v0, v33 move-object/from16 v1, p1 iput-object v0, v1, Landroid/media/MediaScanner$FileCacheEntry;->mTableUri:Landroid/net/Uri; .line 806 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; move-object v5, v0 if-eqz v5, :cond_3e move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; move-object v5, v0 invoke-virtual {v5}, Ljava/lang/String;->length()I move-result v5 if-nez v5, :cond_48 .line 807 :cond_3e move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; move-object v5, v0 move-object v0, v5 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; .line 810 :cond_48 invoke-direct/range {p0 .. p0}, Landroid/media/MediaScanner$MyMediaScannerClient;->toValues()Landroid/content/ContentValues; move-result-object v41 .line 811 .local v41, values:Landroid/content/ContentValues; move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$700(Landroid/media/MediaScanner;)I move-result v5 const/4 v6, 0x1 if-eq v5, v6, :cond_fc .line 812 const-string v5, "title" move-object/from16 v0, v41 move-object v1, v5 invoke-virtual {v0, v1}, Landroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v39 .line 813 .local v39, title:Ljava/lang/String; if-eqz v39, :cond_6d invoke-virtual/range {v39 .. v39}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v5 invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v5 if-eqz v5, :cond_b3 .line 814 :cond_6d const-string v5, "_data" move-object/from16 v0, v41 move-object v1, v5 invoke-virtual {v0, v1}, Landroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v39 .line 816 const/16 v5, 0x2f move-object/from16 v0, v39 move v1, v5 invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v24 .line 817 .local v24, lastSlash:I if-ltz v24, :cond_b3 .line 818 add-int/lit8 v24, v24, 0x1 .line 819 invoke-virtual/range {v39 .. v39}, Ljava/lang/String;->length()I move-result v5 move/from16 v0, v24 move v1, v5 if-ge v0, v1, :cond_94 .line 820 move-object/from16 v0, v39 move/from16 v1, v24 invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v39 .line 823 :cond_94 const/16 v5, 0x2e move-object/from16 v0, v39 move v1, v5 invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v23 .line 824 .local v23, lastDot:I if-lez v23, :cond_a9 .line 825 const/4 v5, 0x0 move-object/from16 v0, v39 move v1, v5 move/from16 v2, v23 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v39 .line 827 :cond_a9 const-string v5, "title" move-object/from16 v0, v41 move-object v1, v5 move-object/from16 v2, v39 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 830 .end local v23 #lastDot:I, .end local v24 #lastSlash:I, :cond_b3 const-string v5, "album" move-object/from16 v0, v41 move-object v1, v5 invoke-virtual {v0, v1}, Landroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v11 .line 831 .local v11, album:Ljava/lang/String; const-string v5, "" invoke-virtual {v5, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v5 if-eqz v5, :cond_fc .line 832 const-string v5, "_data" move-object/from16 v0, v41 move-object v1, v5 invoke-virtual {v0, v1}, Landroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v11 .line 834 const/16 v5, 0x2f invoke-virtual {v11, v5}, Ljava/lang/String;->lastIndexOf(I)I move-result v24 .line 835 .restart local v24 #lastSlash:I, if-ltz v24, :cond_fc .line 836 const/16 v27, 0x0 .line 838 .local v27, previousSlash:I :goto_d7 const/16 v5, 0x2f add-int/lit8 v6, v27, 0x1 invoke-virtual {v11, v5, v6}, Ljava/lang/String;->indexOf(II)I move-result v19 .line 839 .local v19, idx:I if-ltz v19, :cond_e7 move/from16 v0, v19 move/from16 v1, v24 if-lt v0, v1, :cond_241 .line 844 :cond_e7 if-eqz v27, :cond_fc .line 845 add-int/lit8 v5, v27, 0x1 move-object v0, v11 move v1, v5 move/from16 v2, v24 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v11 .line 846 const-string v5, "album" move-object/from16 v0, v41 move-object v1, v5 move-object v2, v11 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 851 .end local v11 #album:Ljava/lang/String;, .end local v19 #idx:I, .end local v24 #lastSlash:I, .end local v27 #previousSlash:I, .end local v39 #title:Ljava/lang/String;, :cond_fc if-eqz v20, :cond_245 .line 852 const-string v5, "is_ringtone" invoke-static/range {p2 .. p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V .line 853 const-string v5, "is_notification" invoke-static/range {p3 .. p3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V .line 854 const-string v5, "is_alarm" invoke-static/range {p4 .. p4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V .line 855 const-string v5, "is_music" invoke-static/range {p5 .. p5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V .line 856 const-string v5, "is_podcast" invoke-static/range {p6 .. p6}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V .line 902 :cond_13f :goto_13f const/16 v28, 0x0 .line 903 .local v28, result:Landroid/net/Uri; move-object/from16 v0, p1 iget-wide v0, v0, Landroid/media/MediaScanner$FileCacheEntry;->mRowId:J move-wide/from16 v29, v0 .line 904 .local v29, rowId:J move-wide/from16 v35, v29 .line 905 .local v35, tempId:J const-wide/16 v5, 0x0 cmp-long v5, v29, v5 if-nez v5, :cond_2db .line 907 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 move-object v0, v5 move-object/from16 v1, v33 move-object/from16 v2, v41 invoke-interface {v0, v1, v2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; move-result-object v28 .line 908 if-eqz v28, :cond_16d .line 909 invoke-static/range {v28 .. v28}, Landroid/content/ContentUris;->parseId(Landroid/net/Uri;)J move-result-wide v29 .line 910 move-wide/from16 v0, v29 move-object/from16 v2, p1 iput-wide v0, v2, Landroid/media/MediaScanner$FileCacheEntry;->mRowId:J .line 919 :cond_16d :goto_16d if-eqz v28, :cond_328 if-eqz v21, :cond_328 .line 920 const-wide/16 v5, 0x0 cmp-long v5, v35, v5 if-eqz v5, :cond_1b2 .line 922 const/4 v5, 0x1 move v0, v5 new-array v0, v0, [Ljava/lang/String; move-object/from16 v42, v0 const/4 v5, 0x0 invoke-static/range {v35 .. v36}, Ljava/lang/Long;->toString(J)Ljava/lang/String; move-result-object v6 aput-object v6, v42, v5 .line 923 .local v42, wherePara:[Ljava/lang/String; move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 sget-object v6, Lcom/motorola/android/provider/MediaStoreExt$Association;->EXTERNAL_CONTENT_URI:Landroid/net/Uri; const-string v7, "media_id=?" move-object v0, v5 move-object v1, v6 move-object v2, v7 move-object/from16 v3, v42 invoke-interface {v0, v1, v2, v3}, Landroid/content/IContentProvider;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I move-result v12 .line 924 .local v12, count:I const-string v5, "MediaScanner" new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "delete tag into db and count is " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v5, v6}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I .line 927 .end local v12 #count:I, .end local v42 #wherePara:[Ljava/lang/String;, :cond_1b2 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTags:Ljava/util/ArrayList; move-object v5, v0 if-eqz v5, :cond_328 .line 928 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTags:Ljava/util/ArrayList; move-object v5, v0 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I move-result v31 .line 929 .local v31, size:I const-string v5, "MediaScanner" new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "insert tag into db and number is " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 move-object v0, v6 move/from16 v1, v31 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v5, v6}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I .line 930 move/from16 v0, v31 new-array v0, v0, [Landroid/content/ContentValues; move-object/from16 v34, v0 .line 931 .local v34, tagValues:[Landroid/content/ContentValues; const/16 v18, 0x0 .end local p5 .local v18, i:I :goto_1e5 move/from16 v0, v18 move/from16 v1, v31 if-ge v0, v1, :cond_2fa .line 933 new-instance v5, Landroid/content/ContentValues; invoke-direct {v5}, Landroid/content/ContentValues;->()V aput-object v5, v34, v18 .line 934 aget-object v5, v34, v18 const-string v6, "_data" move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTags:Ljava/util/ArrayList; move-object v7, v0 move-object v0, v7 move/from16 v1, v18 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p5 check-cast p5, Ljava/lang/String; move-object v0, v5 move-object v1, v6 move-object/from16 v2, p5 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 935 aget-object v5, v34, v18 const-string v6, "media_id" invoke-static/range {v29 .. v30}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v7 invoke-virtual {v5, v6, v7}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 936 aget-object v5, v34, v18 const-string v6, "media_type" const/4 v7, 0x1 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v7 invoke-virtual {v5, v6, v7}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 931 add-int/lit8 v18, v18, 0x1 goto :goto_1e5 .line 795 .end local v18 #i:I, .end local v28 #result:Landroid/net/Uri;, .end local v29 #rowId:J, .end local v31 #size:I, .end local v33 #tableUri:Landroid/net/Uri;, .end local v34 #tagValues:[Landroid/content/ContentValues;, .end local v35 #tempId:J, .end local v41 #values:Landroid/content/ContentValues;, .restart local p5 :cond_225 if-eqz v21, :cond_232 .line 796 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$900(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v33 .restart local v33 #tableUri:Landroid/net/Uri;, goto/16 :goto_26 .line 797 .end local v33 #tableUri:Landroid/net/Uri;, :cond_232 if-eqz v20, :cond_23f .line 798 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1000(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v33 .restart local v33 #tableUri:Landroid/net/Uri;, goto/16 :goto_26 .line 801 .end local v33 #tableUri:Landroid/net/Uri;, :cond_23f const/4 v5, 0x0 .line 1005 .end local p5 :goto_240 return-object v5 .line 842 .restart local v11 #album:Ljava/lang/String;, .restart local v19 #idx:I, .restart local v24 #lastSlash:I, .restart local v27 #previousSlash:I, .restart local v33 #tableUri:Landroid/net/Uri;, .restart local v39 #title:Ljava/lang/String;, .restart local v41 #values:Landroid/content/ContentValues;, .restart local p5 :cond_241 move/from16 v27, v19 .line 843 goto/16 :goto_d7 .line 857 .end local v11 #album:Ljava/lang/String;, .end local v19 #idx:I, .end local v24 #lastSlash:I, .end local v27 #previousSlash:I, .end local v39 #title:Ljava/lang/String;, :cond_245 move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v5, v0 const/16 v6, 0x1f if-ne v5, v6, :cond_13f .line 858 const/4 v15, 0x0 .line 860 .local v15, exif:Landroid/media/ExifInterface; :try_start_24f new-instance v16, Landroid/media/ExifInterface; move-object/from16 v0, p1 iget-object v0, v0, Landroid/media/MediaScanner$FileCacheEntry;->mPath:Ljava/lang/String; move-object v5, v0 move-object/from16 v0, v16 move-object v1, v5 invoke-direct {v0, v1}, Landroid/media/ExifInterface;->(Ljava/lang/String;)V :try_end_25c .catch Ljava/io/IOException; {:try_start_24f .. :try_end_25c} :catch_4eb .end local v15 #exif:Landroid/media/ExifInterface;, .local v16, exif:Landroid/media/ExifInterface; move-object/from16 v15, v16 .line 864 .end local v16 #exif:Landroid/media/ExifInterface;, .restart local v15 #exif:Landroid/media/ExifInterface;, :goto_25e if-eqz v15, :cond_13f .line 865 const/4 v5, 0x2 move v0, v5 new-array v0, v0, [F move-object/from16 v25, v0 .line 866 .local v25, latlng:[F move-object v0, v15 move-object/from16 v1, v25 invoke-virtual {v0, v1}, Landroid/media/ExifInterface;->getLatLong([F)Z move-result v5 if-eqz v5, :cond_28f .line 867 const-string v5, "latitude" const/4 v6, 0x0 aget v6, v25, v6 invoke-static {v6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V .line 868 const-string v5, "longitude" const/4 v6, 0x1 aget v6, v25, v6 invoke-static {v6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V .line 871 :cond_28f move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$700(Landroid/media/MediaScanner;)I move-result v5 const/4 v6, 0x2 if-eq v5, v6, :cond_2b2 .line 872 invoke-virtual {v15}, Landroid/media/ExifInterface;->getDateTime()J move-result-wide v37 .line 873 .local v37, time:J const-wide/16 v5, -0x1 cmp-long v5, v37, v5 if-eqz v5, :cond_2b2 .line 874 const-string v5, "datetaken" invoke-static/range {v37 .. v38}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 878 .end local v37 #time:J, :cond_2b2 const-string v5, "Orientation" const/4 v6, -0x1 invoke-virtual {v15, v5, v6}, Landroid/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I move-result v26 .line 880 .local v26, orientation:I const/4 v5, -0x1 move/from16 v0, v26 move v1, v5 if-eq v0, v1, :cond_13f .line 883 packed-switch v26, :pswitch_data_4ee .line 894 :pswitch_2c2 const/4 v14, 0x0 .line 897 .local v14, degree:I :goto_2c3 const-string v5, "orientation" invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V goto/16 :goto_13f .line 885 .end local v14 #degree:I, :pswitch_2d2 const/16 v14, 0x5a .line 886 .restart local v14 #degree:I, goto :goto_2c3 .line 888 .end local v14 #degree:I, :pswitch_2d5 const/16 v14, 0xb4 .line 889 .restart local v14 #degree:I, goto :goto_2c3 .line 891 .end local v14 #degree:I, :pswitch_2d8 const/16 v14, 0x10e .line 892 .restart local v14 #degree:I, goto :goto_2c3 .line 914 .end local v14 #degree:I, .end local v15 #exif:Landroid/media/ExifInterface;, .end local v25 #latlng:[F, .end local v26 #orientation:I, .restart local v28 #result:Landroid/net/Uri;, .restart local v29 #rowId:J, .restart local v35 #tempId:J, :cond_2db move-object/from16 v0, v33 move-wide/from16 v1, v29 invoke-static {v0, v1, v2}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri; move-result-object v28 .line 915 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 const/4 v6, 0x0 const/4 v7, 0x0 move-object v0, v5 move-object/from16 v1, v28 move-object/from16 v2, v41 move-object v3, v6 move-object v4, v7 invoke-interface {v0, v1, v2, v3, v4}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I goto/16 :goto_16d .line 938 .end local p5 .restart local v18 #i:I, .restart local v31 #size:I, .restart local v34 #tagValues:[Landroid/content/ContentValues;, :cond_2fa move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 sget-object v6, Lcom/motorola/android/provider/MediaStoreExt$Association;->EXTERNAL_CONTENT_URI:Landroid/net/Uri; move-object v0, v5 move-object v1, v6 move-object/from16 v2, v34 invoke-interface {v0, v1, v2}, Landroid/content/IContentProvider;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I move-result v32 .line 939 .local v32, successNum:I const-string v5, "MediaScanner" new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "insert insert tag into db and success number is " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 move-object v0, v6 move/from16 v1, v32 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v5, v6}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I .line 944 .end local v18 #i:I, .end local v31 #size:I, .end local v32 #successNum:I, .end local v34 #tagValues:[Landroid/content/ContentValues;, :cond_328 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1200(Landroid/media/MediaScanner;)Z move-result v5 if-eqz v5, :cond_3eb move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mGenre:Ljava/lang/String; move-object v5, v0 if-eqz v5, :cond_3eb .line 945 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mGenre:Ljava/lang/String; move-object/from16 v17, v0 .line 946 .local v17, genre:Ljava/lang/String; move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1300(Landroid/media/MediaScanner;)Ljava/util/HashMap; move-result-object v5 move-object v0, v5 move-object/from16 v1, v17 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v40 check-cast v40, Landroid/net/Uri; .line 947 .local v40, uri:Landroid/net/Uri; if-nez v40, :cond_3c8 .line 948 const/4 v13, 0x0 .line 951 .local v13, cursor:Landroid/database/Cursor; :try_start_355 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$1400(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v6 invoke-static {}, Landroid/media/MediaScanner;->access$1500()[Ljava/lang/String; move-result-object v7 const-string v8, "name=?" const/4 v9, 0x1 new-array v9, v9, [Ljava/lang/String; const/4 v10, 0x0 aput-object v17, v9, v10 const/4 v10, 0x0 invoke-interface/range {v5 .. v10}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; move-result-object v13 .line 955 if-eqz v13, :cond_380 invoke-interface {v13}, Landroid/database/Cursor;->getCount()I move-result v5 if-nez v5, :cond_438 .line 957 :cond_380 invoke-virtual/range {v41 .. v41}, Landroid/content/ContentValues;->clear()V .line 958 const-string v5, "name" move-object/from16 v0, v41 move-object v1, v5 move-object/from16 v2, v17 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 959 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$1400(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v6 move-object v0, v5 move-object v1, v6 move-object/from16 v2, v41 invoke-interface {v0, v1, v2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; move-result-object v40 .line 965 :goto_3a7 if-eqz v40, :cond_3c3 .line 966 const-string v5, "members" move-object/from16 v0, v40 move-object v1, v5 invoke-static {v0, v1}, Landroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; move-result-object v40 .line 967 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1300(Landroid/media/MediaScanner;)Ljava/util/HashMap; move-result-object v5 move-object v0, v5 move-object/from16 v1, v17 move-object/from16 v2, v40 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :try_end_3c3 .catchall {:try_start_355 .. :try_end_3c3} :catchall_44f .line 971 :cond_3c3 if-eqz v13, :cond_3c8 .line 972 invoke-interface {v13}, Landroid/database/Cursor;->close()V .line 977 .end local v13 #cursor:Landroid/database/Cursor;, :cond_3c8 if-eqz v40, :cond_3eb .line 979 invoke-virtual/range {v41 .. v41}, Landroid/content/ContentValues;->clear()V .line 980 const-string v5, "audio_id" invoke-static/range {v29 .. v30}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v6 move-object/from16 v0, v41 move-object v1, v5 move-object v2, v6 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 981 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v5 move-object v0, v5 move-object/from16 v1, v40 move-object/from16 v2, v41 invoke-interface {v0, v1, v2}, Landroid/content/IContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; .line 985 .end local v17 #genre:Ljava/lang/String;, .end local v40 #uri:Landroid/net/Uri;, :cond_3eb if-eqz p3, :cond_456 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1600(Landroid/media/MediaScanner;)Z move-result v5 if-nez v5, :cond_456 .line 986 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1700(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v5 invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v5 if-nez v5, :cond_41f move-object/from16 v0, p1 iget-object v0, v0, Landroid/media/MediaScanner$FileCacheEntry;->mPath:Ljava/lang/String; move-object v5, v0 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$1700(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v6 move-object/from16 v0, p0 move-object v1, v5 move-object v2, v6 invoke-direct {v0, v1, v2}, Landroid/media/MediaScanner$MyMediaScannerClient;->doesPathHaveFilename(Ljava/lang/String;Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_434 .line 988 :cond_41f const-string v5, "notification_sound" move-object/from16 v0, p0 move-object v1, v5 move-object/from16 v2, v33 move-wide/from16 v3, v29 invoke-direct {v0, v1, v2, v3, v4}, Landroid/media/MediaScanner$MyMediaScannerClient;->setSettingIfNotSet(Ljava/lang/String;Landroid/net/Uri;J)V .line 989 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 const/4 v6, 0x1 invoke-static {v5, v6}, Landroid/media/MediaScanner;->access$1602(Landroid/media/MediaScanner;Z)Z :cond_434 :goto_434 move-object/from16 v5, v28 .line 1005 goto/16 :goto_240 .line 962 .restart local v13 #cursor:Landroid/database/Cursor;, .restart local v17 #genre:Ljava/lang/String;, .restart local v40 #uri:Landroid/net/Uri;, :cond_438 :try_start_438 invoke-interface {v13}, Landroid/database/Cursor;->moveToNext()Z .line 963 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1400(Landroid/media/MediaScanner;)Landroid/net/Uri; move-result-object v5 const/4 v6, 0x0 invoke-interface {v13, v6}, Landroid/database/Cursor;->getLong(I)J move-result-wide v6 invoke-static {v5, v6, v7}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri; :try_end_44c .catchall {:try_start_438 .. :try_end_44c} :catchall_44f move-result-object v40 goto/16 :goto_3a7 .line 971 :catchall_44f move-exception v5 if-eqz v13, :cond_455 .line 972 invoke-interface {v13}, Landroid/database/Cursor;->close()V .line 971 :cond_455 throw v5 .line 991 .end local v13 #cursor:Landroid/database/Cursor;, .end local v17 #genre:Ljava/lang/String;, .end local v40 #uri:Landroid/net/Uri;, :cond_456 if-eqz p2, :cond_4a0 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1800(Landroid/media/MediaScanner;)Z move-result v5 if-nez v5, :cond_4a0 .line 992 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$1900(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v5 invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v5 if-nez v5, :cond_48a move-object/from16 v0, p1 iget-object v0, v0, Landroid/media/MediaScanner$FileCacheEntry;->mPath:Ljava/lang/String; move-object v5, v0 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$1900(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v6 move-object/from16 v0, p0 move-object v1, v5 move-object v2, v6 invoke-direct {v0, v1, v2}, Landroid/media/MediaScanner$MyMediaScannerClient;->doesPathHaveFilename(Ljava/lang/String;Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_434 .line 994 :cond_48a const-string v5, "ringtone" move-object/from16 v0, p0 move-object v1, v5 move-object/from16 v2, v33 move-wide/from16 v3, v29 invoke-direct {v0, v1, v2, v3, v4}, Landroid/media/MediaScanner$MyMediaScannerClient;->setSettingIfNotSet(Ljava/lang/String;Landroid/net/Uri;J)V .line 995 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 const/4 v6, 0x1 invoke-static {v5, v6}, Landroid/media/MediaScanner;->access$1802(Landroid/media/MediaScanner;Z)Z goto :goto_434 .line 997 :cond_4a0 if-eqz p4, :cond_434 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$2000(Landroid/media/MediaScanner;)Z move-result v5 if-nez v5, :cond_434 .line 998 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 invoke-static {v5}, Landroid/media/MediaScanner;->access$2100(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v5 invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v5 if-nez v5, :cond_4d4 move-object/from16 v0, p1 iget-object v0, v0, Landroid/media/MediaScanner$FileCacheEntry;->mPath:Ljava/lang/String; move-object v5, v0 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$2100(Landroid/media/MediaScanner;)Ljava/lang/String; move-result-object v6 move-object/from16 v0, p0 move-object v1, v5 move-object v2, v6 invoke-direct {v0, v1, v2}, Landroid/media/MediaScanner$MyMediaScannerClient;->doesPathHaveFilename(Ljava/lang/String;Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_434 .line 1000 :cond_4d4 const-string v5, "alarm_alert" move-object/from16 v0, p0 move-object v1, v5 move-object/from16 v2, v33 move-wide/from16 v3, v29 invoke-direct {v0, v1, v2, v3, v4}, Landroid/media/MediaScanner$MyMediaScannerClient;->setSettingIfNotSet(Ljava/lang/String;Landroid/net/Uri;J)V .line 1001 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v5, v0 const/4 v6, 0x1 invoke-static {v5, v6}, Landroid/media/MediaScanner;->access$2002(Landroid/media/MediaScanner;Z)Z goto/16 :goto_434 .line 861 .end local v28 #result:Landroid/net/Uri;, .end local v29 #rowId:J, .end local v35 #tempId:J, .restart local v15 #exif:Landroid/media/ExifInterface;, .restart local p5 :catch_4eb move-exception v5 goto/16 :goto_25e .line 883 :pswitch_data_4ee .packed-switch 0x3 :pswitch_2d5 :pswitch_2c2 :pswitch_2c2 :pswitch_2d2 :pswitch_2c2 :pswitch_2d8 .end packed-switch .end method .method private isMetadataSupported(I)Z .registers 5 .parameter "fileType" .prologue const/4 v2, 0x1 .line 546 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I if-eq v0, v2, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0x15 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/4 v1, 0x2 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0x17 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0x18 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/4 v1, 0x7 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0x8 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0x9 if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/16 v1, 0xb if-eq v0, v1, :cond_38 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I const/4 v1, 0x6 if-ne v0, v1, :cond_3a :cond_38 move v0, v2 .line 559 :goto_39 return v0 :cond_3a const/4 v0, 0x0 goto :goto_39 .end method .method private parseSubstring(Ljava/lang/String;II)I .registers 12 .parameter "s" .parameter "start" .parameter "defaultValue" .prologue const/16 v7, 0x39 const/16 v6, 0x30 .line 593 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v1 .line 594 .local v1, length:I if-ne p2, v1, :cond_c move v4, p3 .line 607 :goto_b return v4 .line 596 :cond_c add-int/lit8 v3, p2, 0x1 .end local p2 .local v3, start:I invoke-virtual {p1, p2}, Ljava/lang/String;->charAt(I)C move-result v0 .line 598 .local v0, ch:C if-lt v0, v6, :cond_16 if-le v0, v7, :cond_19 :cond_16 move p2, v3 .end local v3 #start:I, .restart local p2 move v4, p3 goto :goto_b .line 600 .end local p2 .restart local v3 #start:I, :cond_19 sub-int v2, v0, v6 .line 601 .local v2, result:I :goto_1b if-ge v3, v1, :cond_31 .line 602 add-int/lit8 p2, v3, 0x1 .end local v3 #start:I, .restart local p2 invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C move-result v0 .line 603 if-lt v0, v6, :cond_27 if-le v0, v7, :cond_29 :cond_27 move v4, v2 goto :goto_b .line 604 :cond_29 mul-int/lit8 v4, v2, 0xa sub-int v5, v0, v6 add-int v2, v4, v5 move v3, p2 .end local p2 .restart local v3 #start:I, goto :goto_1b :cond_31 move p2, v3 .end local v3 #start:I, .restart local p2 move v4, v2 .line 607 goto :goto_b .end method .method private setSettingIfNotSet(Ljava/lang/String;Landroid/net/Uri;J)V .registers 8 .parameter "settingName" .parameter "uri" .parameter "rowId" .prologue .line 1017 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v1}, Landroid/media/MediaScanner;->access$2200(Landroid/media/MediaScanner;)Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v1 invoke-static {v1, p1}, Landroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 1020 .local v0, existingSettingValue:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_29 .line 1022 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v1}, Landroid/media/MediaScanner;->access$2200(Landroid/media/MediaScanner;)Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v1 invoke-static {p2, p3, p4}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri; move-result-object v2 invoke-virtual {v2}, Landroid/net/Uri;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v1, p1, v2}, Landroid/provider/Settings$System;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z .line 1025 :cond_29 return-void .end method .method private toValues()Landroid/content/ContentValues; .registers 12 .prologue const-wide/16 v8, 0x0 const-string v10, "album" const-string v7, "artist" const-string v6, "datetaken" const-string v5, "" .line 709 new-instance v0, Landroid/content/ContentValues; invoke-direct {v0}, Landroid/content/ContentValues;->()V .line 711 .local v0, map:Landroid/content/ContentValues; iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J cmp-long v1, v8, v1 if-nez v1, :cond_1c .line 713 iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J const-wide/16 v3, 0x3e8 mul-long/2addr v1, v3 iput-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J .line 716 :cond_1c iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v1}, Landroid/media/MediaScanner;->access$700(Landroid/media/MediaScanner;)I move-result v1 const/4 v2, 0x1 if-ne v1, v2, :cond_cc .line 717 const-string v1, "date_modified" iget-wide v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 718 const-string v1, "dlna_profile" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDlnaProfile:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 719 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isVideoFileType(I)Z move-result v1 if-eqz v1, :cond_77 .line 720 const-string v1, "datetaken" iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v0, v6, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 721 const-string v1, "resolution" new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V iget v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, "x" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 iget v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 782 :cond_76 :goto_76 return-object v0 .line 722 :cond_77 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isImageFileType(I)Z move-result v1 if-eqz v1, :cond_96 .line 723 const-string v1, "rating" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mRating:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 724 const-string v1, "datetaken" iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v0, v6, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V goto :goto_76 .line 725 :cond_96 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isAudioFileType(I)Z move-result v1 if-eqz v1, :cond_76 .line 726 const-string v1, "artist" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; if-eqz v1, :cond_c8 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v1 if-lez v1, :cond_c8 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; :goto_ae invoke-virtual {v0, v7, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 727 const-string v1, "composer" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mComposer:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 728 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I if-eqz v1, :cond_76 .line 729 const-string v1, "year" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V goto :goto_76 .line 726 :cond_c8 const-string v1, "" move-object v1, v5 goto :goto_ae .line 735 :cond_cc const-string v1, "_data" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mPath:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 736 const-string v1, "title" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTitle:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 737 const-string v1, "date_modified" iget-wide v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 738 const-string v1, "_size" iget-wide v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileSize:J invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 739 const-string v1, "mime_type" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 741 const-string v1, "protect_status" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mProtection:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 742 const-string v1, "rating" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mRating:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 743 const-string v1, "dlna_profile" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDlnaProfile:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 744 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isVideoFileType(I)Z move-result v1 if-eqz v1, :cond_1eb .line 745 const-string v1, "artist" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; if-eqz v1, :cond_1d5 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v1 if-lez v1, :cond_1d5 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; :goto_130 invoke-virtual {v0, v7, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 746 const-string v1, "album" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; if-eqz v1, :cond_1da iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v1 if-lez v1, :cond_1da iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; :goto_143 invoke-virtual {v0, v10, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 747 const-string v1, "duration" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDuration:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 748 const-string v1, "video_bitrate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mVideoBitrate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 749 const-string v1, "audio_bitrate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAudioBitrate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 750 const-string v1, "audio_samplerate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mSampleRate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 751 const-string v1, "channels" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mChannels:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 752 const-string v1, "framerate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFrameRate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 753 const-string v1, "resolution" new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V iget v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, "x" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 iget v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 754 iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J cmp-long v1, v1, v8 if-nez v1, :cond_1df .line 755 const-string v1, "datetaken" iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v0, v6, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 758 :goto_1c1 const-string v1, "maker" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMaker:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 759 const-string v1, "drm_type" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDrmType:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V goto/16 :goto_76 .line 745 :cond_1d5 const-string v1, "" move-object v1, v5 goto/16 :goto_130 .line 746 :cond_1da const-string v1, "" move-object v1, v5 goto/16 :goto_143 .line 757 :cond_1df const-string v1, "datetaken" iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v0, v6, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V goto :goto_1c1 .line 760 :cond_1eb iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isImageFileType(I)Z move-result v1 if-eqz v1, :cond_226 .line 761 const-string v1, "width" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 762 const-string v1, "height" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 765 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v1}, Landroid/media/MediaScanner;->access$700(Landroid/media/MediaScanner;)I move-result v1 const/4 v2, 0x2 if-eq v1, v2, :cond_21d const-string v1, "datetaken" iget-wide v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v0, v6, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V .line 766 :cond_21d const-string v1, "maker" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMaker:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V goto/16 :goto_76 .line 767 :cond_226 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v1}, Landroid/media/MediaFile;->isAudioFileType(I)Z move-result v1 if-eqz v1, :cond_76 .line 768 const-string v1, "artist" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; if-eqz v1, :cond_2c1 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v1 if-lez v1, :cond_2c1 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; :goto_23e invoke-virtual {v0, v7, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 769 const-string v1, "album" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; if-eqz v1, :cond_2c6 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v1 if-lez v1, :cond_2c6 iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; :goto_251 invoke-virtual {v0, v10, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 770 const-string v1, "composer" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mComposer:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 771 iget v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I if-eqz v1, :cond_26a .line 772 const-string v1, "year" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 774 :cond_26a const-string v1, "track" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 775 const-string v1, "duration" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDuration:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 776 const-string v1, "album_artist" iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; if-eqz v2, :cond_2ca iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; invoke-virtual {v2}, Ljava/lang/String;->length()I move-result v2 if-lez v2, :cond_2ca iget-object v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; :goto_290 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 777 const-string v1, "sample_rate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mSampleRate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 778 const-string v1, "channels" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mChannels:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 779 const-string v1, "audio_bitrate" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAudioBitrate:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V .line 780 const-string v1, "drm_type" iget v2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDrmType:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V goto/16 :goto_76 .line 768 :cond_2c1 const-string v1, "" move-object v1, v5 goto/16 :goto_23e .line 769 :cond_2c6 const-string v1, "" move-object v1, v5 goto :goto_251 .line 776 :cond_2ca const-string v2, "" move-object v2, v5 goto :goto_290 .end method # virtual methods .method public addNoMediaFolder(Ljava/lang/String;)V .registers 8 .parameter "path" .prologue const-string v3, "_data LIKE ?" .line 1028 new-instance v2, Landroid/content/ContentValues; invoke-direct {v2}, Landroid/content/ContentValues;->()V .line 1029 .local v2, values:Landroid/content/ContentValues; const-string v3, "_data" const-string v4, "" invoke-virtual {v2, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V .line 1030 const/4 v3, 0x1 new-array v1, v3, [Ljava/lang/String; const/4 v3, 0x0 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 const/16 v5, 0x25 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 aput-object v4, v1, v3 .line 1032 .local v1, pathSpec:[Ljava/lang/String; :try_start_27 iget-object v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v3}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v3 sget-object v4, Landroid/provider/MediaStore$Images$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri; const-string v5, "_data LIKE ?" invoke-interface {v3, v4, v2, v5, v1}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I .line 1034 iget-object v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v3}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v3 sget-object v4, Landroid/provider/MediaStore$Video$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri; const-string v5, "_data LIKE ?" invoke-interface {v3, v4, v2, v5, v1}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I .line 1036 iget-object v3, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v3}, Landroid/media/MediaScanner;->access$1100(Landroid/media/MediaScanner;)Landroid/content/IContentProvider; move-result-object v3 sget-object v4, Landroid/provider/MediaStore$Audio$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri; const-string v5, "_data LIKE ?" invoke-interface {v3, v4, v2, v5, v1}, Landroid/content/IContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I :try_end_4e .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_4e} :catch_4f .line 1041 return-void .line 1038 :catch_4f move-exception v3 move-object v0, v3 .line 1039 .local v0, e:Landroid/os/RemoteException; new-instance v3, Ljava/lang/RuntimeException; invoke-direct {v3}, Ljava/lang/RuntimeException;->()V throw v3 .end method .method public beginFile(Ljava/lang/String;Ljava/lang/String;JJ)Landroid/media/MediaScanner$FileCacheEntry; .registers 25 .parameter "path" .parameter "mimeType" .parameter "lastModified" .parameter "fileSize" .prologue .line 438 const/16 v6, 0x2f move-object/from16 v0, p1 move v1, v6 invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v15 .line 439 .local v15, lastSlash:I if-ltz v15, :cond_93 add-int/lit8 v6, v15, 0x2 invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I move-result v7 if-ge v6, v7, :cond_93 .line 441 add-int/lit8 v6, v15, 0x1 const-string v7, "._" const/4 v8, 0x0 const/4 v9, 0x2 move-object/from16 v0, p1 move v1, v6 move-object v2, v7 move v3, v8 move v4, v9 invoke-virtual {v0, v1, v2, v3, v4}, Ljava/lang/String;->regionMatches(ILjava/lang/String;II)Z move-result v6 if-eqz v6, :cond_27 .line 442 const/4 v6, 0x0 .line 532 :goto_26 return-object v6 .line 447 :cond_27 const/4 v6, 0x1 invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I move-result v7 const/4 v8, 0x4 sub-int/2addr v7, v8 const-string v8, ".jpg" const/4 v9, 0x0 const/4 v10, 0x4 move-object/from16 v5, p1 invoke-virtual/range {v5 .. v10}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z move-result v6 if-eqz v6, :cond_93 .line 448 const/4 v6, 0x1 add-int/lit8 v7, v15, 0x1 const-string v8, "AlbumArt_{" const/4 v9, 0x0 const/16 v10, 0xa move-object/from16 v5, p1 invoke-virtual/range {v5 .. v10}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z move-result v6 if-nez v6, :cond_5a const/4 v6, 0x1 add-int/lit8 v7, v15, 0x1 const-string v8, "AlbumArt." const/4 v9, 0x0 const/16 v10, 0x9 move-object/from16 v5, p1 invoke-virtual/range {v5 .. v10}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z move-result v6 if-eqz v6, :cond_5c .line 450 :cond_5a const/4 v6, 0x0 goto :goto_26 .line 452 :cond_5c invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I move-result v6 sub-int/2addr v6, v15 const/4 v7, 0x1 sub-int v16, v6, v7 .line 453 .local v16, length:I const/16 v6, 0x11 move/from16 v0, v16 move v1, v6 if-ne v0, v1, :cond_7b const/4 v6, 0x1 add-int/lit8 v7, v15, 0x1 const-string v8, "AlbumArtSmall" const/4 v9, 0x0 const/16 v10, 0xd move-object/from16 v5, p1 invoke-virtual/range {v5 .. v10}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z move-result v6 if-nez v6, :cond_91 :cond_7b const/16 v6, 0xa move/from16 v0, v16 move v1, v6 if-ne v0, v1, :cond_93 const/4 v6, 0x1 add-int/lit8 v7, v15, 0x1 const-string v8, "Folder" const/4 v9, 0x0 const/4 v10, 0x6 move-object/from16 v5, p1 invoke-virtual/range {v5 .. v10}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z move-result v6 if-eqz v6, :cond_93 .line 455 :cond_91 const/4 v6, 0x0 goto :goto_26 .line 460 .end local v16 #length:I, :cond_93 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; .line 462 if-eqz p2, :cond_b1 .line 463 invoke-static/range {p2 .. p2}, Landroid/media/MediaFile;->getFileTypeForMimeType(Ljava/lang/String;)I move-result v6 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I .line 464 move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v6, v0 if-eqz v6, :cond_b1 .line 465 move-object/from16 v0, p2 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; .line 468 :cond_b1 move-wide/from16 v0, p5 move-object/from16 v2, p0 iput-wide v0, v2, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileSize:J .line 471 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; move-object v6, v0 if-nez v6, :cond_d8 .line 472 invoke-static/range {p1 .. p1}, Landroid/media/MediaFile;->getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType; move-result-object v17 .line 473 .local v17, mediaFileType:Landroid/media/MediaFile$MediaFileType; if-eqz v17, :cond_d8 .line 474 move-object/from16 v0, v17 iget v0, v0, Landroid/media/MediaFile$MediaFileType;->fileType:I move v6, v0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I .line 475 move-object/from16 v0, v17 iget-object v0, v0, Landroid/media/MediaFile$MediaFileType;->mimeType:Ljava/lang/String; move-object v6, v0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; .line 479 .end local v17 #mediaFileType:Landroid/media/MediaFile$MediaFileType;, :cond_d8 move-object/from16 v14, p1 .line 480 .local v14, key:Ljava/lang/String; move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$100(Landroid/media/MediaScanner;)Z move-result v6 if-eqz v6, :cond_e9 .line 481 invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String; move-result-object v14 .line 483 :cond_e9 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$200(Landroid/media/MediaScanner;)Ljava/util/HashMap; move-result-object v6 invoke-virtual {v6, v14}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroid/media/MediaScanner$FileCacheEntry; .line 484 .local v5, entry:Landroid/media/MediaScanner$FileCacheEntry; if-nez v5, :cond_112 .line 485 new-instance v5, Landroid/media/MediaScanner$FileCacheEntry; .end local v5 #entry:Landroid/media/MediaScanner$FileCacheEntry;, const/4 v6, 0x0 const-wide/16 v7, 0x0 const-wide/16 v10, 0x0 move-object/from16 v9, p1 invoke-direct/range {v5 .. v11}, Landroid/media/MediaScanner$FileCacheEntry;->(Landroid/net/Uri;JLjava/lang/String;J)V .line 486 .restart local v5 #entry:Landroid/media/MediaScanner$FileCacheEntry;, move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$200(Landroid/media/MediaScanner;)Ljava/util/HashMap; move-result-object v6 invoke-virtual {v6, v14, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 488 :cond_112 const/4 v6, 0x1 iput-boolean v6, v5, Landroid/media/MediaScanner$FileCacheEntry;->mSeenInFileSystem:Z .line 491 iget-wide v6, v5, Landroid/media/MediaScanner$FileCacheEntry;->mLastModified:J sub-long v12, p3, v6 .line 492 .local v12, delta:J const-wide/16 v6, 0x1 cmp-long v6, v12, v6 if-gtz v6, :cond_125 const-wide/16 v6, -0x1 cmp-long v6, v12, v6 if-gez v6, :cond_12d .line 493 :cond_125 move-wide/from16 v0, p3 move-object v2, v5 iput-wide v0, v2, Landroid/media/MediaScanner$FileCacheEntry;->mLastModified:J .line 494 const/4 v6, 0x1 iput-boolean v6, v5, Landroid/media/MediaScanner$FileCacheEntry;->mLastModifiedChanged:Z .line 497 :cond_12d move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$300(Landroid/media/MediaScanner;)Z move-result v6 if-eqz v6, :cond_152 move-object/from16 v0, p0 iget v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I move v6, v0 invoke-static {v6}, Landroid/media/MediaFile;->isPlayListFileType(I)Z move-result v6 if-eqz v6, :cond_152 .line 498 move-object/from16 v0, p0 iget-object v0, v0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; move-object v6, v0 invoke-static {v6}, Landroid/media/MediaScanner;->access$400(Landroid/media/MediaScanner;)Ljava/util/ArrayList; move-result-object v6 invoke-virtual {v6, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 500 const/4 v6, 0x0 goto/16 :goto_26 .line 504 :cond_152 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; .line 505 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; .line 506 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; .line 507 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mTitle:Ljava/lang/String; .line 508 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mComposer:Ljava/lang/String; .line 509 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mGenre:Ljava/lang/String; .line 510 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I .line 511 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I .line 512 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mDuration:I .line 513 move-object/from16 v0, p1 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mPath:Ljava/lang/String; .line 514 move-wide/from16 v0, p3 move-object/from16 v2, p0 iput-wide v0, v2, Landroid/media/MediaScanner$MyMediaScannerClient;->mLastModified:J .line 515 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mWriter:Ljava/lang/String; .line 517 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mProtection:I .line 518 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mRating:I .line 519 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mAudioBitrate:I .line 520 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mSampleRate:I .line 521 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mChannels:I .line 522 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I .line 523 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I .line 524 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mVideoBitrate:I .line 525 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mFrameRate:I .line 526 const-wide/16 v6, 0x0 move-wide v0, v6 move-object/from16 v2, p0 iput-wide v0, v2, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J .line 527 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mTags:Ljava/util/ArrayList; .line 528 const/4 v6, 0x0 move-object v0, v6 move-object/from16 v1, p0 iput-object v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mMaker:Ljava/lang/String; .line 529 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mDrmType:I .line 530 const/4 v6, 0x0 move v0, v6 move-object/from16 v1, p0 iput v0, v1, Landroid/media/MediaScanner$MyMediaScannerClient;->mDlnaProfile:I move-object v6, v5 .line 532 goto/16 :goto_26 .end method .method public doScanFile(Ljava/lang/String;Ljava/lang/String;JJZ)Landroid/net/Uri; .registers 18 .parameter "path" .parameter "mimeType" .parameter "lastModified" .parameter "fileSize" .parameter "scanAlways" .prologue .line 562 const/4 v9, 0x0 .line 565 .local v9, result:Landroid/net/Uri; :try_start_1 invoke-virtual/range {p0 .. p6}, Landroid/media/MediaScanner$MyMediaScannerClient;->beginFile(Ljava/lang/String;Ljava/lang/String;JJ)Landroid/media/MediaScanner$FileCacheEntry; move-result-object v1 .line 567 .local v1, entry:Landroid/media/MediaScanner$FileCacheEntry; if-eqz v1, :cond_85 iget-boolean v0, v1, Landroid/media/MediaScanner$FileCacheEntry;->mLastModifiedChanged:Z if-nez v0, :cond_d if-eqz p7, :cond_85 .line 568 :cond_d invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String; move-result-object v8 .line 569 .local v8, lowpath:Ljava/lang/String; const-string v0, "/ringtones/" invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 if-lez v0, :cond_86 const/4 v0, 0x1 move v2, v0 .line 570 .local v2, ringtones:Z :goto_1b const-string v0, "/notifications/" invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 if-lez v0, :cond_89 const/4 v0, 0x1 move v3, v0 .line 571 .local v3, notifications:Z :goto_25 const-string v0, "/alarms/" invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 if-lez v0, :cond_8c const/4 v0, 0x1 move v4, v0 .line 572 .local v4, alarms:Z :goto_2f const-string v0, "/podcasts/" invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 if-lez v0, :cond_8f const/4 v0, 0x1 move v6, v0 .line 573 .local v6, podcasts:Z :goto_39 const-string v0, "/music/" invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 if-gtz v0, :cond_49 if-nez v2, :cond_92 if-nez v3, :cond_92 if-nez v4, :cond_92 if-nez v6, :cond_92 :cond_49 const/4 v0, 0x1 move v5, v0 .line 576 .local v5, music:Z :goto_4b iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v0}, Landroid/media/MediaFile;->isAudioFileType(I)Z move-result v0 if-nez v0, :cond_63 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v0}, Landroid/media/MediaFile;->isImageFileType(I)Z move-result v0 if-nez v0, :cond_63 iget v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I invoke-static {v0}, Landroid/media/MediaFile;->isVideoFileType(I)Z move-result v0 if-eqz v0, :cond_80 .line 578 :cond_63 const-string v0, "MediaScanner" new-instance v7, Ljava/lang/StringBuilder; invoke-direct {v7}, Ljava/lang/StringBuilder;->()V const-string v8, "process file: " .end local v8 #lowpath:Ljava/lang/String;, invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v0, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 579 iget-object v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->this$0:Landroid/media/MediaScanner; invoke-static {v0, p1, p2, p0}, Landroid/media/MediaScanner;->access$500(Landroid/media/MediaScanner;Ljava/lang/String;Ljava/lang/String;Landroid/media/MediaScannerClient;)V :cond_80 move-object v0, p0 .line 582 invoke-direct/range {v0 .. v6}, Landroid/media/MediaScanner$MyMediaScannerClient;->endFile(Landroid/media/MediaScanner$FileCacheEntry;ZZZZZ)Landroid/net/Uri; :try_end_84 .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_84} :catch_95 move-result-object v9 .line 589 .end local v1 #entry:Landroid/media/MediaScanner$FileCacheEntry;, .end local v2 #ringtones:Z, .end local v3 #notifications:Z, .end local v4 #alarms:Z, .end local v5 #music:Z, .end local v6 #podcasts:Z, :cond_85 :goto_85 return-object v9 .line 569 .restart local v1 #entry:Landroid/media/MediaScanner$FileCacheEntry;, .restart local v8 #lowpath:Ljava/lang/String;, :cond_86 const/4 v0, 0x0 move v2, v0 goto :goto_1b .line 570 .restart local v2 #ringtones:Z, :cond_89 const/4 v0, 0x0 move v3, v0 goto :goto_25 .line 571 .restart local v3 #notifications:Z, :cond_8c const/4 v0, 0x0 move v4, v0 goto :goto_2f .line 572 .restart local v4 #alarms:Z, :cond_8f const/4 v0, 0x0 move v6, v0 goto :goto_39 .line 573 .restart local v6 #podcasts:Z, :cond_92 const/4 v0, 0x0 move v5, v0 goto :goto_4b .line 584 .end local v1 #entry:Landroid/media/MediaScanner$FileCacheEntry;, .end local v2 #ringtones:Z, .end local v3 #notifications:Z, .end local v4 #alarms:Z, .end local v6 #podcasts:Z, .end local v8 #lowpath:Ljava/lang/String;, :catch_95 move-exception v0 move-object v7, v0 .line 585 .local v7, e:Landroid/os/RemoteException; const-string v0, "MediaScanner" const-string v1, "RemoteException in MediaScanner.scanFile()" invoke-static {v0, v1, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_85 .end method .method public handleStringTag(Ljava/lang/String;Ljava/lang/String;)V .registers 10 .parameter "name" .parameter "value" .prologue const/4 v6, -0x1 const/4 v5, 0x0 .line 611 const-string v4, "title" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_12 const-string v4, "title;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_15 .line 615 :cond_12 iput-object p2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTitle:Ljava/lang/String; .line 688 :cond_14 :goto_14 return-void .line 616 :cond_15 const-string v4, "artist" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_25 const-string v4, "artist;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_2c .line 617 :cond_25 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mArtist:Ljava/lang/String; goto :goto_14 .line 618 :cond_2c const-string v4, "albumartist" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_3c const-string v4, "albumartist;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_43 .line 619 :cond_3c invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbumArtist:Ljava/lang/String; goto :goto_14 .line 620 :cond_43 const-string v4, "album" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_53 const-string v4, "album;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_5a .line 621 :cond_53 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAlbum:Ljava/lang/String; goto :goto_14 .line 622 :cond_5a const-string v4, "composer" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_6a const-string v4, "composer;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_71 .line 623 :cond_6a invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mComposer:Ljava/lang/String; goto :goto_14 .line 624 :cond_71 const-string v4, "genre" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_81 const-string v4, "genre;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_b5 .line 626 :cond_81 invoke-virtual {p2}, Ljava/lang/String;->length()I move-result v4 if-lez v4, :cond_a4 .line 627 const/4 v2, -0x1 .line 628 .local v2, genreCode:I invoke-virtual {p2, v5}, Ljava/lang/String;->charAt(I)C move-result v0 .line 629 .local v0, ch:C const/16 v4, 0x28 if-ne v0, v4, :cond_a8 .line 630 const/4 v4, 0x1 invoke-direct {p0, p2, v4, v6}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v2 .line 634 :cond_95 :goto_95 if-ltz v2, :cond_a4 invoke-static {}, Landroid/media/MediaScanner;->access$600()[Ljava/lang/String; move-result-object v4 array-length v4, v4 if-ge v2, v4, :cond_a4 .line 635 invoke-static {}, Landroid/media/MediaScanner;->access$600()[Ljava/lang/String; move-result-object v4 aget-object p2, v4, v2 .line 638 .end local v0 #ch:C, .end local v2 #genreCode:I, :cond_a4 iput-object p2, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mGenre:Ljava/lang/String; goto/16 :goto_14 .line 631 .restart local v0 #ch:C, .restart local v2 #genreCode:I, :cond_a8 const/16 v4, 0x30 if-lt v0, v4, :cond_95 const/16 v4, 0x39 if-gt v0, v4, :cond_95 .line 632 invoke-direct {p0, p2, v5, v6}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v2 goto :goto_95 .line 639 .end local v0 #ch:C, .end local v2 #genreCode:I, :cond_b5 const-string v4, "year" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_c5 const-string v4, "year;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_cd .line 640 :cond_c5 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mYear:I goto/16 :goto_14 .line 641 :cond_cd const-string v4, "tracknumber" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_dd const-string v4, "tracknumber;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_ec .line 644 :cond_dd invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v3 .line 645 .local v3, num:I iget v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I div-int/lit16 v4, v4, 0x3e8 mul-int/lit16 v4, v4, 0x3e8 add-int/2addr v4, v3 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I goto/16 :goto_14 .line 646 .end local v3 #num:I, :cond_ec const-string v4, "discnumber" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_104 const-string v4, "set" invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v4 if-nez v4, :cond_104 const-string v4, "set;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_113 .line 650 :cond_104 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v3 .line 651 .restart local v3 #num:I, mul-int/lit16 v4, v3, 0x3e8 iget v5, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I rem-int/lit16 v5, v5, 0x3e8 add-int/2addr v4, v5 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTrack:I goto/16 :goto_14 .line 652 .end local v3 #num:I, :cond_113 const-string v4, "duration" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_123 .line 653 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDuration:I goto/16 :goto_14 .line 654 :cond_123 const-string v4, "writer" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_133 const-string v4, "writer;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_13b .line 655 :cond_133 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mWriter:Ljava/lang/String; goto/16 :goto_14 .line 656 :cond_13b const-string v4, "rating" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_14b .line 657 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mRating:I goto/16 :goto_14 .line 658 :cond_14b const-string v4, "audio_bitrate" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_15b .line 659 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mAudioBitrate:I goto/16 :goto_14 .line 660 :cond_15b const-string v4, "sample_rate" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_16b .line 661 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mSampleRate:I goto/16 :goto_14 .line 662 :cond_16b const-string v4, "channels" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_17b .line 663 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mChannels:I goto/16 :goto_14 .line 664 :cond_17b const-string v4, "width" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_18b .line 665 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mWidth:I goto/16 :goto_14 .line 666 :cond_18b const-string v4, "height" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_19b .line 667 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mHeight:I goto/16 :goto_14 .line 668 :cond_19b const-string v4, "video_bitrate" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_1ab .line 669 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mVideoBitrate:I goto/16 :goto_14 .line 670 :cond_1ab const-string v4, "frame_rate" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_1bb .line 671 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFrameRate:I goto/16 :goto_14 .line 672 :cond_1bb const-string v4, "datetaken" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_1eb .line 674 :try_start_1c3 invoke-static {p2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v4 iput-wide v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J :try_end_1c9 .catch Ljava/lang/NumberFormatException; {:try_start_1c3 .. :try_end_1c9} :catch_1cb goto/16 :goto_14 .line 675 :catch_1cb move-exception v4 move-object v1, v4 .line 676 .local v1, e:Ljava/lang/NumberFormatException; const-wide/16 v4, 0x0 iput-wide v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDatetaken:J .line 677 const-string v4, "MediaScanner" new-instance v5, Ljava/lang/StringBuilder; invoke-direct {v5}, Ljava/lang/StringBuilder;->()V const-string v6, "NumberFormatException value is " invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v5 invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v5 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I goto/16 :goto_14 .line 679 .end local v1 #e:Ljava/lang/NumberFormatException;, :cond_1eb const-string v4, "usercomment" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-nez v4, :cond_1fb const-string v4, "usercomment;" invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_207 .line 680 :cond_1fb invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 invoke-static {v4}, Lcom/motorola/android/media/MediaUtil;->getTagName(Ljava/lang/String;)Ljava/util/ArrayList; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mTags:Ljava/util/ArrayList; goto/16 :goto_14 .line 681 :cond_207 const-string v4, "maker" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_217 .line 682 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMaker:Ljava/lang/String; goto/16 :goto_14 .line 683 :cond_217 const-string v4, "drm_type" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_227 .line 684 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDrmType:I goto/16 :goto_14 .line 685 :cond_227 const-string v4, "dlna_profile" invoke-virtual {p1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_14 .line 686 invoke-direct {p0, p2, v5, v5}, Landroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I move-result v4 iput v4, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mDlnaProfile:I goto/16 :goto_14 .end method .method public scanFile(Ljava/lang/String;JJ)V .registers 14 .parameter "path" .parameter "lastModified" .parameter "fileSize" .prologue .line 538 const/4 v2, 0x0 const/4 v7, 0x0 move-object v0, p0 move-object v1, p1 move-wide v3, p2 move-wide v5, p4 invoke-virtual/range {v0 .. v7}, Landroid/media/MediaScanner$MyMediaScannerClient;->doScanFile(Ljava/lang/String;Ljava/lang/String;JJZ)Landroid/net/Uri; .line 539 return-void .end method .method public scanFile(Ljava/lang/String;Ljava/lang/String;JJ)V .registers 15 .parameter "path" .parameter "mimeType" .parameter "lastModified" .parameter "fileSize" .prologue .line 542 const/4 v7, 0x0 move-object v0, p0 move-object v1, p1 move-object v2, p2 move-wide v3, p3 move-wide v5, p5 invoke-virtual/range {v0 .. v7}, Landroid/media/MediaScanner$MyMediaScannerClient;->doScanFile(Ljava/lang/String;Ljava/lang/String;JJZ)Landroid/net/Uri; .line 543 return-void .end method .method public setMimeType(Ljava/lang/String;)V .registers 4 .parameter "mimeType" .prologue .line 691 const-string v0, "audio/mp4" iget-object v1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_13 const-string v0, "video" invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_13 .line 700 :goto_12 return-void .line 698 :cond_13 iput-object p1, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String; .line 699 invoke-static {p1}, Landroid/media/MediaFile;->getFileTypeForMimeType(Ljava/lang/String;)I move-result v0 iput v0, p0, Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I goto :goto_12 .end method