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

Commit 251c5567 authored by Xin Li's avatar Xin Li
Browse files

Merge Android 14

Bug: 298295554
Merged-In: I3eda208ea9e168ad05bfda55584fc75647356192
Change-Id: I7ea6fb0433608eb89fdf2e82f41d62bba5a12da3
parents 93c7de3b 9a497d5c
Loading
Loading
Loading
Loading
+18 −19
Original line number Diff line number Diff line
@@ -8,16 +8,15 @@
      "name": "BluetoothInstrumentationTests",
      "keywords": ["internal"]
    },
    {
      "name": "GoogleBluetoothInstrumentationTests",
      "keywords": ["internal"]
    },
    {
      "name": "FrameworkBluetoothTests"
    },
    {
      "name": "ServiceBluetoothTests"
    },
    //{
    //  "name": "GoogleBluetoothInstrumentationTests"
    //},
    //{
    //  "name": "FrameworkBluetoothTests"
    //},
    //{
    //  "name": "ServiceBluetoothTests"
    //},
    // device only tests
    // Broken
    //{
@@ -276,15 +275,15 @@
    {
      "name": "BluetoothInstrumentationTests"
    },
    {
      "name": "GoogleBluetoothInstrumentationTests"
    },
    {
      "name": "FrameworkBluetoothTests"
    },
    {
      "name": "ServiceBluetoothTests"
    },
    //{
    //  "name": "GoogleBluetoothInstrumentationTests"
    //},
    //{
    //  "name": "FrameworkBluetoothTests"
    //},
    //{
    //  "name": "ServiceBluetoothTests"
    //},
    // device only tests
    // Broken
    //{
+40 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 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.
 */

package com.android.bluetooth.apishim.api33;

import android.os.Build;
import android.os.Bundle;
import android.telecom.Call;

import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;

import com.android.bluetooth.apishim.common.BluetoothCallShim;

@RequiresApi(Build.VERSION_CODES.TIRAMISU)
public class BluetoothCallShimImpl implements BluetoothCallShim {

    public static BluetoothCallShim newInstance() {
        return new BluetoothCallShimImpl();
    }

    @Override
	public boolean isSilentRingingRequested(@Nullable Bundle extras) {
        return extras != null
            && extras.getBoolean(Call.EXTRA_SILENT_RINGING_REQUESTED);
	}
}
 No newline at end of file
+48 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 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.
 */

package com.android.bluetooth.apishim;

import static com.android.modules.utils.build.SdkLevel.isAtLeastU;

import android.os.Build;
import android.os.Bundle;
import android.telecom.Call;

import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;

import com.android.bluetooth.apishim.common.BluetoothCallShim;

@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
public class BluetoothCallShimImpl extends
        com.android.bluetooth.apishim.api33.BluetoothCallShimImpl {

    @RequiresApi(Build.VERSION_CODES.TIRAMISU)
    public static BluetoothCallShim newInstance() {
        if (!isAtLeastU()) {
            return com.android.bluetooth.apishim.api33.BluetoothCallShimImpl
                    .newInstance();
        }
        return new BluetoothCallShimImpl();
    }

    @Override
    public boolean isSilentRingingRequested(@Nullable Bundle extras) {
        return extras != null && (extras.getBoolean(Call.EXTRA_SILENT_RINGING_REQUESTED)
                || extras.getBoolean(Call.EXTRA_IS_SUPPRESSED_BY_DO_NOT_DISTURB));
    }
}
 No newline at end of file
+94 −0
Original line number Diff line number Diff line
// Copyright 2022, 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.

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

// Libraries for the API shims
java_defaults {
    name: "BluetoothShimsDefaults",
    libs: [
        "androidx.annotation_annotation",
    ],
    static_libs : [
        "modules-utils-build_system"
    ],
    apex_available: [
        "com.android.btservices",
    ],
    min_sdk_version: "Tiramisu",
}

// Common shim code. This includes the shim interface definitions themselves.
// Compiles against system_current because ShimUtils
// needs access to all Build.VERSION_CODES.*, which by definition are only in the newest SDK.
java_library {
    name: "BluetoothShimsCommon",
    defaults: [
        "BluetoothShimsDefaults",
    ],
    srcs: ["common/**/*.java"],
    sdk_version: "system_current",
    visibility: ["//visibility:private"],
}

// Each level of the shims (33, 34, ...) is its own java_library compiled against the corresponding
// system_X SDK. this ensures that each shim can only use SDK classes that exist in its SDK level.
java_library {
    name: "BluetoothApi33Shims",
    defaults: [
        "BluetoothShimsDefaults",
    ],
    srcs: [
        "33/**/*.java",
    ],
    libs: [
        "BluetoothShimsCommon",
    ],
    sdk_version: "module_33",
    visibility: ["//visibility:private"],
}

java_library {
    name: "BluetoothApi34Shims",
    defaults: [
        "BluetoothShimsDefaults",
    ],
    srcs: [
        "34/**/*.java",
    ],
    libs: [
        "BluetoothShimsCommon",
        "BluetoothApi33Shims",
    ],
    sdk_version: "module_current",
    visibility: ["//visibility:private"],
}

java_library {
    name: "BluetoothApiShims",
    defaults: [
        "BluetoothShimsDefaults",
    ],
    static_libs: [
        "BluetoothShimsCommon",
        "BluetoothApi33Shims",
        "BluetoothApi34Shims",
    ],
    visibility: [
        "//packages/modules/Bluetooth/android/app",
    ],
    sdk_version: "module_33",
}
 No newline at end of file

android/apishim/OWNERS

0 → 100644
+13 −0
Original line number Diff line number Diff line
# Reviewers for /android/apishim

cmanton@google.com
cncn@google.com
eruffieux@google.com
jpawlowski@google.com
mylesgw@google.com
optedoblivion@google.com
qasimj@google.com
rahulsabnis@google.com
sattiraju@google.com
siyuanh@google.com
wescande@google.com
 No newline at end of file
Loading