This change adds a way for a RemoteInputView activation to be allowed even when the device is locked. If this is done, then authentication will be deferred until the RemoteInput is sent. At that time, if authentication is still necessary, the bouncer will be shown. Authentication can be bypassed asynchronously while the RemoteInputView is active via the AuthBypassPredicate passed to NotificationRemoteInputManager#activateRemoteInput. If this predicate returns true at the time that the RemoteInput is sent, then the send will succeed, but the device will remain locked. If it returns false, then the bouncer will be shown, at which point the user can choose to unlock the device and send again, or dismiss the bouncer (and nothing else will happen). Test: manual Bug: 170647553 Change-Id: Ie3b2089cefc6cfc2f5b6d218a61a51b1785ecf92
200 lines
5.4 KiB
Plaintext
200 lines
5.4 KiB
Plaintext
//
|
|
// Copyright (C) 2018 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.
|
|
//
|
|
|
|
java_library {
|
|
name: "SystemUI-proto",
|
|
|
|
srcs: ["src/**/*.proto"],
|
|
|
|
proto: {
|
|
type: "nano",
|
|
},
|
|
|
|
libs: [
|
|
"WindowManager-Shell-proto",
|
|
],
|
|
}
|
|
|
|
java_library {
|
|
name: "SystemUI-tags",
|
|
srcs: ["src/com/android/systemui/EventLogTags.logtags"],
|
|
}
|
|
|
|
java_library {
|
|
name: "SystemUI-sensors",
|
|
srcs: [
|
|
"src/com/android/systemui/util/sensors/ThresholdSensor.java",
|
|
]
|
|
}
|
|
|
|
android_library {
|
|
name: "SystemUI-core",
|
|
srcs: [
|
|
"src/**/*.kt",
|
|
"src/**/*.java",
|
|
"src/**/I*.aidl",
|
|
],
|
|
resource_dirs: [
|
|
"res-product",
|
|
"res-keyguard",
|
|
"res",
|
|
],
|
|
static_libs: [
|
|
"WindowManager-Shell",
|
|
"SystemUIPluginLib",
|
|
"SystemUISharedLib",
|
|
"SystemUI-statsd",
|
|
"SettingsLib",
|
|
"androidx.viewpager2_viewpager2",
|
|
"androidx.legacy_legacy-support-v4",
|
|
"androidx.recyclerview_recyclerview",
|
|
"androidx.preference_preference",
|
|
"androidx.appcompat_appcompat",
|
|
"androidx.concurrent_concurrent-futures",
|
|
"androidx.mediarouter_mediarouter",
|
|
"androidx.palette_palette",
|
|
"androidx.legacy_legacy-preference-v14",
|
|
"androidx.leanback_leanback",
|
|
"androidx.slice_slice-core",
|
|
"androidx.slice_slice-view",
|
|
"androidx.slice_slice-builders",
|
|
"androidx.arch.core_core-runtime",
|
|
"androidx.lifecycle_lifecycle-extensions",
|
|
"androidx.dynamicanimation_dynamicanimation",
|
|
"androidx-constraintlayout_constraintlayout",
|
|
"androidx.exifinterface_exifinterface",
|
|
"kotlinx_coroutines_android",
|
|
"kotlinx_coroutines",
|
|
"iconloader_base",
|
|
"SystemUI-tags",
|
|
"SystemUI-proto",
|
|
"dagger2",
|
|
"jsr330"
|
|
],
|
|
manifest: "AndroidManifest.xml",
|
|
|
|
kotlincflags: ["-Xjvm-default=enable"],
|
|
|
|
plugins: ["dagger2-compiler"],
|
|
}
|
|
|
|
filegroup {
|
|
name: "SystemUI-tests-utils",
|
|
srcs: [
|
|
"tests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java",
|
|
"tests/src/com/android/systemui/statusbar/RankingBuilder.java",
|
|
"tests/src/com/android/systemui/statusbar/SbnBuilder.java",
|
|
"tests/src/com/android/systemui/util/concurrency/FakeExecutor.java",
|
|
"tests/src/com/android/systemui/util/time/FakeSystemClock.java",
|
|
],
|
|
path: "tests/src",
|
|
}
|
|
|
|
android_library {
|
|
name: "SystemUI-tests",
|
|
manifest: "tests/AndroidManifest-base.xml",
|
|
additional_manifests: ["tests/AndroidManifest.xml"],
|
|
|
|
resource_dirs: [
|
|
"tests/res",
|
|
"res-product",
|
|
"res-keyguard",
|
|
"res",
|
|
],
|
|
srcs: [
|
|
"tests/src/**/*.kt",
|
|
"tests/src/**/*.java",
|
|
"src/**/*.kt",
|
|
"src/**/*.java",
|
|
"src/**/I*.aidl",
|
|
],
|
|
static_libs: [
|
|
"SystemUIPluginLib",
|
|
"SystemUISharedLib",
|
|
"SystemUI-statsd",
|
|
"SettingsLib",
|
|
"androidx.viewpager2_viewpager2",
|
|
"androidx.legacy_legacy-support-v4",
|
|
"androidx.recyclerview_recyclerview",
|
|
"androidx.preference_preference",
|
|
"androidx.appcompat_appcompat",
|
|
"androidx.concurrent_concurrent-futures",
|
|
"androidx.mediarouter_mediarouter",
|
|
"androidx.palette_palette",
|
|
"androidx.legacy_legacy-preference-v14",
|
|
"androidx.leanback_leanback",
|
|
"androidx.slice_slice-core",
|
|
"androidx.slice_slice-view",
|
|
"androidx.slice_slice-builders",
|
|
"androidx.arch.core_core-runtime",
|
|
"androidx.lifecycle_lifecycle-extensions",
|
|
"androidx.dynamicanimation_dynamicanimation",
|
|
"androidx-constraintlayout_constraintlayout",
|
|
"androidx.exifinterface_exifinterface",
|
|
"kotlinx-coroutines-android",
|
|
"kotlinx-coroutines-core",
|
|
"iconloader_base",
|
|
"SystemUI-tags",
|
|
"SystemUI-proto",
|
|
"metrics-helper-lib",
|
|
"hamcrest-library",
|
|
"androidx.test.rules",
|
|
"androidx.test.uiautomator",
|
|
"mockito-target-extended-minus-junit4",
|
|
"testables",
|
|
"truth-prebuilt",
|
|
"dagger2",
|
|
"jsr330",
|
|
"WindowManager-Shell",
|
|
],
|
|
libs: [
|
|
"android.test.runner",
|
|
"android.test.base",
|
|
],
|
|
kotlincflags: ["-Xjvm-default=enable"],
|
|
aaptflags: [
|
|
"--extra-packages",
|
|
"com.android.systemui",
|
|
],
|
|
plugins: ["dagger2-compiler"],
|
|
}
|
|
|
|
android_app {
|
|
name: "SystemUI",
|
|
defaults: ["platform_app_defaults"],
|
|
static_libs: [
|
|
"SystemUI-core",
|
|
],
|
|
resource_dirs: [],
|
|
|
|
platform_apis: true,
|
|
system_ext_specific: true,
|
|
certificate: "platform",
|
|
privileged: true,
|
|
|
|
optimize: {
|
|
proguard_flags_files: ["proguard.flags"],
|
|
},
|
|
|
|
kotlincflags: ["-Xjvm-default=enable"],
|
|
|
|
dxflags: ["--multi-dex"],
|
|
required: [
|
|
"privapp_whitelist_com.android.systemui",
|
|
"checked-wm_shell_protolog.json",
|
|
],
|
|
}
|