Files
frameworks_base/packages/SystemUI/Android.bp
Steve Elliott a7d7205e6e Add RemoteInput auth bypass flow
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
2021-02-08 19:15:41 -05:00

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",
],
}