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

Commit d08e64e3 authored by kschulz's avatar kschulz Committed by Andre Eisenbach
Browse files

Update to Bluetooth MAP 1.2 (server)

- Change folder name lookup to a map
  Replaced the arrays used to convert mailbox ID/msg type to a folder name with a static map.
  This is to avoid null pointer exception for unknown  values, and to catch any changes in
  the ID/type values at compile time in stead of runtime.
  Bug-id:16874441
- Added Instance Information support and Extended Event support.
  Still missing integration wiht SDP MAP feature bit mask support
- Adding Abstract implementation to support conversations
- added  IM account handling, IM type definition, Application paramenters.
- addedgetConversactionList functionality
- added method to strip encoding in headers
- Fixed messagelist showing both email address and name in the name fields.
- Fixed Index out of bounds exception was hit when the subject contained invalid chars.
- Added functionality to support the getConversationListReq
  Works for SMS/MMS, Email and IM
  For Email/IM it depends on the convoContact table in the contract.
   For SMS/MMS it uses the contact number+ name if available in contact database.
- Added new parameters to msgListing also in contract class
- Added Test framework for "near system level" tests
  Currently only includes an entry point for single device tests.
- Added support for setOwnerStatus
- Added support for vcard type X-BT-UID
- Introduced type SignedLongLong to handle 128 bit values which needs to be handled as hex-strings.
- Added convocontact notification events for IM
- Added support for IM getMessage
- Added setEventFilter function.
- Added event filtering before enquing an event to be send.
- Added selective observers, depending on the active filter.
- Fixed timestamp to be from seconds to seconds (not from milisec)
- Fixed version number in bMessage if remote featurebit is set for v 1.1
- Added content encoding to QP for text that are not USACII
- Corrected the addresses in to/from for IM messages
- Added btuid and btuci to vcard
- Fixed (some) longlines
- Added extendedData support (empty when sending, just logging when receiving)
- Fixed Email folderName compairison changed to ignore case
- Fixed problem with names containing "null"
- BluetoothMapbMessageMms changed to BluetoothMapbMessageMime
- Fixrf addOriginator in getMessage request
- Add missing subjects in events for SMS
- Don't send ReadStatusChanged when pushing a message
- Temp way of adding names/uci to IM msg listing
- Added messageHandle filtering in msgListing
- Convolisting parameter mask support
- Added support for using handle when filtering in root folder during msgLising
- Added subject to event in sms
- Fixed so attribute_mime_type is only sent when parameter is requested
- Fixed feature bit check to messageListing version
- Fixed leaking cursors
- Added support for database identifier
- Added folder and conversation version counters

Change-Id: I4d2954b795aa7ed2a41dd034384da30f240b518f
parent 010fc6ae
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -7,8 +7,8 @@ LOCAL_SRC_FILES := \
        $(call all-java-files-under, lib/mapapi)

LOCAL_MODULE := bluetooth.mapsapi

include $(BUILD_JAVA_LIBRARY)
LOCAL_MULTILIB := 32
include $(BUILD_STATIC_JAVA_LIBRARY)

include $(CLEAR_VARS)

@@ -21,8 +21,8 @@ LOCAL_PACKAGE_NAME := Bluetooth
LOCAL_CERTIFICATE := platform

LOCAL_JNI_SHARED_LIBRARIES := libbluetooth_jni
LOCAL_JAVA_LIBRARIES := javax.obex telephony-common bluetooth.mapsapi
LOCAL_STATIC_JAVA_LIBRARIES := com.android.vcard
LOCAL_JAVA_LIBRARIES := javax.obex telephony-common
LOCAL_STATIC_JAVA_LIBRARIES := com.android.vcard  bluetooth.mapsapi

LOCAL_REQUIRED_MODULES := bluetooth.default
LOCAL_MULTILIB := 32
+5 −3
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <!-- WRITE_CONTACTS is used for test cases only -->
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_CALL_LOG" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
@@ -234,13 +236,13 @@
            android:enabled="@bool/profile_supported_map" >
            <intent-filter>
                <action android:name="android.bluetooth.IBluetoothMap" />
                <action android:name="android.btmap.intent.action.SHOW_MAPS_EMAIL_SETTINGS" />
                <action android:name="android.btmap.intent.action.SHOW_MAPS_SETTINGS" />
                <action android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT"/>
            </intent-filter>
        </service>
         <activity android:name=".map.BluetoothMapEmailSettings"
         <activity android:name=".map.BluetoothMapSettings"
                  android:process="@string/process"
                  android:label="@string/bluetooth_map_email_settings_title"
                  android:label="@string/bluetooth_map_settings_title"
                  android:excludeFromRecents="true"
                  android:configChanges="orientation|keyboardHidden"
                  android:enabled="@bool/profile_supported_map">
+8 −5
Original line number Diff line number Diff line
@@ -22,9 +22,10 @@
#include "cutils/properties.h"
#include "android_runtime/AndroidRuntime.h"
#include "android_runtime/Log.h"

#include <string.h>
#include <pthread.h>
#include <binder/Parcel.h>

#include <sys/stat.h>
#include <fcntl.h>

@@ -471,7 +472,6 @@ static bt_callbacks_t sBluetoothCallbacks = {
    acl_state_changed_callback,
    callback_thread_event,
    dut_mode_recv_callback,

    le_test_mode_recv_callback,
    energy_info_recv_callback
};
@@ -488,7 +488,8 @@ static JavaVMAttachArgs sAttachArgs = {
  .group = NULL
};

static bool set_wake_alarm_callout(uint64_t delay_millis, bool should_wake, alarm_cb cb, void *data) {
static bool set_wake_alarm_callout(uint64_t delay_millis, bool should_wake,
        alarm_cb cb, void *data) {
    JNIEnv *env;
    JavaVM *vm = AndroidRuntime::getJavaVM();
    jint status = vm->GetEnv((void **)&env, JNI_VERSION_1_6);
@@ -507,7 +508,8 @@ static bool set_wake_alarm_callout(uint64_t delay_millis, bool should_wake, alar
    sAlarmCallbackData = data;

    jboolean jshould_wake = should_wake ? JNI_TRUE : JNI_FALSE;
    jboolean ret = env->CallBooleanMethod(sJniAdapterServiceObj, method_setWakeAlarm, (jlong)delay_millis, jshould_wake);
    jboolean ret = env->CallBooleanMethod(sJniAdapterServiceObj, method_setWakeAlarm,
            (jlong)delay_millis, jshould_wake);
    if (!ret) {
        sAlarmCallback = NULL;
        sAlarmCallbackData = NULL;
@@ -1042,7 +1044,8 @@ Fail:
}

static int createSocketChannelNative(JNIEnv *env, jobject object, jint type,
                                     jstring name_str, jbyteArray uuidObj, jint channel, jint flag) {
                                     jstring name_str, jbyteArray uuidObj, 
                                     jint channel, jint flag) {
    const char *service_name = NULL;
    jbyte *uuid = NULL;
    int socket_fd;
+706 −45

File changed.

Preview size limit exceeded, changes collapsed.

+689 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading