MTP: remove separate audio table from prototype MTP database

Change-Id: I5e4b49b741a0a3c6ddf5afcbb20a0d7c9515c8ce
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/mtp/MtpMediaScanner.cpp b/media/mtp/MtpMediaScanner.cpp
index ac4c0cf..a9adf01 100644
--- a/media/mtp/MtpMediaScanner.cpp
+++ b/media/mtp/MtpMediaScanner.cpp
@@ -31,143 +31,15 @@
 #include <stdio.h>
 #include <limits.h>
 
-#include <media/mediascanner.h>
-#include <media/stagefright/StagefrightMediaScanner.h>
-
 namespace android {
 
-class MtpMediaScannerClient : public MediaScannerClient
-{
-public:
-    MtpMediaScannerClient()
-    {
-        reset();
-    }
-
-    virtual ~MtpMediaScannerClient()
-    {
-    }
-
-    // returns true if it succeeded, false if an exception occured in the Java code
-    virtual bool scanFile(const char* path, long long lastModified, long long fileSize)
-    {
-        LOGV("scanFile %s", path);
-        return true;
-    }
-
-    // returns true if it succeeded, false if an exception occured in the Java code
-    virtual bool handleStringTag(const char* name, const char* value)
-    {
-        int temp;
-
-        if (!strcmp(name, "title")) {
-            mTitle = value;
-            mHasTitle = true;
-        } else if  (!strcmp(name, "artist")) {
-            mArtist = value;
-            mHasArtist = true;
-        } else if  (!strcmp(name, "album")) {
-            mAlbum = value;
-            mHasAlbum = true;
-        } else if  (!strcmp(name, "albumartist")) {
-            mAlbumArtist = value;
-            mHasAlbumArtist = true;
-        } else if  (!strcmp(name, "genre")) {
-            // FIXME - handle numeric values here
-            mGenre = value;
-            mHasGenre = true;
-        } else if  (!strcmp(name, "composer")) {
-            mComposer = value;
-            mHasComposer = true;
-        } else if  (!strcmp(name, "tracknumber")) {
-            if (sscanf(value, "%d", &temp) == 1)
-                mTrack = temp;
-        } else if  (!strcmp(name, "discnumber")) {
-            // currently unused
-        } else if  (!strcmp(name, "year") || !strcmp(name, "date")) {
-            if (sscanf(value, "%d", &temp) == 1)
-                mYear = temp;
-        } else if  (!strcmp(name, "duration")) {
-            if (sscanf(value, "%d", &temp) == 1)
-                mDuration = temp;
-        } else {
-            LOGV("handleStringTag %s : %s", name, value);
-        }
-        return true;
-    }
-
-    // returns true if it succeeded, false if an exception occured in the Java code
-    virtual bool setMimeType(const char* mimeType)
-    {
-        mMimeType = mimeType;
-        mHasMimeType = true;
-        return true;
-    }
-
-    // returns true if it succeeded, false if an exception occured in the Java code
-    virtual bool addNoMediaFolder(const char* path)
-    {
-        LOGV("addNoMediaFolder %s", path);
-        return true;
-    }
-
-    void reset()
-    {
-        mHasTitle = false;
-        mHasArtist = false;
-        mHasAlbum = false;
-        mHasAlbumArtist = false;
-        mHasGenre = false;
-        mHasComposer = false;
-        mHasMimeType = false;
-        mTrack = mYear = mDuration = 0;
-    }
-
-    inline const char* getTitle() const { return mHasTitle ? (const char *)mTitle : NULL; }
-    inline const char* getArtist() const { return mHasArtist ? (const char *)mArtist : NULL; }
-    inline const char* getAlbum() const { return mHasAlbum ? (const char *)mAlbum : NULL; }
-    inline const char* getAlbumArtist() const { return mHasAlbumArtist ? (const char *)mAlbumArtist : NULL; }
-    inline const char* getGenre() const { return mHasGenre ? (const char *)mGenre : NULL; }
-    inline const char* getComposer() const { return mHasComposer ? (const char *)mComposer : NULL; }
-    inline const char* getMimeType() const { return mHasMimeType ? (const char *)mMimeType : NULL; }
-    inline int getTrack() const { return mTrack; }
-    inline int getYear() const { return mYear; }
-    inline int getDuration() const { return mDuration; }
-
-private:
-    MtpString   mTitle;
-    MtpString   mArtist;
-    MtpString   mAlbum;
-    MtpString   mAlbumArtist;
-    MtpString   mGenre;
-    MtpString   mComposer;
-    MtpString   mMimeType;
-
-    bool        mHasTitle;
-    bool        mHasArtist;
-    bool        mHasAlbum;
-    bool        mHasAlbumArtist;
-    bool        mHasGenre;
-    bool        mHasComposer;
-    bool        mHasMimeType;
-
-    int         mTrack;
-    int         mYear;
-    int         mDuration;
-};
-
-
 MtpMediaScanner::MtpMediaScanner(MtpStorageID id, const char* filePath, MtpDatabase* db)
     :   mStorageID(id),
         mFilePath(filePath),
         mDatabase(db),
-        mMediaScanner(NULL),
-        mMediaScannerClient(NULL),
         mFileList(NULL),
         mFileCount(0)
 {
-    mMediaScanner = new StagefrightMediaScanner;
-    mMediaScannerClient = new MtpMediaScannerClient;
 }
 
 MtpMediaScanner::~MtpMediaScanner() {
@@ -199,47 +71,46 @@
 {
     const char*     extension;
     MtpObjectFormat format;
-    uint32_t        table;
 } sFileTypes[] =
 {
-    { "MP3",    MTP_FORMAT_MP3,             kObjectHandleTableAudio     },
-    { "M4A",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "WAV",    MTP_FORMAT_WAV,             kObjectHandleTableAudio     },
-    { "AMR",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "AWB",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "WMA",    MTP_FORMAT_WMA,             kObjectHandleTableAudio     },
-    { "OGG",    MTP_FORMAT_OGG,             kObjectHandleTableAudio     },
-    { "OGA",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "AAC",    MTP_FORMAT_AAC,             kObjectHandleTableAudio     },
-    { "MID",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "MIDI",   MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "XMF",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "RTTTL",  MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "SMF",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "IMY",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "RTX",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "OTA",    MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio     },
-    { "MPEG",   MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "MP4",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "M4V",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "3GP",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "3GPP",   MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "3G2",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "3GPP2",  MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "WMV",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "ASF",    MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo     },
-    { "JPG",    MTP_FORMAT_EXIF_JPEG,       kObjectHandleTableImage     },
-    { "JPEG",   MTP_FORMAT_EXIF_JPEG,       kObjectHandleTableImage     },
-    { "GIF",    MTP_FORMAT_GIF,             kObjectHandleTableImage     },
-    { "PNG",    MTP_FORMAT_PNG,             kObjectHandleTableImage     },
-    { "BMP",    MTP_FORMAT_BMP,             kObjectHandleTableImage     },
-    { "WBMP",   MTP_FORMAT_BMP,             kObjectHandleTableImage     },
-    { "M3U",    MTP_FORMAT_M3U_PLAYLIST,    kObjectHandleTablePlaylist  },
-    { "PLS",    MTP_FORMAT_PLS_PLAYLIST,    kObjectHandleTablePlaylist  },
-    { "WPL",    MTP_FORMAT_WPL_PLAYLIST,    kObjectHandleTablePlaylist  },
+    { "MP3",    MTP_FORMAT_MP3,             },
+    { "M4A",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "WAV",    MTP_FORMAT_WAV,             },
+    { "AMR",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "AWB",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "WMA",    MTP_FORMAT_WMA,             },
+    { "OGG",    MTP_FORMAT_OGG,             },
+    { "OGA",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "AAC",    MTP_FORMAT_AAC,             },
+    { "MID",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "MIDI",   MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "XMF",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "RTTTL",  MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "SMF",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "IMY",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "RTX",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "OTA",    MTP_FORMAT_UNDEFINED_AUDIO, },
+    { "MPEG",   MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "MP4",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "M4V",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "3GP",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "3GPP",   MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "3G2",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "3GPP2",  MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "WMV",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "ASF",    MTP_FORMAT_UNDEFINED_VIDEO, },
+    { "JPG",    MTP_FORMAT_EXIF_JPEG,       },
+    { "JPEG",   MTP_FORMAT_EXIF_JPEG,       },
+    { "GIF",    MTP_FORMAT_GIF,             },
+    { "PNG",    MTP_FORMAT_PNG,             },
+    { "BMP",    MTP_FORMAT_BMP,             },
+    { "WBMP",   MTP_FORMAT_BMP,             },
+    { "M3U",    MTP_FORMAT_M3U_PLAYLIST,    },
+    { "PLS",    MTP_FORMAT_PLS_PLAYLIST,    },
+    { "WPL",    MTP_FORMAT_WPL_PLAYLIST,    },
 };
 
-MtpObjectFormat MtpMediaScanner::getFileFormat(const char* path, uint32_t& table)
+MtpObjectFormat MtpMediaScanner::getFileFormat(const char* path)
 {
     const char* extension = strrchr(path, '.');
     if (!extension)
@@ -248,11 +119,9 @@
 
     for (unsigned i = 0; i < sizeof(sFileTypes) / sizeof(sFileTypes[0]); i++) {
         if (!strcasecmp(extension, sFileTypes[i].extension)) {
-            table = sFileTypes[i].table;
             return sFileTypes[i].format;
         }
     }
-    table = kObjectHandleTableFile;
     return MTP_FORMAT_UNDEFINED;
 }
 
@@ -316,8 +185,7 @@
 }
 
 void MtpMediaScanner::scanFile(const char* path, MtpObjectHandle parent, struct stat& statbuf) {
-    uint32_t table;
-    MtpObjectFormat format = getFileFormat(path, table);
+    MtpObjectFormat format = getFileFormat(path);
     // don't scan unknown file types
     if (format == MTP_FORMAT_UNDEFINED)
         return;
@@ -334,22 +202,6 @@
             mDatabase->rollbackTransaction();
             return;
         }
-
-        if (table == kObjectHandleTableAudio) {
-            mMediaScannerClient->reset();
-            mMediaScanner->processFile(path, NULL, *mMediaScannerClient);
-            handle = mDatabase->addAudioFile(handle,
-                    mMediaScannerClient->getTitle(),
-                    mMediaScannerClient->getArtist(),
-                    mMediaScannerClient->getAlbum(),
-                    mMediaScannerClient->getAlbumArtist(),
-                    mMediaScannerClient->getGenre(),
-                    mMediaScannerClient->getComposer(),
-                    mMediaScannerClient->getMimeType(),
-                    mMediaScannerClient->getTrack(),
-                    mMediaScannerClient->getYear(),
-                    mMediaScannerClient->getDuration());
-        }
         mDatabase->commitTransaction();
     }
 }