Delete code used to read content:// URIs from MediaPlayerService
All valid content:// URIs are resolved in MediaPlayer.java before
the binder call into the mediaserver process. Trying to resolve a
content:// URI from this process fails with the following error:
E ActivityManager: Cannot find package for uid: 1013
Since it's not possible to resolve content:// URIs from here, we can
delete this code.
Bug: 236688380
Test: atest MediaPlayerTest
Change-Id: I690aca747429b7b976887069a0a497589307a497
diff --git a/media/libmediaplayerservice/ActivityManager.cpp b/media/libmediaplayerservice/ActivityManager.cpp
deleted file mode 100644
index 438d422..0000000
--- a/media/libmediaplayerservice/ActivityManager.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2006 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 <binder/IActivityManager.h>
-#include <binder/IBinder.h>
-#include <binder/IServiceManager.h>
-
-#include "ActivityManager.h"
-
-namespace android {
-
-// Perform ContentProvider.openFile() on the given URI, returning
-// the resulting native file descriptor. Returns < 0 on error.
-int openContentProviderFile(const String16& uri)
-{
- int fd = -1;
-
- sp<IServiceManager> sm = defaultServiceManager();
- sp<IBinder> binder = sm->getService(String16("activity"));
- sp<IActivityManager> am = interface_cast<IActivityManager>(binder);
- if (am != NULL) {
- fd = am->openContentUri(uri);
- }
-
- return fd;
-}
-
-} /* namespace android */
diff --git a/media/libmediaplayerservice/ActivityManager.h b/media/libmediaplayerservice/ActivityManager.h
deleted file mode 100644
index 451a004..0000000
--- a/media/libmediaplayerservice/ActivityManager.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2008 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 ActivityManager_H
-#define ActivityManager_H
-
-#include <utils/String16.h>
-
-namespace android {
-
-// Perform a ContentProvider.openFile() call for the given URI.
-//
-// Returns the native file descriptor for the opened stream, < 0 on error.
-extern int openContentProviderFile(const String16& uri);
-
-}
-
-#endif
diff --git a/media/libmediaplayerservice/Android.bp b/media/libmediaplayerservice/Android.bp
index 266cb17..6ddaf25 100644
--- a/media/libmediaplayerservice/Android.bp
+++ b/media/libmediaplayerservice/Android.bp
@@ -20,7 +20,6 @@
cc_library {
srcs: [
- "ActivityManager.cpp",
"DeathNotifier.cpp",
"MediaPlayerFactory.cpp",
"MediaPlayerService.cpp",
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 9e9e9d8..65381c4 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -75,7 +75,6 @@
#include <private/android_filesystem_config.h>
-#include "ActivityManager.h"
#include "MediaRecorderClient.h"
#include "MediaPlayerService.h"
#include "MetadataRetrieverClient.h"
@@ -1002,31 +1001,13 @@
}
}
- if (strncmp(url, "content://", 10) == 0) {
- // get a filedescriptor for the content Uri and
- // pass it to the setDataSource(fd) method
-
- String16 url16(url);
- int fd = android::openContentProviderFile(url16);
- if (fd < 0)
- {
- ALOGE("Couldn't open fd for %s", url);
- return UNKNOWN_ERROR;
- }
- status_t status = setDataSource(fd, 0, 0x7fffffffffLL); // this sets mStatus
- close(fd);
- return mStatus = status;
- } else {
- player_type playerType = MediaPlayerFactory::getPlayerType(this, url);
- sp<MediaPlayerBase> p = setDataSource_pre(playerType);
- if (p == NULL) {
- return NO_INIT;
- }
-
- return mStatus =
- setDataSource_post(
- p, p->setDataSource(httpService, url, headers));
+ player_type playerType = MediaPlayerFactory::getPlayerType(this, url);
+ sp<MediaPlayerBase> p = setDataSource_pre(playerType);
+ if (p == NULL) {
+ return NO_INIT;
}
+
+ return mStatus = setDataSource_post(p, p->setDataSource(httpService, url, headers));
}
status_t MediaPlayerService::Client::setDataSource(int fd, int64_t offset, int64_t length)