summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp1
-rw-r--r--core/java/android/os/ProxyFileDescriptorCallback.java18
-rw-r--r--core/jni/Android.bp8
-rw-r--r--media/java/Android.bp4
-rw-r--r--media/jni/Android.bp82
-rw-r--r--media/jni/Android.mk79
-rw-r--r--media/jni/android_media_ImageReader.cpp1
-rw-r--r--media/jni/android_media_ImageWriter.cpp1
-rw-r--r--media/jni/android_media_Utils.cpp1
-rw-r--r--media/jni/android_media_Utils.h1
-rw-r--r--media/jni/audioeffect/Android.bp25
-rw-r--r--media/jni/audioeffect/Android.mk21
-rw-r--r--media/jni/midi/android_media_midi_MidiDevice.cpp2
-rw-r--r--media/native/Android.bp1
-rw-r--r--media/native/midi/Android.bp33
-rw-r--r--media/native/midi/Android.mk20
-rw-r--r--packages/MtpDocumentsProvider/src/com/android/mtp/ServiceIntentSender.java16
17 files changed, 180 insertions, 134 deletions
diff --git a/Android.bp b/Android.bp
index 5c059b54ffac..33f3213847f3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -53,6 +53,7 @@ cc_library {
subdirs = [
"core/jni",
"libs/*",
+ "media/*",
"tools/*",
"native/android",
"native/graphics/jni",
diff --git a/core/java/android/os/ProxyFileDescriptorCallback.java b/core/java/android/os/ProxyFileDescriptorCallback.java
index e69fb55abe8a..9f568026535c 100644
--- a/core/java/android/os/ProxyFileDescriptorCallback.java
+++ b/core/java/android/os/ProxyFileDescriptorCallback.java
@@ -22,7 +22,23 @@ import android.system.OsConstants;
/**
* Callback that handles file system requests from ProxyFileDescriptor.
*
- * @see android.os.storage.StorageManager#openProxyFileDescriptor(int, ProxyFileDescriptorCallback)
+ * All callback methods except for onRelease should throw {@link android.system.ErrnoException}
+ * with proper errno on errors. See
+ * <a href="http://man7.org/linux/man-pages/man3/errno.3.html">errno(3)</a> and
+ * {@link android.system.OsConstants}.
+ *
+ * Typical errnos are
+ *
+ * <ul>
+ * <li>{@link android.system.OsConstants#EIO} for general I/O issues
+ * <li>{@link android.system.OsConstants#ENOENT} when the file is not found
+ * <li>{@link android.system.OsConstants#EBADF} if the file doesn't allow read/write operations
+ * based on how it was opened. (For example, trying to write a file that was opened read-only.)
+ * <li>{@link android.system.OsConstants#ENOSPC} if you cannot handle a write operation to
+ * space/quota limitations.
+ * </ul>
+ * @see android.os.storage.StorageManager#openProxyFileDescriptor(int, ProxyFileDescriptorCallback,
+ * Handler)
*/
public abstract class ProxyFileDescriptorCallback {
/**
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index bc23b1626112..b0a2e113cc93 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -277,12 +277,18 @@ cc_library_shared {
],
local_include_dirs: ["android/graphics"],
- export_include_dirs: ["include"],
+ export_include_dirs: [
+ ".",
+ "include",
+ ],
export_shared_lib_headers: [
// AndroidRuntime.h depends on nativehelper/jni.h
"libnativehelper",
// our headers include libnativewindow's public headers
"libnativewindow",
+
+ // GraphicsJNI.h includes hwui headers
+ "libhwui",
],
}
diff --git a/media/java/Android.bp b/media/java/Android.bp
new file mode 100644
index 000000000000..0810699abf0a
--- /dev/null
+++ b/media/java/Android.bp
@@ -0,0 +1,4 @@
+filegroup {
+ name: "IMidiDeviceServer.aidl",
+ srcs: ["android/media/midi/IMidiDeviceServer.aidl"],
+}
diff --git a/media/jni/Android.bp b/media/jni/Android.bp
new file mode 100644
index 000000000000..41c571779a93
--- /dev/null
+++ b/media/jni/Android.bp
@@ -0,0 +1,82 @@
+cc_library_shared {
+ name: "libmedia_jni",
+
+ srcs: [
+ "android_media_ImageWriter.cpp",
+ "android_media_ImageReader.cpp",
+ "android_media_MediaCrypto.cpp",
+ "android_media_MediaCodec.cpp",
+ "android_media_MediaCodecList.cpp",
+ "android_media_MediaDataSource.cpp",
+ "android_media_MediaDescrambler.cpp",
+ "android_media_MediaDrm.cpp",
+ "android_media_MediaExtractor.cpp",
+ "android_media_MediaHTTPConnection.cpp",
+ "android_media_MediaMetricsJNI.cpp",
+ "android_media_MediaMetadataRetriever.cpp",
+ "android_media_MediaMuxer.cpp",
+ "android_media_MediaPlayer.cpp",
+ "android_media_MediaProfiles.cpp",
+ "android_media_MediaRecorder.cpp",
+ "android_media_MediaScanner.cpp",
+ "android_media_MediaSync.cpp",
+ "android_media_ResampleInputStream.cpp",
+ "android_media_SyncParams.cpp",
+ "android_media_Utils.cpp",
+ "android_mtp_MtpDatabase.cpp",
+ "android_mtp_MtpDevice.cpp",
+ "android_mtp_MtpServer.cpp",
+ "midi/android_media_midi_MidiDevice.cpp",
+ ],
+
+ shared_libs: [
+ "libandroid_runtime",
+ "libnativehelper",
+ "libutils",
+ "libbinder",
+ "libmedia",
+ "libmediametrics",
+ "libmediadrm",
+ "libmidi",
+ "libskia",
+ "libui",
+ "liblog",
+ "libcutils",
+ "libgui",
+ "libstagefright",
+ "libstagefright_foundation",
+ "libcamera_client",
+ "libmtp",
+ "libexif",
+ "libpiex",
+ "libandroidfw",
+ ],
+
+ header_libs: ["libhardware_headers"],
+
+ static_libs: ["libgrallocusage"],
+
+ include_dirs: [
+ "frameworks/base/core/jni",
+ "frameworks/native/include/media/openmax",
+ "system/media/camera/include",
+ ],
+
+ export_include_dirs: ["."],
+
+ export_shared_lib_headers: [
+ "libpiex",
+ ],
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wno-error=deprecated-declarations",
+ "-Wunused",
+ "-Wunreachable-code",
+ ],
+}
+
+subdirs = [
+ "audioeffect",
+]
diff --git a/media/jni/Android.mk b/media/jni/Android.mk
deleted file mode 100644
index c2ed8cf15c1a..000000000000
--- a/media/jni/Android.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- android_media_ImageWriter.cpp \
- android_media_ImageReader.cpp \
- android_media_MediaCrypto.cpp \
- android_media_MediaCodec.cpp \
- android_media_MediaCodecList.cpp \
- android_media_MediaDataSource.cpp \
- android_media_MediaDescrambler.cpp \
- android_media_MediaDrm.cpp \
- android_media_MediaExtractor.cpp \
- android_media_MediaHTTPConnection.cpp \
- android_media_MediaMetricsJNI.cpp \
- android_media_MediaMetadataRetriever.cpp \
- android_media_MediaMuxer.cpp \
- android_media_MediaPlayer.cpp \
- android_media_MediaProfiles.cpp \
- android_media_MediaRecorder.cpp \
- android_media_MediaScanner.cpp \
- android_media_MediaSync.cpp \
- android_media_ResampleInputStream.cpp \
- android_media_SyncParams.cpp \
- android_media_Utils.cpp \
- android_mtp_MtpDatabase.cpp \
- android_mtp_MtpDevice.cpp \
- android_mtp_MtpServer.cpp \
- midi/android_media_midi_MidiDevice.cpp \
-
-LOCAL_SHARED_LIBRARIES := \
- libandroid_runtime \
- libnativehelper \
- libutils \
- libbinder \
- libmedia \
- libmediametrics \
- libmediadrm \
- libmidi \
- libskia \
- libui \
- liblog \
- libcutils \
- libgui \
- libstagefright \
- libstagefright_foundation \
- libcamera_client \
- libmtp \
- libexif \
- libpiex \
- libandroidfw
-
-LOCAL_STATIC_LIBRARIES := \
- libgrallocusage \
-
-LOCAL_C_INCLUDES += \
- external/libexif/ \
- external/piex/ \
- external/tremor/Tremor \
- frameworks/base/core/jni \
- frameworks/base/libs/hwui \
- frameworks/base/media/native \
- frameworks/av/media/libmedia \
- frameworks/av/media/libstagefright \
- frameworks/av/media/mtp \
- frameworks/native/include/media/openmax \
- $(call include-path-for, libhardware)/hardware \
- $(PV_INCLUDES) \
- $(JNI_H_INCLUDE)
-
-LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code
-
-LOCAL_MODULE:= libmedia_jni
-
-include $(BUILD_SHARED_LIBRARY)
-
-# build libsoundpool.so
-# build libaudioeffect_jni.so
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 163c4b012262..52fadfaad984 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -27,7 +27,6 @@
#include <gui/BufferItemConsumer.h>
#include <gui/Surface.h>
-#include <camera3.h>
#include <android_runtime/AndroidRuntime.h>
#include <android_runtime/android_view_Surface.h>
diff --git a/media/jni/android_media_ImageWriter.cpp b/media/jni/android_media_ImageWriter.cpp
index b5ea632544b9..7c424d94899c 100644
--- a/media/jni/android_media_ImageWriter.cpp
+++ b/media/jni/android_media_ImageWriter.cpp
@@ -25,7 +25,6 @@
#include <gui/Surface.h>
#include <android_runtime/AndroidRuntime.h>
#include <android_runtime/android_view_Surface.h>
-#include <camera3.h>
#include <jni.h>
#include <JNIHelp.h>
diff --git a/media/jni/android_media_Utils.cpp b/media/jni/android_media_Utils.cpp
index c62d93036c2e..458d8471dafd 100644
--- a/media/jni/android_media_Utils.cpp
+++ b/media/jni/android_media_Utils.cpp
@@ -17,6 +17,7 @@
// #define LOG_NDEBUG 0
#define LOG_TAG "AndroidMediaUtils"
+#include <hardware/camera3.h>
#include <utils/Log.h>
#include "android_media_Utils.h"
diff --git a/media/jni/android_media_Utils.h b/media/jni/android_media_Utils.h
index 39c155439767..af2f2d7bbe5d 100644
--- a/media/jni/android_media_Utils.h
+++ b/media/jni/android_media_Utils.h
@@ -21,7 +21,6 @@
#include "src/piex.h"
#include <android_runtime/AndroidRuntime.h>
-#include <camera3.h>
#include <gui/CpuConsumer.h>
#include <jni.h>
#include <JNIHelp.h>
diff --git a/media/jni/audioeffect/Android.bp b/media/jni/audioeffect/Android.bp
new file mode 100644
index 000000000000..2aca0c1f9a40
--- /dev/null
+++ b/media/jni/audioeffect/Android.bp
@@ -0,0 +1,25 @@
+cc_library_shared {
+ name: "libaudioeffect_jni",
+
+ srcs: [
+ "android_media_AudioEffect.cpp",
+ "android_media_Visualizer.cpp",
+ ],
+
+ shared_libs: [
+ "liblog",
+ "libcutils",
+ "libutils",
+ "libandroid_runtime",
+ "libnativehelper",
+ "libmedia",
+ "libaudioclient",
+ ],
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wunused",
+ "-Wunreachable-code",
+ ],
+}
diff --git a/media/jni/audioeffect/Android.mk b/media/jni/audioeffect/Android.mk
deleted file mode 100644
index 777636b20901..000000000000
--- a/media/jni/audioeffect/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- android_media_AudioEffect.cpp \
- android_media_Visualizer.cpp
-
-LOCAL_SHARED_LIBRARIES := \
- liblog \
- libcutils \
- libutils \
- libandroid_runtime \
- libnativehelper \
- libmedia \
- libaudioclient \
-
-LOCAL_MODULE:= libaudioeffect_jni
-
-LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/media/jni/midi/android_media_midi_MidiDevice.cpp b/media/jni/midi/android_media_midi_MidiDevice.cpp
index 3743e4ac8036..4df84362a39d 100644
--- a/media/jni/midi/android_media_midi_MidiDevice.cpp
+++ b/media/jni/midi/android_media_midi_MidiDevice.cpp
@@ -18,7 +18,7 @@
#define LOG_TAG "Midi-JNI"
#include <android_util_Binder.h>
-#include <midi/midi_internal.h>
+#include <midi_internal.h>
#include <nativehelper/jni.h>
#include <utils/Log.h>
diff --git a/media/native/Android.bp b/media/native/Android.bp
new file mode 100644
index 000000000000..b44c2960127f
--- /dev/null
+++ b/media/native/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/media/native/midi/Android.bp b/media/native/midi/Android.bp
index 3500805d2794..11f0deabbcd5 100644
--- a/media/native/midi/Android.bp
+++ b/media/native/midi/Android.bp
@@ -12,10 +12,31 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-// The headers module is in frameworks/media/native/midi/Android.bp.
-ndk_library {
- name: "libmidi.ndk",
- symbol_file: "libmidi.map.txt",
- first_version: "26",
-// unversioned_until: "current",
+cc_library_shared {
+ name: "libmidi",
+
+ srcs: [
+ "midi.cpp",
+ ":IMidiDeviceServer.aidl",
+ ],
+
+ aidl: {
+ include_dirs: ["frameworks/base/media/java"],
+ export_aidl_headers: true,
+ },
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-O0",
+ ],
+
+ shared_libs: [
+ "liblog",
+ "libbinder",
+ "libutils",
+ "libmedia",
+ ],
+
+ export_include_dirs: ["."],
}
diff --git a/media/native/midi/Android.mk b/media/native/midi/Android.mk
deleted file mode 100644
index dbc5eed004db..000000000000
--- a/media/native/midi/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- ../../java/android/media/midi/IMidiDeviceServer.aidl \
- midi.cpp
-
-LOCAL_AIDL_INCLUDES := \
- $(FRAMEWORKS_BASE_JAVA_SRC_DIRS) \
- frameworks/native/aidl/binder
-
-LOCAL_CFLAGS += -Wall -Werror -O0
-
-LOCAL_MODULE := libmidi
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := liblog libbinder libutils libmedia
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/ServiceIntentSender.java b/packages/MtpDocumentsProvider/src/com/android/mtp/ServiceIntentSender.java
index c5292b878f37..fe792667fc68 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/ServiceIntentSender.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/ServiceIntentSender.java
@@ -18,6 +18,8 @@ package com.android.mtp;
import android.annotation.NonNull;
import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -27,10 +29,21 @@ import com.android.internal.util.Preconditions;
* Sends intent to MtpDocumentsService.
*/
class ServiceIntentSender {
+ private final static String CHANNEL_ID = "device_notification_channel";
private Context mContext;
ServiceIntentSender(Context context) {
mContext = context;
+
+ // Create notification channel.
+ final NotificationChannel mChannel = new NotificationChannel(
+ CHANNEL_ID,
+ context.getResources().getString(
+ com.android.internal.R.string.default_notification_channel_label),
+ NotificationManager.IMPORTANCE_LOW);
+ final NotificationManager notificationManager =
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+ notificationManager.createNotificationChannel(mChannel);
}
/**
@@ -60,12 +73,11 @@ class ServiceIntentSender {
final String title = context.getResources().getString(
R.string.accessing_notification_title,
device.name);
- return new Notification.Builder(context)
+ return new Notification.Builder(context, CHANNEL_ID)
.setLocalOnly(true)
.setContentTitle(title)
.setSmallIcon(com.android.internal.R.drawable.stat_sys_data_usb)
.setCategory(Notification.CATEGORY_SYSTEM)
- .setPriority(Notification.PRIORITY_LOW)
.setFlag(Notification.FLAG_NO_CLEAR, true)
.build();
}