Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42b4b94e authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Gerrit Code Review
Browse files

Merge "Break away from longer file extensions."

parents 289cf1ce 725ae2bc
Loading
Loading
Loading
Loading
+169 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            case 'p': case 'P':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
@@ -41,10 +42,15 @@ int MatchExtension(const char* ext) {
                        switch (ext[5]) {
                        case '\0': return AID_MEDIA_VIDEO;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        }
        break;
    case 'a': case 'A':
        switch (ext[1]) {
        case 'a': case 'A':
@@ -53,7 +59,9 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'i': case 'I':
            switch (ext[2]) {
            case 'f': case 'F':
@@ -63,56 +71,73 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_AUDIO;
                    }
                    break;
                case 'f': case 'F':
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_AUDIO;
                    }
                    break;
                }
                break;
            }
            break;
        case 'm': case 'M':
            switch (ext[2]) {
            case 'r': case 'R':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'r': case 'R':
            switch (ext[2]) {
            case 't': case 'T':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            case 'w': case 'W':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 's': case 'S':
            switch (ext[2]) {
            case 'f': case 'F':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'v': case 'V':
            switch (ext[2]) {
            case 'i': case 'I':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'w': case 'W':
            switch (ext[2]) {
            case 'b': case 'B':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        }
        break;
    case 'b': case 'B':
        switch (ext[1]) {
        case 'm': case 'M':
@@ -121,8 +146,11 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'c': case 'C':
        switch (ext[1]) {
        case 'r': case 'R':
@@ -131,8 +159,11 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'd': case 'D':
        switch (ext[1]) {
        case 'i': case 'I':
@@ -141,23 +172,30 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'l': case 'L':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_VIDEO;
            }
            break;
        case 'n': case 'N':
            switch (ext[2]) {
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'v': case 'V':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_VIDEO;
            }
            break;
        }
        break;
    case 'f': case 'F':
        switch (ext[1]) {
        case 'l': case 'L':
@@ -168,13 +206,18 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_AUDIO;
                    }
                    break;
                }
                break;
            case 'i': case 'I':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        }
        break;
    case 'g': case 'G':
        switch (ext[1]) {
        case 'i': case 'I':
@@ -183,15 +226,20 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 's': case 'S':
            switch (ext[2]) {
            case 'm': case 'M':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        }
        break;
    case 'j': case 'J':
        switch (ext[1]) {
        case 'n': case 'N':
@@ -200,7 +248,9 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'p': case 'P':
            switch (ext[2]) {
            case 'e': case 'E':
@@ -210,13 +260,18 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_IMAGE;
                    }
                    break;
                }
                break;
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'l': case 'L':
        switch (ext[1]) {
        case 's': case 'S':
@@ -225,12 +280,16 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        }
        break;
    case 'm': case 'M':
        switch (ext[1]) {
        case '3':
@@ -239,36 +298,46 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case '4':
            switch (ext[2]) {
            case 'a': case 'A':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 'v': case 'V':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'k': case 'K':
            switch (ext[2]) {
            case 'a': case 'A':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 'v': case 'V':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'n': case 'N':
            switch (ext[2]) {
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'o': case 'O':
            switch (ext[2]) {
            case 'v': case 'V':
@@ -280,23 +349,30 @@ int MatchExtension(const char* ext) {
                        switch (ext[5]) {
                        case '\0': return AID_MEDIA_VIDEO;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 'p': case 'P':
            switch (ext[2]) {
            case '2':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case '3':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case '4':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            case 'e': case 'E':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
@@ -307,8 +383,11 @@ int MatchExtension(const char* ext) {
                        switch (ext[5]) {
                        case '\0': return AID_MEDIA_AUDIO;
                        }
                        break;
                    }
                    break;
                }
                break;
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
@@ -316,16 +395,22 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_AUDIO;
                    }
                    break;
                }
                break;
            }
            break;
        case 'x': case 'X':
            switch (ext[2]) {
            case 'u': case 'U':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        }
        break;
    case 'n': case 'N':
        switch (ext[1]) {
        case 'e': case 'E':
@@ -334,15 +419,20 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'r': case 'R':
            switch (ext[2]) {
            case 'w': case 'W':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'o': case 'O':
        switch (ext[1]) {
        case 'g': case 'G':
@@ -351,19 +441,25 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'r': case 'R':
            switch (ext[2]) {
            case 'f': case 'F':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'p': case 'P':
        switch (ext[1]) {
        case 'b': case 'B':
@@ -372,68 +468,88 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'c': case 'C':
            switch (ext[2]) {
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'e': case 'E':
            switch (ext[2]) {
            case 'f': case 'F':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'g': case 'G':
            switch (ext[2]) {
            case 'm': case 'M':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'l': case 'L':
            switch (ext[2]) {
            case 's': case 'S':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'n': case 'N':
            switch (ext[2]) {
            case 'g': case 'G':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            case 'm': case 'M':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'p': case 'P':
            switch (ext[2]) {
            case 'm': case 'M':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 's': case 'S':
            switch (ext[2]) {
            case 'd': case 'D':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 'q': case 'Q':
        switch (ext[1]) {
        case 't': case 'T':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_VIDEO;
            }
            break;
        }
        break;
    case 'r': case 'R':
        switch (ext[1]) {
        case 'a': case 'A':
@@ -443,30 +559,39 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 's': case 'S':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'g': case 'G':
            switch (ext[2]) {
            case 'b': case 'B':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'm': case 'M':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_AUDIO;
            }
            break;
        case 'w': case 'W':
            switch (ext[2]) {
            case '2':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    case 's': case 'S':
        switch (ext[1]) {
        case 'd': case 'D':
@@ -475,21 +600,27 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'n': case 'N':
            switch (ext[2]) {
            case 'd': case 'D':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'r': case 'R':
            switch (ext[2]) {
            case 'w': case 'W':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'v': case 'V':
            switch (ext[2]) {
            case 'g': case 'G':
@@ -499,9 +630,13 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_IMAGE;
                    }
                    break;
                }
                break;
            }
            break;
        }
        break;
    case 't': case 'T':
        switch (ext[1]) {
        case 'i': case 'I':
@@ -513,13 +648,18 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_IMAGE;
                    }
                    break;
                }
                break;
            }
            break;
        case 's': case 'S':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_VIDEO;
            }
            break;
        }
        break;
    case 'v': case 'V':
        switch (ext[1]) {
        case 'o': case 'O':
@@ -528,8 +668,11 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        }
        break;
    case 'w': case 'W':
        switch (ext[1]) {
        case 'a': case 'A':
@@ -538,11 +681,14 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            }
            break;
        case 'b': case 'B':
            switch (ext[2]) {
            case 'm': case 'M':
@@ -551,8 +697,11 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_IMAGE;
                    }
                    break;
                }
                break;
            }
            break;
        case 'e': case 'E':
            switch (ext[2]) {
            case 'b': case 'B':
@@ -561,12 +710,16 @@ int MatchExtension(const char* ext) {
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_VIDEO;
                    }
                    break;
                case 'p': case 'P':
                    switch (ext[4]) {
                    case '\0': return AID_MEDIA_IMAGE;
                    }
                    break;
                }
                break;
            }
            break;
        case 'm': case 'M':
            switch (ext[2]) {
            case '\0': return AID_MEDIA_VIDEO;
@@ -574,30 +727,39 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_AUDIO;
                }
                break;
            case 'v': case 'V':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'r': case 'R':
            switch (ext[2]) {
            case 'f': case 'F':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        case 'v': case 'V':
            switch (ext[2]) {
            case 'x': case 'X':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_VIDEO;
                }
                break;
            }
            break;
        }
        break;
    case 'x': case 'X':
        switch (ext[1]) {
        case 'b': case 'B':
@@ -606,22 +768,29 @@ int MatchExtension(const char* ext) {
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'p': case 'P':
            switch (ext[2]) {
            case 'm': case 'M':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        case 'w': case 'W':
            switch (ext[2]) {
            case 'd': case 'D':
                switch (ext[3]) {
                case '\0': return AID_MEDIA_IMAGE;
                }
                break;
            }
            break;
        }
        break;
    }

    return 0;
+2 −0
Original line number Diff line number Diff line
@@ -84,6 +84,8 @@ def dump(target, index):
                print "%scase '%s':" % (prefix, k)
            dump(target[k], index + 1)
    print "%s}" % (prefix)
    if index > 0:
        print "%sbreak;" % (prefix)

dump(trie, 0)

+15 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <gtest/gtest.h>

#include "InstalldNativeService.h"
#include "MatchExtensionGen.h"
#include "globals.h"
#include "utils.h"

@@ -529,5 +530,19 @@ TEST_F(UtilsTest, ValidateApkPathSubdirs) {
    EXPECT_NE(0, validate_apk_path_subdirs("/data/app/com.example/dir/dir/dir//file"));
}

TEST_F(UtilsTest, MatchExtension_Valid) {
    EXPECT_EQ(AID_MEDIA_VIDEO, MatchExtension("mpg"));
    EXPECT_EQ(AID_MEDIA_VIDEO, MatchExtension("mpeg"));
    EXPECT_EQ(AID_MEDIA_VIDEO, MatchExtension("mPeG"));
    EXPECT_EQ(AID_MEDIA_VIDEO, MatchExtension("MPEG"));
}

TEST_F(UtilsTest, MatchExtension_Invalid) {
    EXPECT_EQ(0, MatchExtension("log"));
    EXPECT_EQ(0, MatchExtension("3amp"));
    EXPECT_EQ(0, MatchExtension("fpe"));
    EXPECT_EQ(0, MatchExtension("docx"));
}

}  // namespace installd
}  // namespace android