Commit Graph

48 Commits

Author SHA1 Message Date
Ryan Mitchell
2fe035b449 Revert "Fixed FieldClassificationStrategy that gets data from the package info."
This reverts commit cfa0d49be5.

Bug: 112776204
Test: atest FieldsClassificationTest#testGetAlgorithm
2018-08-28 16:28:30 +00:00
Julia Reynolds
fd4099d74f Add ability to pass user sentiment to assistant
Test: runtest systemui-notification
Bug: 4798501
Change-Id: Ied0d0a83c4fbbdde59ee8f4e9394161792c42c03
2018-08-21 12:58:30 -04:00
Julia Reynolds
cfd2692a94 Add AndroidTest file for ExtServices
Test: make
Bug: 111475013
Change-Id: Id649a1ed2109dee87bb8c61c3a161efe99c5e457
2018-08-21 12:41:21 -04:00
Julia Reynolds
6a63d1bfb5 The quietening round 3: aging
Move notifications into the min bucket after they've
been seen (plus a variable delay based on type).

Test: ExtServicesUnitTests
Bug: 111475013

Change-Id: Id577162d063dc1b0ad370f66af7a503e294c5b65
2018-08-20 18:59:31 +00:00
Julia Reynolds
901bf28b5f The quietening part 2: rules
Apply some rules about what notifications are automatically
silenced.

Test: make ExtServicesUnitTests &&
adb install -r $OUT/testcases/ExtServicesUnitTests/ExtServicesUnitTests.apk &&
adb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner
Bug: 111475013

Change-Id: Idf0434c0688b3249a9fc2d5aa655665e71e53249
2018-08-14 20:45:25 +00:00
Julia Reynolds
efcdff4528 The quietening round 2 part 1
Allow the notification assistant to block or silence
incoming notifications, or demote notifications after they
are posted

Also temporarily silence everything by default

Plus: bonus refactoring of the cancel notification runnable so I could
write just one of those tests :)

Bug: 111475013
Test: manual, runtest systemui-notification
Change-Id: Ifa04a21919f60d06080cd63e7d7747180b641308
2018-08-10 15:47:54 -04:00
TreeHugger Robot
c4f2ec7b3a Merge "Allow NotificationAssistantService to suggest smart replies" 2018-08-02 13:03:48 +00:00
Tony Mak
c9acf67886 Allow NotificationAssistantService to suggest smart replies
If the apps has provided their own choices, they will be used, as opposed
to the "smart replies" from NAS.
Otherwise, smart replies will be applied to the notifications
with a freeform RemoteInput but without choices.

The smart reply model is not ready yet, so canned response is hardcoded
and it is disabled by default. To test it out, run
adb shell setprop persist.sys.smart_replies_experiment true
Also, to get rid of the target >= P SDK requirement, you may want to run:
adb shell settings put global smart_replies_in_notifications_flags enabled=true,max_squeeze_remeasure_attempts=3,requires_targeting_p=false

Test: atest SystemUITests
Test: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenerServiceTest.java
Test:
1. adb shell setprop persist.sys.smart_replies_experiment true
2. adb shell settings put global smart_replies_in_notifications_flags enabled=true,max_squeeze_remeasure_attempts=3,requires_targeting_p=false
3. Send a message to myself, observe the hardcoded smart replies.

Bug: 111674540

Change-Id: Ia61a77faef7c4dcba0501abfec80e3e8cc7274e4
2018-08-02 11:39:35 +01:00
Felipe Leme
cfa0d49be5 Fixed FieldClassificationStrategy that gets data from the package info.
The metadata-based approach does not work with AAPT2.

Fixes: 80422287
Test: atest FieldsClassificationTest
Test: m -j update-api ExtServices

Change-Id: Ib7b626e77518e7eb4fcb88d85129cb67ed090c28
2018-07-25 17:11:56 -07:00
Tony Mak
c68b280d37 Ignore notification from other users
This fixed the issue that both personal and work NAS try to suggest
adjustment to work notifications. And if the personal one wins, tapping
on smart actions in work notification will bring up personal app.

BUG: 110527159
Test: Send a message to work profile hangouts. Click on the smart action,
      work app is launched.

Change-Id: I7021de43c10c8ff3abab455b1d58384661b99a76
2018-07-13 15:02:37 +00:00
Tony Mak
9145fb6297 Fix smart action is not enabled in first whatsapp notification
When there is only one incoming message, whatsapp neither set
category as msg nor use MessageStyle. To fix this, we add one more
heuristic. If a notification has inline reply, we consider it as a
message notification.

