Move RingBuffer to SystemUICommon.

This change adds a new module SystemUICommon and moves RingBuffer to
it. This is to prepare introducing a new logging library which would
depend on it.

Bug: 276475093
Test: RingBuffer does not have existing tests, so just verified
LogBuffer works correctly on device

Change-Id: Ib71fcf8526021be1ac3fe279210c54cb7d4cd0e6
This commit is contained in:
Darrell Shi
2023-04-06 17:58:40 +00:00
parent 644791aae4
commit 6000632d38
15 changed files with 87 additions and 9 deletions

View File

@@ -156,9 +156,10 @@ android_library {
"WifiTrackerLib",
"WindowManager-Shell",
"SystemUIAnimationLib",
"SystemUICommon",
"SystemUICustomizationLib",
"SystemUIPluginLib",
"SystemUISharedLib",
"SystemUICustomizationLib",
"SystemUI-statsd",
"SettingsLib",
"androidx.core_core-ktx",

9
packages/SystemUI/common/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
.idea/
.gradle/
gradle/
build/
gradlew*
local.properties
*.iml
android.properties
buildSrc

View File

@@ -0,0 +1,39 @@
// Copyright (C) 2023 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 {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_packages_SystemUI_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
}
android_library {
name: "SystemUICommon",
srcs: [
"src/**/*.java",
"src/**/*.kt",
],
static_libs: [
"androidx.core_core-ktx",
],
manifest: "AndroidManifest.xml",
kotlincflags: ["-Xjvm-default=all"],
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.common">
</manifest>

View File

@@ -0,0 +1,2 @@
darrellshi@google.com
evanlaird@google.com

View File

@@ -0,0 +1,5 @@
# SystemUICommon
`SystemUICommon` is a module within SystemUI that hosts standalone helper libraries. It is intended to be used by other modules, and therefore should not have other SystemUI dependencies to avoid circular dependencies.
To maintain the structure of this module, please refrain from adding components at the top level. Instead, add them to specific sub-packages, such as `systemui/common/buffer/`. This will help to keep the module organized and easy to navigate.

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.systemui.plugins.util
package com.android.systemui.common.buffer
import kotlin.math.max

View File

@@ -37,6 +37,7 @@ java_library {
"error_prone_annotations",
"PluginCoreLib",
"SystemUIAnimationLib",
"SystemUICommon",
],
}

View File

@@ -18,7 +18,7 @@ package com.android.systemui.plugins.log
import android.os.Trace
import android.util.Log
import com.android.systemui.plugins.util.RingBuffer
import com.android.systemui.common.buffer.RingBuffer
import com.google.errorprone.annotations.CompileTimeConstant
import java.io.PrintWriter
import java.util.concurrent.ArrayBlockingQueue

View File

@@ -17,9 +17,9 @@
package com.android.keyguard
import android.annotation.CurrentTimeMillisLong
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.dump.DumpsysTableLogger
import com.android.systemui.dump.Row
import com.android.systemui.plugins.util.RingBuffer
/** Verbose debug information. */
data class KeyguardActiveUnlockModel(

View File

@@ -17,9 +17,9 @@
package com.android.keyguard
import android.annotation.CurrentTimeMillisLong
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.dump.DumpsysTableLogger
import com.android.systemui.dump.Row
import com.android.systemui.plugins.util.RingBuffer
/** Verbose debug information associated. */
data class KeyguardFaceListenModel(

View File

@@ -17,9 +17,9 @@
package com.android.keyguard
import android.annotation.CurrentTimeMillisLong
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.dump.DumpsysTableLogger
import com.android.systemui.dump.Row
import com.android.systemui.plugins.util.RingBuffer
/** Verbose debug information. */
data class KeyguardFingerprintListenModel(

View File

@@ -18,7 +18,7 @@ package com.android.systemui.log.table
import android.os.Trace
import com.android.systemui.Dumpable
import com.android.systemui.plugins.util.RingBuffer
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.util.time.SystemClock
import java.io.PrintWriter
import java.text.SimpleDateFormat

View File

@@ -14,9 +14,9 @@
package com.android.systemui.shade
import android.view.MotionEvent
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.dump.DumpsysTableLogger
import com.android.systemui.dump.Row
import com.android.systemui.plugins.util.RingBuffer
import java.text.SimpleDateFormat
import java.util.Locale

View File

@@ -16,9 +16,9 @@
package com.android.systemui.shade
import com.android.systemui.common.buffer.RingBuffer
import com.android.systemui.dump.DumpsysTableLogger
import com.android.systemui.dump.Row
import com.android.systemui.plugins.util.RingBuffer
import com.android.systemui.shade.NotificationShadeWindowState.Buffer
import com.android.systemui.statusbar.StatusBarState