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

Commit ff68b943 authored by Joseph Pirozzo's avatar Joseph Pirozzo Committed by android-build-merger
Browse files

Merge "Add PBAP client to ProfilePrioritiesEntity"

am: 77664ec8

Change-Id: I3ab38a66d7168261419012f555d2be9681820543
parents 3e09f14f 77664ec8
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -66,8 +66,6 @@ import android.util.Slog;
import android.util.SparseArray;
import android.util.StatsLog;

import androidx.room.Room;

import com.android.bluetooth.BluetoothMetricsProto;
import com.android.bluetooth.Utils;
import com.android.bluetooth.btservice.RemoteDevices.DeviceProperties;
@@ -426,9 +424,7 @@ public class AdapterService extends Service {
        mActiveDeviceManager.start();

        mDatabaseManager = new DatabaseManager(this);
        MetadataDatabase database = Room.databaseBuilder(this,
                MetadataDatabase.class, MetadataDatabase.DATABASE_NAME).build();
        mDatabaseManager.start(database);
        mDatabaseManager.start(MetadataDatabase.createDatabase(this));

        mSilenceDeviceManager = new SilenceDeviceManager(this, new ServiceFactory(),
                Looper.getMainLooper());
+10 −4
Original line number Diff line number Diff line
@@ -267,8 +267,9 @@ public class DatabaseManager {
     * {@link BluetoothProfile#HEADSET_CLIENT}, {@link BluetoothProfile#A2DP},
     * {@link BluetoothProfile#A2DP_SINK}, {@link BluetoothProfile#HID_HOST},
     * {@link BluetoothProfile#PAN}, {@link BluetoothProfile#PBAP},
     * {@link BluetoothProfile#MAP}, {@link BluetoothProfile#MAP_CLIENT},
     * {@link BluetoothProfile#SAP}, {@link BluetoothProfile#HEARING_AID}
     * {@link BluetoothProfile#PBAP_CLIENT}, {@link BluetoothProfile#MAP},
     * {@link BluetoothProfile#MAP_CLIENT}, {@link BluetoothProfile#SAP},
     * {@link BluetoothProfile#HEARING_AID}
     * @param newPriority the priority to set; one of
     * {@link BluetoothProfile#PRIORITY_UNDEFINED},
     * {@link BluetoothProfile#PRIORITY_OFF},
@@ -325,8 +326,9 @@ public class DatabaseManager {
     * {@link BluetoothProfile#HEADSET_CLIENT}, {@link BluetoothProfile#A2DP},
     * {@link BluetoothProfile#A2DP_SINK}, {@link BluetoothProfile#HID_HOST},
     * {@link BluetoothProfile#PAN}, {@link BluetoothProfile#PBAP},
     * {@link BluetoothProfile#MAP}, {@link BluetoothProfile#MAP_CLIENT},
     * {@link BluetoothProfile#SAP}, {@link BluetoothProfile#HEARING_AID}
     * {@link BluetoothProfile#PBAP_CLIENT}, {@link BluetoothProfile#MAP},
     * {@link BluetoothProfile#MAP_CLIENT}, {@link BluetoothProfile#SAP},
     * {@link BluetoothProfile#HEARING_AID}
     * @return the profile priority of the device; one of
     * {@link BluetoothProfile#PRIORITY_UNDEFINED},
     * {@link BluetoothProfile#PRIORITY_OFF},
@@ -672,6 +674,9 @@ public class DatabaseManager {
            int pbapPriority = Settings.Global.getInt(contentResolver,
                    Settings.Global.getBluetoothPbapClientPriorityKey(device.getAddress()),
                    BluetoothProfile.PRIORITY_UNDEFINED);
            int pbapClientPriority = Settings.Global.getInt(contentResolver,
                    Settings.Global.getBluetoothPbapClientPriorityKey(device.getAddress()),
                    BluetoothProfile.PRIORITY_UNDEFINED);
            int sapPriority = Settings.Global.getInt(contentResolver,
                    Settings.Global.getBluetoothSapPriorityKey(device.getAddress()),
                    BluetoothProfile.PRIORITY_UNDEFINED);
@@ -691,6 +696,7 @@ public class DatabaseManager {
            data.setProfilePriority(BluetoothProfile.HID_HOST, hidHostPriority);
            data.setProfilePriority(BluetoothProfile.PAN, panPriority);
            data.setProfilePriority(BluetoothProfile.PBAP, pbapPriority);
            data.setProfilePriority(BluetoothProfile.PBAP_CLIENT, pbapClientPriority);
            data.setProfilePriority(BluetoothProfile.MAP, mapPriority);
            data.setProfilePriority(BluetoothProfile.MAP_CLIENT, mapClientPriority);
            data.setProfilePriority(BluetoothProfile.SAP, sapPriority);
+29 −24
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ class Metadata {
    public boolean migrated;

    @Embedded
    public ProfilePrioritiesEntity profilePriorites;
    public ProfilePrioritiesEntity profilePriorities;

    @Embedded
    @NonNull
@@ -49,7 +49,7 @@ class Metadata {
    Metadata(String address) {
        this.address = address;
        migrated = false;
        profilePriorites = new ProfilePrioritiesEntity();
        profilePriorities = new ProfilePrioritiesEntity();
        publicMetadata = new CustomizedMetadataEntity();
        a2dpSupportsOptionalCodecs = BluetoothA2dp.OPTIONAL_CODECS_SUPPORT_UNKNOWN;
        a2dpOptionalCodecsEnabled = BluetoothA2dp.OPTIONAL_CODECS_PREF_UNKNOWN;
@@ -62,37 +62,40 @@ class Metadata {
    void setProfilePriority(int profile, int priority) {
        switch (profile) {
            case BluetoothProfile.A2DP:
                profilePriorites.a2dp_priority = priority;
                profilePriorities.a2dp_priority = priority;
                break;
            case BluetoothProfile.A2DP_SINK:
                profilePriorites.a2dp_sink_priority = priority;
                profilePriorities.a2dp_sink_priority = priority;
                break;
            case BluetoothProfile.HEADSET:
                profilePriorites.hfp_priority = priority;
                profilePriorities.hfp_priority = priority;
                break;
            case BluetoothProfile.HEADSET_CLIENT:
                profilePriorites.hfp_client_priority = priority;
                profilePriorities.hfp_client_priority = priority;
                break;
            case BluetoothProfile.HID_HOST:
                profilePriorites.hid_host_priority = priority;
                profilePriorities.hid_host_priority = priority;
                break;
            case BluetoothProfile.PAN:
                profilePriorites.pan_priority = priority;
                profilePriorities.pan_priority = priority;
                break;
            case BluetoothProfile.PBAP:
                profilePriorites.pbap_priority = priority;
                profilePriorities.pbap_priority = priority;
                break;
            case BluetoothProfile.PBAP_CLIENT:
                profilePriorities.pbap_client_priority = priority;
                break;
            case BluetoothProfile.MAP:
                profilePriorites.map_priority = priority;
                profilePriorities.map_priority = priority;
                break;
            case BluetoothProfile.MAP_CLIENT:
                profilePriorites.map_client_priority = priority;
                profilePriorities.map_client_priority = priority;
                break;
            case BluetoothProfile.SAP:
                profilePriorites.sap_priority = priority;
                profilePriorities.sap_priority = priority;
                break;
            case BluetoothProfile.HEARING_AID:
                profilePriorites.hearing_aid_priority = priority;
                profilePriorities.hearing_aid_priority = priority;
                break;
            default:
                throw new IllegalArgumentException("invalid profile " + profile);
@@ -102,27 +105,29 @@ class Metadata {
    int getProfilePriority(int profile) {
        switch (profile) {
            case BluetoothProfile.A2DP:
                return profilePriorites.a2dp_priority;
                return profilePriorities.a2dp_priority;
            case BluetoothProfile.A2DP_SINK:
                return profilePriorites.a2dp_sink_priority;
                return profilePriorities.a2dp_sink_priority;
            case BluetoothProfile.HEADSET:
                return profilePriorites.hfp_priority;
                return profilePriorities.hfp_priority;
            case BluetoothProfile.HEADSET_CLIENT:
                return profilePriorites.hfp_client_priority;
                return profilePriorities.hfp_client_priority;
            case BluetoothProfile.HID_HOST:
                return profilePriorites.hid_host_priority;
                return profilePriorities.hid_host_priority;
            case BluetoothProfile.PAN:
                return profilePriorites.pan_priority;
                return profilePriorities.pan_priority;
            case BluetoothProfile.PBAP:
                return profilePriorites.pbap_priority;
                return profilePriorities.pbap_priority;
            case BluetoothProfile.PBAP_CLIENT:
                return profilePriorities.pbap_client_priority;
            case BluetoothProfile.MAP:
                return profilePriorites.map_priority;
                return profilePriorities.map_priority;
            case BluetoothProfile.MAP_CLIENT:
                return profilePriorites.map_client_priority;
                return profilePriorities.map_client_priority;
            case BluetoothProfile.SAP:
                return profilePriorites.sap_priority;
                return profilePriorities.sap_priority;
            case BluetoothProfile.HEARING_AID:
                return profilePriorites.hearing_aid_priority;
                return profilePriorities.hearing_aid_priority;
        }
        return BluetoothProfile.PRIORITY_UNDEFINED;
    }
+26 −1
Original line number Diff line number Diff line
@@ -16,15 +16,20 @@

package com.android.bluetooth.btservice.storage;

import android.content.Context;

import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;

import java.util.List;

/**
 * MetadataDatabase is a Room database stores Bluetooth persistence data
 */
@Database(entities = {Metadata.class}, exportSchema = false, version = 100)
@Database(entities = {Metadata.class}, exportSchema = false, version = 101)
public abstract class MetadataDatabase extends RoomDatabase {
    /**
     * The database file name
@@ -33,6 +38,19 @@ public abstract class MetadataDatabase extends RoomDatabase {

    protected abstract MetadataDao mMetadataDao();

    /**
     * Create a {@link MetadataDatabase} database
     *
     * @param context the Context to create database
     * @return the created {@link MetadataDatabase}
     */
    public static MetadataDatabase createDatabase(Context context) {
        return Room.databaseBuilder(context,
                MetadataDatabase.class, DATABASE_NAME)
                .addMigrations(MIGRATION_100_101)
                .build();
    }

    /**
     * Insert a {@link Metadata} to database
     *
@@ -66,4 +84,11 @@ public abstract class MetadataDatabase extends RoomDatabase {
    public void deleteAll() {
        mMetadataDao().deleteAll();
    }

    private static final Migration MIGRATION_100_101 = new Migration(100, 101) {
        @Override
        public void migrate(SupportSQLiteDatabase database) {
                database.execSQL("ALTER TABLE metadata ADD COLUMN `pbap_client_priority` INTEGER");
        }
    };
}
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ class ProfilePrioritiesEntity {
    public int hid_host_priority;
    public int pan_priority;
    public int pbap_priority;
    public int pbap_client_priority;
    public int map_priority;
    public int sap_priority;
    public int hearing_aid_priority;
@@ -43,6 +44,7 @@ class ProfilePrioritiesEntity {
        hid_host_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        pan_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        pbap_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        pbap_client_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        map_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        sap_priority = BluetoothProfile.PRIORITY_UNDEFINED;
        hearing_aid_priority = BluetoothProfile.PRIORITY_UNDEFINED;