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

Commit 47346d94 authored by Haijie Hong's avatar Haijie Hong
Browse files

Use async callback in config service

BUG: 343317785
Test: atest DeviceSettingRepositoryTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: I7aa58f62494bf8a13d1f7a6d4fd13a277e59b709
parent f86b52b6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import java.lang.annotation.RetentionPolicy;
            DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS,
            DeviceSettingId.DEVICE_SETTING_ID_DEVICE_DETAILS_FOOTER,
            DeviceSettingId.DEVICE_SETTING_ID_ANC,
            DeviceSettingId.DEVICE_SETTING_ID_GENERAL_BLUETOOTH_DEVICE_HEADER,
        },
        open = true)
public @interface DeviceSettingId {
@@ -114,6 +115,9 @@ public @interface DeviceSettingId {
    /** Device setting ID for "More Settings" page. */
    int DEVICE_SETTING_ID_MORE_SETTINGS = 21;

    /** Device setting ID for general bluetooth device header. */
    int DEVICE_SETTING_ID_GENERAL_BLUETOOTH_DEVICE_HEADER = 22;

    /** Device setting ID for ANC. */
    int DEVICE_SETTING_ID_ANC = 1001;
}
+7 −7
Original line number Diff line number Diff line
@@ -32,9 +32,9 @@ import android.os.Parcelable
 */
data class DeviceSettingItem(
    @DeviceSettingId val settingId: Int,
    val packageName: String,
    val className: String,
    val intentAction: String,
    val packageName: String? = null,
    val className: String? = null,
    val intentAction: String? = null,
    val preferenceKey: String? = null,
    val highlighted: Boolean = false,
    val extras: Bundle = Bundle.EMPTY,
@@ -62,11 +62,11 @@ data class DeviceSettingItem(
                    parcel.run {
                        DeviceSettingItem(
                            settingId = readInt(),
                            packageName = readString() ?: "",
                            className = readString() ?: "",
                            intentAction = readString() ?: "",
                            packageName = readString(),
                            className = readString(),
                            intentAction = readString(),
                            highlighted = readBoolean(),
                            preferenceKey = readString() ?: "",
                            preferenceKey = readString(),
                            extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY,
                        )
                    }
+19 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.settingslib.bluetooth.devicesettings;

parcelable DeviceSettingsConfigServiceStatus;
 No newline at end of file
+60 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.settingslib.bluetooth.devicesettings

import android.os.Bundle
import android.os.Parcel
import android.os.Parcelable

/**
 * A data class representing a device settings config service status.
 *
 * @property success Whether the status is succeed.
 * @property extras Extra bundle
 */
data class DeviceSettingsConfigServiceStatus(
    val success: Boolean,
    val extras: Bundle = Bundle.EMPTY,
) : Parcelable {

    override fun describeContents(): Int = 0

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.run {
            writeBoolean(success)
            writeBundle(extras)
        }
    }

    companion object {
        @JvmField
        val CREATOR: Parcelable.Creator<DeviceSettingsConfigServiceStatus> =
            object : Parcelable.Creator<DeviceSettingsConfigServiceStatus> {
                override fun createFromParcel(parcel: Parcel) =
                    parcel.run {
                        DeviceSettingsConfigServiceStatus(
                            success = readBoolean(),
                            extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY,
                        )
                    }

                override fun newArray(size: Int): Array<DeviceSettingsConfigServiceStatus?> {
                    return arrayOfNulls(size)
                }
            }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import android.os.Parcel
import android.os.Parcelable

/**
 * A data class representing a device settings item in bluetooth device details config.
 * A data class representing a device settings provider service status.
 *
 * @property enabled Whether the service is enabled.
 * @property extras Extra bundle
Loading