for (unsigned int i = 0; i < mMimeTypeVector.size(); i++) {
const String8 item = mMimeTypeVector.itemAt(i);
- if (String8("") != mimeType && item.find(mimeType) != -1) {
+ if (!strcasecmp(item.string(), mimeType.string())) {
return true;
}
}
for (unsigned int i = 0; i < mFileSuffixVector.size(); i++) {
const String8 item = mFileSuffixVector.itemAt(i);
- if (item.find(fileType) != -1) {
+ if (!strcasecmp(item.string(), fileType.string())) {
return true;
}
}
LOCAL_SRC_FILES:= \
main_drmserver.cpp \
DrmManager.cpp \
- DrmManagerService.cpp \
- StringTokenizer.cpp
+ DrmManagerService.cpp
LOCAL_SHARED_LIBRARIES := \
libutils \
+++ /dev/null
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "StringTokenizer.h"
-
-using namespace android;
-
-StringTokenizer::StringTokenizer(const String8& string, const String8& delimiter) {
- splitString(string, delimiter);
-}
-
-void StringTokenizer::splitString(const String8& string, const String8& delimiter) {
- for (unsigned int i = 0; i < string.length(); i++) {
- unsigned int position = string.find(delimiter.string(), i);
- if (string.length() != position) {
- String8 token(string.string()+i, position-i);
- if (token.length()) {
- mStringTokenizerVector.push(token);
- i = position + delimiter.length() - 1;
- }
- } else {
- mStringTokenizerVector.push(String8(string.string()+i, string.length()-i));
- break;
- }
- }
-}
-
-StringTokenizer::Iterator StringTokenizer::iterator() {
- return Iterator(this);
-}
-
-StringTokenizer::Iterator::Iterator(const StringTokenizer::Iterator& iterator) :
- mStringTokenizer(iterator.mStringTokenizer),
- mIndex(iterator.mIndex) {
-}
-
-StringTokenizer::Iterator& StringTokenizer::Iterator::operator=(
- const StringTokenizer::Iterator& iterator) {
- mStringTokenizer = iterator.mStringTokenizer;
- mIndex = iterator.mIndex;
- return *this;
-}
-
-bool StringTokenizer::Iterator::hasNext() {
- return mIndex < mStringTokenizer->mStringTokenizerVector.size();
-}
-
-String8& StringTokenizer::Iterator::next() {
- String8& value = mStringTokenizer->mStringTokenizerVector.editItemAt(mIndex);
- mIndex++;
- return value;
-}
-
*/
bool isPlugIn(const struct dirent* pEntry) const {
String8 sName(pEntry->d_name);
- int extentionPos = sName.size() - String8(PLUGIN_EXTENSION).size();
- if (extentionPos < 0) {
- return false;
- }
- return extentionPos == (int)sName.find(PLUGIN_EXTENSION);
+ String8 extension(sName.getPathExtension());
+ // Note that the plug-in extension must exactly match case
+ return extension == String8(PLUGIN_EXTENSION);
}
/**
+++ /dev/null
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __STRING_TOKENIZER_H__
-#define __STRING_TOKENIZER_H__
-
-#include <drm/drm_framework_common.h>
-
-namespace android {
-
-/**
- * This is an utility class for String manipulation.
- *
- */
-class StringTokenizer {
-public:
- /**
- * Iterator for string tokens
- */
- class Iterator {
- friend class StringTokenizer;
- private:
- Iterator(StringTokenizer* StringTokenizer)
- : mStringTokenizer(StringTokenizer), mIndex(0) {}
-
- public:
- Iterator(const Iterator& iterator);
- Iterator& operator=(const Iterator& iterator);
- virtual ~Iterator() {}
-
- public:
- bool hasNext();
- String8& next();
-
- private:
- StringTokenizer* mStringTokenizer;
- unsigned int mIndex;
- };
-
-public:
- /**
- * Constructor for StringTokenizer
- *
- * @param[in] string Complete string data
- * @param[in] delimeter Delimeter used to split the string
- */
- StringTokenizer(const String8& string, const String8& delimeter);
-
- /**
- * Destructor for StringTokenizer
- */
- ~StringTokenizer() {}
-
-private:
- /**
- * Splits the string according to the delimeter
- */
- void splitString(const String8& string, const String8& delimeter);
-
-public:
- /**
- * Returns Iterator object to walk through the split string values
- *
- * @return Iterator object
- */
- Iterator iterator();
-
-private:
- Vector<String8> mStringTokenizerVector;
-};
-
-};
-#endif /* __STRING_TOKENIZER_H__ */
-
String8 walkPath(String8* outRemains = NULL) const;
/*
- * Return the filename extension. This is the last '.' and up to
- * four characters that follow it. The '.' is included in case we
+ * Return the filename extension. This is the last '.' and any number
+ * of characters that follow it. The '.' is included in case we
* decide to expand our definition of what constitutes an extension.
*
* "/tmp/foo/bar.c" --> ".c"