BUG: 110527159
Test: Send myself a whatsapp notification. Observe that smart action is
      added.

Change-Id: I2854764dce4eadd4b785d43f3042499607b2e8bf
2018-07-13 13:48:53 +01:00
Tony Mak
09db2ea924 Suggest smart actions in ExtServices
By using text textclassifier API, we classify entities like
email, phone, address in the notification and suggest the corresponding
actions.

Test: Manual test for now. Sideload GoogleExtServices. Write a sample app
to generate notification with phone number / address, etc, and finally
observe the smart actions.

BUG: 110527159

Change-Id: I02740cb07fa25a588d9e864990f95332d6830f12
2018-07-11 19:17:16 +00:00
Julia Reynolds
afab9bc256 Remove sentiment reason
Change-Id: I9f4426d2252d285b24401fdff5e1df21a46b8d03
Fixes: 110679864
Test: manual
2018-06-22 14:43:01 +00:00
Rohan Shah
3e24643bba Merge "[Notif] Rename/reset blocking helper stats file" into pi-dev am: 1822926cfb
am: b220d23529

Change-Id: Ie065b465f461faa433cf70ed84c51c034b845dcb
2018-05-09 09:06:31 -07:00
android-build-team Robot
9839db19b3 Merge "[Notif] Revert dismiss-to-view threshold to .8" into pi-dev am: 08d3e63b70
am: 2ec45853a8

Change-Id: I6549d42a69ec290fce6ebcf005c76469e9997d3d
2018-05-09 08:56:29 -07:00
Rohan Shah
1822926cfb Merge "[Notif] Rename/reset blocking helper stats file" into pi-dev 2018-05-09 15:33:04 +00:00
Rohan Shah
c30bf94134 Merge "Add knobs for tweaking blocking helper thresholds" into pi-dev am: 7af8fe3e29
am: 566a00935e

Change-Id: I39b306a0d56b4b9a27db4af098b0b30f75e535c7
2018-05-08 14:32:03 -07:00
Rohan Shah
eba2286aea [Notif] Revert dismiss-to-view threshold to .8
Lower how frequently users will see the blocking helper in preparation
for the experiment + file reset.

Test: Manual val change, tests pass
Bug: 77143005
Change-Id: Ie49dc5c08e7a5a6c30b3f38356e312d6fb28574e
2018-05-08 14:28:37 -07:00
Rohan Shah
0350dab5b6 Add knobs for tweaking blocking helper thresholds
Added both blocking helper parameters to Global Settings to allow for
tweaking stats/values. Added listeners for value updates (so that
channels are updated properly with new thresholds).

Bug: 77143005
Test: manually, test cases
Change-Id: Ia5cfb29ca40500a694261bd5e9e60fa1f34e742a
2018-05-08 09:34:38 -07:00
Rohan Shah
6299046929 [Notif] Rename/reset blocking helper stats file
Changed the name of the blocking helper stats file to effectively reset
blocking helper stats.

Will be submitted following a dogfood email being sent out.

Test: Manually, mp droid -> check file in adb shell
Bug: 77143005
Change-Id: I4d79077220d628e5fd7ce40553222658f94efc24
2018-05-08 07:55:02 -07:00
Julia Reynolds
1b90fe1132 Merge "Change the triggering criteria for blocking helper" into pi-dev am: 0712a8781b
am: a2b55eb813

Change-Id: Idf90cd57f31edcee9059543fa9bf5ce7826dfb8e
2018-03-28 13:42:29 +00:00
Julia Reynolds
435bc7afbf Change the triggering criteria for blocking helper
Test: runtest systemui-notifications
Bug: 77143005
Change-Id: Iab0237226b33afe0cde362d6e6ee231365b178a4
2018-03-27 18:03:27 -04:00
Felipe Leme
56622420f2 Merge "Improved Field Classification edit distance algorithms." into pi-dev am: a46e4d1059
am: aa70384959

Change-Id: I530b741765fc8ad27cfba92583bf739748566096
2018-03-15 22:20:56 +00:00
Felipe Leme
df73d68d74 Improved Field Classification edit distance algorithms.
The initial implementation was very simple, as the focus was the overall
workflow. Now it uses a proper implementation, copied from
com.android.tools.lint.detector.api.LintUtils.java

Test: atest ExtServicesUnitTests FieldsClassificationTest
Bug: 70291841

Change-Id: I7424b7f03a3c9cf9619c154656fa211b9f0c494a
2018-03-15 11:29:50 -07:00
TreeHugger Robot
237c2f592a Merge "Moves android:priority to intent-filter." 2018-03-07 22:26:26 +00:00
Anton Hansson
ab6ec61251 frameworks/base: Set LOCAL_SDK_VERSION where possible.
This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.

Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.

Test: make relevant packages
Bug: 73535841
Change-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760
2018-02-28 15:13:23 +00:00
Kang Li
08dcc0aaec Moves android:priority to intent-filter.
Test: tested it on a Pixel 2 XL.

Change-Id: Ibbb9f8b6ee3473ed455a7e5700b0ee516901b426
2018-02-13 16:36:22 -08:00
Julia Reynolds
ef934fdd48 Rebind assistant services on user unlocked.
Change-Id: I25daeaffee282df3b2e3819a29db6c3117b163f5
Fixes: 72453895
Test: manual
2018-02-01 22:57:29 +00:00
Felipe Leme
d11a66220c Minor API changes on Autofill Field Classification:
- Removed Scores class and use float[][] directly.
- Created constant for metadata keys.
- Removed getAlgorithName() from FieldClassification.

Bug: 70291841

Test: m -j update-api
Test: atest CtsAutoFillServiceTestCases

Change-Id: I62abf93c4f6f0804d838c7fb183c0b8bcb88a136
2018-01-19 12:16:21 -08:00
Felipe Leme
e4ac740e39 Implemented getAlgorithm() and getDefaultAlgorithm() using manifest metadata.
Bug: 70939974
Test: atest CtsAutoFillServiceTestCases:FieldsClassificationTest

Change-Id: I8b7028c0acfef164b84821a9e4c99817acc838f8
2018-01-19 09:39:38 -08:00
Felipe Leme
bc055b0ef1 Moved Field Classification score logic to ExtServices.
Bug: 70939974
Test: atest CtsAutoFillServiceTestCases:FieldsClassificationTest \
            CtsAutoFillServiceTestCases:UserDataTest
Test: atest CtsAutoFillServiceTestCases

Change-Id: I75fd59b5d7530fcd7095b26f6e592d7459c7d235
2018-01-18 10:40:30 -08:00
Paul Duffin
b866307f99 Stop statically including legacy-android-test
Statically including legacy-android-test leads to duplicate classes
which causes build time problems (with Proguard) and runtime problems on
older SDK versions. This change:
* Stops statically including legacy-android-test.
* Adds compile time dependencies on andoid.test.base, android.test.mock
  and android.test.runner where necessary.
* Adds <uses-library android:name="android.test.runner"/> to any
  affected package to ensure that the classes that were included by
  legacy-android-test are still available at runtime. That also adds a
  dependency on android.test.base and android.test.mock.

The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.

* apct-tests/perftests/core/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CorePerfTests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CorePerfTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* core/tests/ConnectivityManagerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ConnectivityManagerTest's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ConnectivityManagerTest
    results in duplicate classes which leads to build time and compile
    time issues.

* core/tests/bandwidthtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BandwidthTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BandwidthTests results
    in duplicate classes which leads to build time and compile time
    issues.

* core/tests/bluetoothtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BluetoothTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BluetoothTests results
    in duplicate classes which leads to build time and compile time
    issues.

* core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in DownloadManagerTestApp
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    DownloadManagerTestApp's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

* core/tests/hosttests/test-apps/ExternalSharedPerms/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsTestApp results in duplicate classes which leads
    to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsBTTestApp results in duplicate classes which
    leads to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsDiffKeyTestApp results in duplicate classes
    which leads to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsFLTestApp results in duplicate classes which
    leads to build time and compile time issues.

* core/tests/notificationtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    NotificationStressTests's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in NotificationStressTests
    results in duplicate classes which leads to build time and compile
    time issues.

* keystore/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in KeystoreTests results
    in duplicate classes which leads to build time and compile time
    issues.

* media/mca/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CameraEffectsTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CameraEffectsTests
    results in duplicate classes which leads to build time and compile
    time issues.

* media/tests/MediaFrameworkTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    mediaframeworktest's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in mediaframeworktest
    results in duplicate classes which leads to build time and compile
    time issues.

* nfc-extras/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in NfcExtrasTests results
    in duplicate classes which leads to build time and compile time
    issues.

* packages/CarrierDefaultApp/tests/unit/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CarrierDefaultAppUnitTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    CarrierDefaultAppUnitTests results in duplicate classes which leads
    to build time and compile time issues.

* packages/ExtServices/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ExtServicesUnitTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ExtServicesUnitTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/MtpDocumentsProvider/tests/Android.mk
    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because MtpDocumentsProviderTests's source
    depends on their classes and because of these changes they are no
    longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    MtpDocumentsProviderTests results in duplicate classes which leads
    to build time and compile time issues.

* packages/SettingsLib/tests/integ/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SettingsLibTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SettingsLibTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SettingsProvider/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SettingsProvider
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SettingsProvider/AndroidManifest.xml
    Add uses-library for android.test.runner because otherwise this
    change would change the set of files available to SettingsProvider
    at runtime.

* packages/Shell/tests/Android.mk
    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because ShellTests's source depends on their
    classes and because of these changes they are no longer present on
    the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ShellTests results in
    duplicate classes which leads to build time and compile time
    issues.

* packages/SystemUI/shared/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SystemUISharedLibTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SystemUI/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SystemUITests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SystemUITests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* packages/WAPPushManager/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    WAPPushManagerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in WAPPushManagerTests
    results in duplicate classes which leads to build time and compile
    time issues.

* sax/tests/saxtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworksSaxTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in FrameworksSaxTests
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/BrowserPowerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BrowserPowerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BrowserPowerTests
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/CanvasCompare/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CanvasCompare's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CanvasCompare results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/CoreTests/android/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CoreTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CoreTests results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/DataIdleTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    DataIdleTest's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in DataIdleTest results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/FrameworkPerf/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworkPerf's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in FrameworkPerf results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/HierarchyViewerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    HierarchyViewerTest's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in HierarchyViewerTest
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/ImfTest/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ImfTestTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ImfTestTests results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/Internal/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in InternalTests results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/MemoryUsage/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    MemoryUsage's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in MemoryUsage results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/NetworkSecurityConfigTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    NetworkSecurityConfigTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    NetworkSecurityConfigTests results in duplicate classes which leads
    to build time and compile time issues.

* tests/SoundTriggerTests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SoundTriggerTests
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SoundTriggerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

* tests/SurfaceComposition/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SurfaceComposition
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.runner.stubs' to LOCAL_JAVA_LIBRARIES because
    SurfaceComposition's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

* tests/TtsTests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in TtsTests results in
    duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    TtsTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* tests/WindowAnimationJank/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in WindowAnimationJank
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/permission/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworkPermissionTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    FrameworkPermissionTests results in duplicate classes which leads
    to build time and compile time issues.

* tests/testables/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in TestablesTests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because TestablesTests's source depends on
    their classes and because of these changes they are no longer
    present on the compilation path.

Bug: 30188076
Test: make checkbuild
Change-Id: Iacfc939c97415314366ed61c5f3b7aa1a40f0ec9
2017-12-08 00:07:17 +00:00
Julia Reynolds
3d5b3c7ead Persist notification blocker info across reboots
Also update the rule for when streaks can be reset.

Bug: 63095540
Test: make ExtServicesUnitTests &&
adb install -r $OUT/data/app/ExtServicesUnitTests/ExtServicesUnitTests.apk &&
adb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ie5eb0d5b3dfef8f6d9089bead0307a4c457ca30c
2017-11-14 15:42:47 -05:00
Julia Reynolds
f8c53678cb Initial notification blocker
Does not currently track stats across reboots.

Test: make ExtServicesUnitTests &&
adb install -r $OUT/data/app/ExtServicesUnitTests/ExtServicesUnitTests.apk &&
adb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner
Bug: 63095540

Change-Id: Ie3a299cdfb229dedf85a07de5cc19f7a8ea423e0
2017-10-09 12:36:47 -04:00
Kang Li
61cf4d145e Moved LRResolverRankerService to ExtServices, and added a permission to
ensure that ResolverRankerServices are from trust sources.

Test: manually shared images in Camera, and in PTP to confirm it works
as expected.

Change-Id: I3549292d424fec949e9115faea7a0c5bdec06e87
2017-04-21 15:44:51 +00:00
Jeff Sharkey
dafb17e7eb We really want f_frsize and f_bavail.
It's confusing, but f_bsize is not the value you're looking for; the
real block size is f_frsize.  Fix all those bugs.

Also, the vast majority of clients are interested in the usable
disk space, not including reserved space.

