To address IME service context's Resources / DisplayMetrics update
when switching IME window to another display after onConfigurationChange.
We use Context#createDisplayContext to create display specific context when
display changed, to ensure soft keyboard can re-layout with correct resources.
Bug: 126930163
Test: manual with SoftKeyboard as below steps:
1) Settings > Developer options > enable "Simulated Display" & "Force desktop mode".
2) Reboot device
3) Launch app (i.e. Contacts) with bluetooth or usb mouse in Simulated display.
4) Tap EditText on app to see see if IME window layout correctly on simulated display.
5) Launch app (i.e Files) on primary display.
6) Tap EditText on app to see if IME window layout correctly on primary display.
Change-Id: Ic592a1d2fb2da149220c8b503b522b3e864bcc77
Merged-In: Ic592a1d2fb2da149220c8b503b522b3e864bcc77
Introduce per-display active client. Also, deactivate previous client
when window loses focus so that connection can be restarted on next
focus gain.
Test: Manually using the steps in bug.
Bug: 131619304
Change-Id: Iefad3f018ef0cc1b3729af4a140afa1b52139ce0
Merged-In: Iefad3f018ef0cc1b3729af4a140afa1b52139ce0
As discussed with Romain Guy in the email thread, the Apache 2.0
license applies to the affected .jpg files now and retroactively from
the time of import.
Each of the images was altered using the exiftool:
exiftool -URL=http://www.apache.org/licenses/LICENSE-2.0 \
-WebStatement=http://www.apache.org/licenses/LICENSE-2.0 \
-UsageTerms='Apache License Version 2.0'
Change-Id: I9843a8f9b285799cc28e824167cbe0f14e4e651e
As discussed with Romain Guy in the email thread, the Apache 2.0
license applies to the affected .jpg files now and retroactively from
the time of import.
Each of the images was altered using the exiftool:
exiftool -WebStatement=http://www.apache.org/licenses/LICENSE-2.0
Change-Id: I557d0129617164209a3eec7ec2d228f266643ca0
- Add a symbol shift keylayout.
- Apply a shifted state (upper case) on the next key input.
Bug: 132636760
Test: test manually.
Change-Id: I7447b9df47a953dad7216977e0b75ab801d863e4
- Add a symbol layout.
- Let it change the layout between qwerty and symbol on KEYCODE_MODE_CHANGE.
- Adjust key-sizes of the last row in the qwerty keyboard to make it 100%
Bug: 132636760
Test: test manually
Change-Id: I33bd70dc47498ad3f6d255641c9edf48113c053d
With Ib8f4045b9e8e7bf65c13437133f114d91d0cb050 navbar always has
contrast thereby creating a solid navbar. However, for IMEs that wish to
draw a gradient, will need to have this disabled.
This change disables contrast for extended navbar gradient.
Fix: 130809016
Test: Manually verified:
1. m -j ThemedNavBarKeyboard
2. Install and enable
3. Click "Extended dark nav bar" and verify gradient is visible.
Change-Id: I511bdcde0ef57c1484faace484db262b49fdfe16
Some key events to build a wallpaper which can support
multiple display.
- The rendering or event handler of each engine must be
independent.
- Set supportsMultipleDisplays attribute to true.
- Use Engine#getDisplayContext to load resource if
needed.
Bug: 129696884
Test: launch wallpaper and check on multi display.
Change-Id: I3c60caba921e0af3d5f681ed318a543328e3375a
This is a followup for comment in I77bf8c844838f32888004611975cfa316255961b
lastClientId doesn't need to be static as MultiClientInputMethod is single instance.
Bug: 128751901
Test: Manually verified using steps in bug.
Change-Id: I049a5e9966408b1d304e23713fae2c3597d89a5c
MSIME sample can now set connection active/inactive.
Bug: 128751901
Test: Manually verified using steps in bug.
Change-Id: I77bf8c844838f32888004611975cfa316255961b
MDLauncher crash after change material source.
Change theme parent to fix it.
Bug: 130151609
Test: Manual
Change-Id: Iccc68c71953e042a4b5462ab7f900e99e94cf3e7
For multi-client IME, launcher need to call hideSoftInputFromWindow() by
using the InputMethodManager instance that mapped the presented display
while its home button get pressed.
Bug: 120114697
Test: Manual verified that multi-client IME can be closed correctly.
Change-Id: I2edaa12d2e9c68d0e6dae5ca45f23abd9ab47acd
androidx.design_design was a target created temporarily while
the com.google.android.material_material was being added.
This migrated to the final material design class packages.
Test: make -j IntentPlayground MultiDisplay
Change-Id: I0e9dabb222e19530c3a558cf4fce4d54e81f8e47
* changes:
Dead code removal
IntentPlayground start activities for result
Order the radio buttons in the launch fragment
Replace ActivityInstanceInfo api with in app lifecycle event tracking
Rebind task navigation buttons
Move the launch activity button to the toolbar
Intent builderview currently had a hierarchy consiting of:
RadioGroup -> LinearLayout -> RadioButton. However if the RadioButton is
not directly inside the RadioGroup, the RadioGroup has no effect on the
button.
Instead keep a list of all the RadioButtons we have and deselect all
others when a new button gets clicked.
Test: Manual
Change-Id: I65b9e1165ae3abc23b10f7eb8770a60f144aac82
Code to access the ActivityInstanceInfo api through reflection is no
longer needed, because we have the lifecycle tracking.
There were some resources for the snackbar that used to be shown during
the launching of the preset activities however that has been removed.
Finally there was a bunch of code in TestBase, that was trying to
predict the outcome of intent flags that never did anything.
Test: Build module
Change-Id: I73e0f172b605cff2433c8c386ef9b1672130f349
The radio buttons were added to thew view depending on the iteration
order of a hashmap. This the iteration order is not fixed causing the
radio buttons to be in different places all the time.
Test: Manual
Change-Id: Id0ed0fcc97d7f79474f266d5ea3a8a1df1ed15bb
Since adding a public api for the playground app was problematic,
we now keep track of onResume and onDestroy calls globally inside the
app. This fixes a few bugs in cases where tasks would be hidden from the
ActivityManger#.getAppTasks() method and allows us to listen for changes
allowing us to do without a periodic refresh of the UI.
Test: Manual
Change-Id: Idb834cbdc7aad6442dd962c95b5321e1d75695fe
* Remove code samples that uses Bluetooth Health Device Profile
* Health Device Profile (HDP) and MCAP protocol has been largely
replaced by BLE. New applications should use Bluetooth Low Energy
instead of legacy Bluetooth Health Device Profile
Bug: 111562841
Test: make, unit test, use Bluetooth
Change-Id: I8a7228ab54a669febdbd32cb85a0f744113087e9