This CL deprecates SuggestionSpan#ACTION_SUGGESTION_PICKED and related
constants [1].
There are multiple security concerns, open questions about
compatibility, and maintainance challanges in this protocol.
IME developers can implement their own suggestion picker UI on top of
CursorAnchorInfo API to achieve safer, should give more flexible UI
options, better security, and better compatibility.
[1]: Ia539de0acf66053e0349daec459d75e36805f6bf
f9f0100862
Fix: 123160396
Test: make -j checkbuild
Change-Id: I6d39e838ae47488055162cd44b5f553f68869b17
As Java reference writes are atomic, the previous code should not have
issues, but since mConnector is marked @GuardedBy it could trigger
static analysis.
Test: m
Change-Id: I5a6174a4f32c349e593d0a16d58293d608a487c7
SQLiteQueryBuilder.appendWhere and appendWhereEscapeString
has @NonNull in master and aosp-master however not in staging.
This breaks the build in staging now the tool that generates
current.txt includes annotations in the signatures.
Test: lunch aosp_taimen-userdebug && make -j
Change-Id: Iea1728a13f2ed651533328b09517dfb6ad381130
NetworkMonitor lives in the NetworkStack which must only use system
APIs. This includes constants used by NetworkMonitor and captive portal
login.
Bug: 112869080
Test: m
(Cherry-pick of aosp I4879568d3fbf9435767c8d4d0ab5198d421a2f4f)
Change-Id: I8b5f0bb61c3ef0d2f33af7dd67b72ac6c5a1d1b5
For experiment flag testing, adding netd flag in DeviceConfig.
Test: add sepolicy, m -j, check GetServerConfigurableFlag function in netd
Bug:122050512
Change-Id: Ie24cdd145d955b1d6d6bae8e4b5c20740eb8ed95
The API will be used to interact with IpClient once it is moved to the
NetworkStack process.
This change keeps compatibility with the previous API so that clients
can be migrated independently.
Test: atest FrameworksNetTests NetworkStackTests
Bug: b/112869080
Change-Id: I57d8164afae849230bbc0e25f17859c0b22d0f29
Since its bettining [1] notifyUserAction() has been implemented as an
async IPC method. This wasn't changed when I recently moved it from
IInputMethodManager to IInputMethodPrivilegedOperations [2].
However, mixing sync and async methods into the same Binder object is
known to be an anti-pattern. Although sending some signals in an
asynchronous manner would make sense, it should be done by converting
all the methods to async (with some result callbacks for operations
that need to receive responce) like we do so in IInputContext.aidl.
As for IInputMethodPrivilegedOperations, I think converting
notifyUserAction() from async to sync is acceptable because there are
already similar sync methods such as:
* setImeWindowStatus
* reportStartInput
* reportFullscreenMode
* updateStatusIcon
[1]: I11ed9a767588f8080753cd9bce011dac7db579ad
d7443c83ce
[2]: Icc1f9c7f530f0144ecfd460e86114e109ae0044e
c07fd4c284
Bug: 114159783
Test: Manually verified as follows
1. Build and flush aosp_taimen-userdebug into Taimen
2. make -j SoftKeyboard
3. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
4. adb shell ime enable com.example.android.softkeyboard/.SoftKeyboard
5. Open AOSP Keyboard settings
6. Enable "English (US)", "French", and "German"
7. Open SoftKeyboard settings
8. Enable "English (United States)", "English (GB)"
9. Open the Dialer app and tap the top edit field.
10. Make sure that the IME layout rotation order when tapping the
globe key will be updated only when you tap the keyboard to enter
some character.
11. Also confirm it with "adb shell dumpsys input_method" by checking
"mSwitchingController:" section there.
Change-Id: I9d41f19e30f205acd4d257a105e285bd32288130
is visible to users.
For example, if the notification is expanded in the background,
onNotificationExpansionChanged will be called only when the expanded
notification is visible to users.
Reason: we should only care about expansion change that is visible
to users, and at the moment that it is shown to user.
This also allows us to determine "has been visually expanded"
easily. With this change, our NotificationAssistantService can know
whether a notification has been visually expanded and calculate the CTR
of smart actions accordingly.
This should not break existing stuff in NMS.onNotificationExpansionChanged
because codes there checked isUserAction == True anyway,
which means the change must be also visible to users.
BUG: 120803809
Test: atest ExtServicesUnitTest
Test: atest ExpansionStateLoggerTest
Test: Manual test, try to expand and collapse notification.
Change-Id: Ibc6f939b2560b845de6a8a35b4557423b8a074f7
There's been a long-standing bug where secondary external storage
volumes were being scanned into a single "external" database. We've
had the logic in MediaProvider for a long time to support individual
databases on a per-UUID basis, but that regressed at some point.
This change revives that logic, which has the benefit of greatly
speeding up media scanning of secondary storage devices, since we can
preserve those databases instead of churning the primary "external"
database whenever they're ejected and reinserted.
Future work will clean up stale databases in the recently added idle
maintenance service.
Bug: 117932814, 122060093
Test: atest MediaProviderTests
Test: atest cts/tests/tests/media/src/android/media/cts/MediaScanner*
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Ib48577a2146758acd882db0b1767e88f3a70247f