Test: builds, boots
Bug: 36840579
Change-Id: Ib1470389afd49c14cab62282ec1e978ebb2c4791
2017-04-02 23:33:38 -06:00
Daniel Nishi
cf9d19e030 First pass at adding the cache quota suggestions.
This currently integrates with installd, but not with
any framework API to expose this information to apps.

The first pass, as per the design doc, adds a service
which polls for large changes in the file system free space.
If enough spaces changes, it begins a recalculation of the
cache quotas and pipes the information down to installd.
This calculation is done in the updateable ExtServices.

Further enhancements in later patches include integrating this
to listen to package install and removal events, caching the
last computed quota values into an XML file on disk to load
on boot, and exposing the information to apps.

Bug: 33965858
Test: ExtServices unit test

Change-Id: Ie39f228b73532cb6ce2f98529f7c5df0839202ae
2017-02-17 10:26:16 -08:00
Julia Reynolds
77b2cc920f Ranker --> Assistant.
Rename ranker to assistant and make some of the methods public.
Delete the ext services ranker and restore the listener-type
lifecycle to the assistant.

Test: manual. add a notification assistant and verify it gets
assistant and listener callbacks.

Change-Id: Ia3406c8c14d923426c1b8a6d8b5187efe64c31c3
2016-11-09 09:04:16 -05:00
Julia Reynolds
85769915e7 Some channel model updates
- Apps cannot update their channel settings after creation.
- Importance is required when creating a channel.
- Some method name changes.
- Ranker can't modify fields a user has changed.
- High and Max importance mean the same thing.
- The default channel adopts app wide settings on creation.
- The default channel is limited to importance low once target api is post n mr1
  unless the user changed it.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/notification

Change-Id: I73c449a6abe6d709046de79c5c54339cb2edf0b8
2016-11-01 19:31:34 +00:00
Julia Reynolds
8f488d3f2f Move autogrouping into framework.
Test: runtest systemui, and post and dismiss notifications, checking that they
are grouped (or not) appropriately.

Change-Id: I8f3ec497cebcb14a7853fac98b844a3fd4503141
2016-10-19 22:30:58 +00:00
Julia Reynolds
eae43fbd17 Do not bundle cross user.
Bug: 28665081
Change-Id: I026b8a3a731183f96b45c19b95b4a0d109677a4c
2016-05-11 10:59:53 -04:00
Julia Reynolds
892a253432 Autobundle all notifications; don't leave the most recent one free.
Change-Id: I0c30e34d09852673a475392411d0bb8fdc2f7aa3
Fixes: 28615503
2016-05-06 10:24:39 -04:00
Chris Wren
8a1638f66a copy auto-group decisions to updates
The rocket runs too late to affect auto-grouping for updates before
the UI reacts to the group change, so make sure it stays the same
until the rocket has an opportunity to reconsider.

Bug: 28517296
Change-Id: I16a0509cac06912c8b3139f06474f312207f9f8c
2016-05-02 16:21:24 -04:00
Julia Reynolds
0fa02c7db9 Don't unbundle updated notifications.
Bug: 28520827
Change-Id: I76593df3869a86353a1583e64e98b4aef04a7d1f
2016-05-02 14:32:26 -04:00
Julia Reynolds
e46bb37acf Allow the ranker to autobundle notifications.
Bug: 26709317
Change-Id: I5017a471604e513a7b582cdc2f3472441e108fae
2016-04-08 13:55:03 -04:00
Jeff Sharkey
8a372a0a28 Refactoring FBE APIs based on council feedback.
Mostly consists of removing the word "encryption" from most APIs,
since we can't actually make promises about the data being encrypted.

Bug: 27531029
Change-Id: Iace9d7c4e64716abf86ed11847c40f3947e1d625
2016-03-17 14:49:08 -06:00
Chris Wren
0efdb88ccc add a ranking service to the rocket
Bug: 22960980
Change-Id: Ic0e911a2f048a4b47171b338c3de13125852be43
2016-03-08 17:23:33 -05:00
Svet Ganov
c683da6bb3 Add a couple of shared libraries - services, shared
The services library will contain platform components that we want
partners to not customize or ones we want to update faster than the
platform.

The shared library will contain code that we commit to be available
on the device which apps can load if they so desire.

bug:25450378

Change-Id: Iaebb68129a13af9e03e25ea198764d382ad49404
2016-02-02 02:19:26 +00:00