summaryrefslogtreecommitdiff
path: root/core/java/android/os/VibrationEffect.java
Commit message (Collapse)AuthorAgeFilesLines
* Remove VibrationEffect javadocs to methods not available in public APIs.Lais Andrade2022-09-121-31/+1
| | | | | | | | | Change already landed in aosp/2214741. Need to land this fix in tm-dev for it to show up in the published reference docs. Change-Id: Idf5a339a5fb0ffd510e7fda0e3784916c8505eae Merged-In: Idf5a339a5fb0ffd510e7fda0e3784916c8505eae Bug: 245491186 Test: N/A
* DO NOT MERGE Remove PWLE APIs from TMichael Wright2022-04-071-0/+18
| | | | | | Fixes: 228529016 Test: build Change-Id: Icfd576f3dff0850f464be32c5a3315e723c3d380
* Update vibrator javadoc formatting.Simon Bowden2022-02-151-51/+46
| | | | | | | | | | After reviewing rendered docs, adding missing paragraph markers and some small typos, as well as fixing code snippets to be inside a <pre> block. At the moment, trailing newlines get picked up so it's also necessary to terminate the code and pre blocks on the actual last line of code. Test: built docs and manually reviewed site Change-Id: I327b146eaae20fa3a2e8cf066e211e14cb165c51
* Add code examples to VibrationEffect javadocsLais Andrade2022-01-311-16/+120
| | | | | | | | | Update Composition and WaveformBuilder class javadocs to include code snippets with examples of how to create effects with these classes. Bug: 203785430 Test: N/A, javadoc updates only Change-Id: Ie75cff326ca88a3d153d390f152ff1eed7687371
* Improve javadoc for some vibration functions.Simon Bowden2022-01-271-21/+20
| | | | | | | | | This is only clarifying existing behavior. Focused on clarifying what it means to not support an effect, as well as ambiguity in descriptions of VibrationAttributes. Test: presubmits, comments only Change-Id: I7ab5d488d72a386aa2786fdaeb93fef55aaed71d
* Make VibrationEffect.WaveformBuilder publicLais Andrade2022-01-251-151/+330
| | | | | | | | | | | | | | | | | | Update WaveformBuilder to have a single method that adds transitions to new sets of vibration attributes for a fixed duration. The parameters are represented by a new type VibrationEffect.VibrationParameter, and have two concrete types now: amplitude and frequency. Update VibrationEffect.Composition API to add effects and repeating effects, removing the repeat index parameter from WaveformBuilder. Remove delay parameter from Composition in favor of a new method addOffPeriod to make it less ambiguous when the delay is played in the composition. Bug: 203785430 Test: VibrationEffectTest Change-Id: I40cbfaff2de3231378da7db6a2bc5c9252e6d8f8
* Revert "Revert "Migrate unsafe parcel APIs in framework-minus-apex""Bernardo Rufino2022-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 331be9a6431d6489f8d1e1b80cb510d0ee073c50. Reintroducing ag/16366278 since it seems unrelated to b/214053959 (more details on b/214053959#comment55). Original commit message: Migrate unsafe parcel APIs in framework-minus-apex Migrate the following unsafe parcel APIs in framework-minus-apex: * Parcel.readSerializable() * Parcel.readArrayList() * Parcel.readList() * Parcel.readParcelable() * Parcel.readParcelableList() * Parcel.readSparseArray() This CL was generated by applying lint fixes that infer the expected type from the caller code and provide that as the type parameter (ag/16365240). A few observations: * In some classes we couldn't migrate because the class also belonged to another build module whose min SDK wasn't current (as is the case for framework-minus-apex), hence I suppressed the lint check (since I'll eventually submit the lint check to the tree). * In some cases, I needed to do the cast in https://stackoverflow.com/a/1080525/5765705 to make the compiler happy since there isn't another way of providing a class of type Class<MyClassWithGenerics<T>>. * In the readSerializable() case, the new API also requires the class loader, that was inferred to by InferredClass.class.getClassLoader(). * Note that automatic formatting and import rely on running hooked up to the IDE, which wasn't the case here. Bug: 195622897 Change-Id: I272432e6e082a973f7a50492ec35d79c2b577c93 Test: TH passes
* Merge "Revert "Migrate unsafe parcel APIs in framework-minus-apex""Ashwini Oruganti2022-01-121-1/+1
|\
| * Revert "Migrate unsafe parcel APIs in framework-minus-apex"Bernardo Rufino2022-01-121-1/+1
| | | | | | | | | | | | | | | | This reverts commit 90bb3709dc75f7e44914222114752de5bce133d4. Reason for revert: b/214053959 Change-Id: Ic271bab1d3eaf677a5989dda9deb944ee2ad6850
* | Use absolute frequency in WaveformBuilderLais Andrade2022-01-101-18/+22
|/ | | | | | | | | | | | | Remove the concept of relative frequency and the mapping logic from VibratorInfo and receive absolute frequency values, in hertz, from WaveformBuilder. The clipping logic to make all PWLE amplitudes fit the HAL bandwidth map still remains. Bug: 203785430 Test: com.android.server.vibrator.* Change-Id: Ic01a08d84e66d88acad6db5c704251394afbf1f6
* Migrate unsafe parcel APIs in framework-minus-apexBernardo Rufino2021-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Migrate the following unsafe parcel APIs in framework-minus-apex: * Parcel.readSerializable() * Parcel.readArrayList() * Parcel.readList() * Parcel.readParcelable() * Parcel.readParcelableList() * Parcel.readSparseArray() This CL was generated by applying lint fixes that infer the expected type from the caller code and provide that as the type parameter (ag/16365240). A few observations: * In some classes we couldn't migrate because the class also belonged to another build module whose min SDK wasn't current (as is the case for framework-minus-apex), hence I suppressed the lint check (since I'll eventually submit the lint check to the tree). * In some cases, I needed to do the cast in https://stackoverflow.com/a/1080525/5765705 to make the compiler happy since there isn't another way of providing a class of type Class<MyClassWithGenerics<T>>. * In the readSerializable() case, the new API also requires the class loader, that was inferred to by InferredClass.class.getClassLoader(). * Note that automatic formatting and import rely on running hooked up to the IDE, which wasn't the case here. Bug: 195622897 Test: TH passes Change-Id: I11a27b9bdab7959ee86e90aa1e1cbebd7aaf883c
* Update VibrationEffect haptic feedback heuristicLais Andrade2021-11-301-1/+52
| | | | | | | | | | | | | | | | | | Update VibrationAttributes removing the logic to classify VibrationEffect instances as haptic feedback. Introduce isHapticFeedbackCandidate method to VibrationEffect, CombinedVibration and the effect segments, to be used by the VibratorManagerService to classify unknown vibration effects as having TOUCH_USAGE. Update haptic feedback limit to 1s, and also add limits to composition size for identifying candidate effects. Bug: 185351540 Test: VibrationAttributesTest VibratorManagerServiceTest Change-Id: I6f840f7ac7ab27da99949eb5dc2122451886cb30
* Remove non-zero amplitude validation for waveformsLais Andrade2021-06-021-6/+5
| | | | | | | | | | | | The validation does not exist in Android R and is causing apps to start crashing in S. The validation for the static API createOneShot was maintained, as it already existed in previous releases. Fix: 184890231 Test: VibrationEffectTest Change-Id: I606c943a35ddd68ccacab76f0047b9a276b5cf28
* Expose SPIN and THUD vibration effects to publicLais Andrade2021-04-211-4/+0
| | | | | | Fix: 167947207 Test: N/A Change-Id: I0785ba8efbd8edea5813715e0891bda9341b5cea
* Introduce WaveformBuilder to VibrationEffectLais Andrade2021-03-181-3/+232
| | | | | | | | | | | | | | Create a new parcelable RampSegment and introduce VibrationEffect.startWaveform() method that returns a WaveformBuilder that allows creating step/ramp waveforms that changes amplitude and frequency of the effect. Implementations of VibrationThread and InputManagerService for now just ignore the new segments and keep existing behavior. Bug: 167947076 Test: VibrationEffectTest Change-Id: Ibac895b63196e779457efc297f1f5497a7814ae9
* Introduce VibrationEffectSegmentLais Andrade2021-03-181-633/+158
| | | | | | | | | | | | | | Create a new parcelable VibrationEffectSegment in the new package android.os.vibrator, together with three concrete implementations for the segment types: step, prebaked and primitive. Remove all implementations of VibrationEffect to allow composition of any effects, represented now by the concrete type VibrationEffect that holds a list of segments. Bug: 167947076 Test: VibrationEffectTest Change-Id: I79c99e29f436ed77558af764f55633bb4636e034
* Merge "Clarify delay parameter documentation in VibrationEffect" am: ↵Lais Andrade2021-03-091-1/+2
|\ | | | | | | | | | | | | | | | | | | 2b9f0c7623 am: cdbc51fa52 am: 3afe20a305 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622280 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: If2edda8cecdd7d7d8f16d0505629fc9c71805274
| * Clarify delay parameter documentation in VibrationEffectLais Andrade2021-03-091-1/+2
| | | | | | | | | | | | | | | | Make it clear in the javadoc for addPrimitive method the start point of the delay parameter, which is right after the previous primitive in the composition has finished. Fix: 150715908 Test: N/A Change-Id: Ic88b0d8a31a193b8b1726a9541d9e5955b729866
* | Add vibrator capabilities to service dumpsysLais Andrade2021-03-021-2/+16
| | | | | | | | | | | | | | | | | | | | Add list of supported vibrator capabilities to information reported to dumpsys, and fix Vibration to log original effect before any change is applied by the local service. Bug: 180924179 Test: manual Change-Id: I97201771d3ee211dc2f4b6f9eac50b5b150affc0
* | Constrain scaled amplitude to valid values in [1,255]Lais Andrade2021-02-221-4/+9
| | | | | | | | | | | | | | | | | | | | Scaling down low amplitudes can lead to one-shot effects with amplitude zero, which leads to an invalid VibrationEffect and causes IllegalArgumentException to be thrown on an originally valid effect. Bug: 179674498 Test: VibrationEffectTest Change-Id: Ie653084d37f9bfed20aac25f8805ffdf40661e03
* | Merge "Create single thread to play any Vibration"Lais Andrade2021-01-191-31/+53
|\ \
| * | Create single thread to play any VibrationLais Andrade2021-01-191-31/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This thread takes in a CombinedVibrationEffect and plays all vibrations. The Prebaked effect now also holds a fallback VibrationEffect, which is resolved and scaled together with the original effect and is passed on to the VibrateThread. All class attributes are not final, making this effect immutable as all the others. The Vibration now takes in a CombinedVibrationEffect, in preparation to be used by the VibratorManagerService in multiple vibrators. The new thread is replacing all vibration from VibratorService, which means they are all triggering the HAL asynchronously. Bug: 167946816 Bug: 131311651 Test: VibrationThreadTest, VibratorServiceTest, VibrationEffectTest, VibrationScalerTest Change-Id: Ic27b35e63ca35ad47083f94da9ca7bd75b683d43
* | | Add PRIMITIVE_LOW_TICK VibrationEffectVince Leung2021-01-101-1/+10
|/ / | | | | | | | | Bug: 174561580 Change-Id: I553a06b6dfb9d4a743d6aa1a6b0b728d90dbeee1
* | Create parcelable VibratorInfo to expose HAL profileLais Andrade2020-12-041-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This parcelable will replace the separated methods hasAmplitudeControl, areEffectsSupported and arePrimitiveSupported from VibratorService. VibratorManagerService will return this single parcelable, per vibator id, to represent the HAL profile of that individual vibrator and be used by Vibrator.java to explose some of that to the public API. Bug: 167946816 Test: atest VibratorInfoTest atest VibratorManagerServiceTest Change-Id: I09c191dd15a3cf38122ec6dc87b2d73f46c8cde6
* | Merge "Fix documentation of delay param in VibrationEffect.Composition" am: ↵Lais Andrade2020-12-011-2/+1
|\| | | | | | | | | | | | | | | 040919bef5 am: d95f42a4ee am: 8c54f99eba Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513870 Change-Id: I8f5eb7cbf2aca09f05d8c29f674058a3c510c91f
| * Fix documentation of delay param in VibrationEffect.CompositionLais Andrade2020-11-301-2/+1
| | | | | | | | | | | | Change-Id: I9aca87e8d804d39ad61b651cc7653c8ef57e13e3 Fix: 150715908 Test: N/A
| * Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-11-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
* | Extract vibration settings and scaling code from VibratorServiceLais Andrade2020-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the existing logic around vibration settings and ContentObserver to a separate class, that will be used by VibratiorManagerService once migration is complete. Also extract the vibration scaling logic to a separate controller, which will also be used by the VibratorManagerService after migration. Bug: 167946816 Bug: 131311651 Test: atest FrameworksServiceTests:VibratorServiceTest atest FrameworksServiceTests:VibrationSettingsTest atest FrameworksServiceTests:VibrationScaleTest Change-Id: Idf081e662aa218e93a38cd3262a1357e2e3faf0d
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* | Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-4/+4
| | | | | | | | | | | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-4/+4
| | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* | Merge "Create CombinedVibrationEffect.aidl"TreeHugger Robot2020-10-221-0/+2
|\ \
| * | Create CombinedVibrationEffect.aidlLais Andrade2020-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new parcelable aidl and class using @hide while WIP. Add methods vibrate and cancelVibrate to VibratorManagerService, throwing UnsupportedOperationException while WIP. Bug: 166586119 Test: atest FrameworksServicesTest:VibratorManagerServiceTest atest FrameworksCoreTest:CombinedVibrationEffectTest Change-Id: I78510631c3c5cae9836789f5a0de29c81994a852
* | | Add @Nullable annotation to the parameter of Object.equals() methods.Roman Kalukiewicz2020-10-151-5/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those annotations could be inferred by some tools (like Kotlin), but the https://checkerframework.org/ doesn't check inherited annotations complaining about all equals() invocations that get nullable argument. The change was generated by running find . -name \*.java | xargs sed -i 's/public boolean equals(Object /public boolean equals(@Nullable Object /' in the frameworks/base directory and by automatically adding and formatting required imports if needed. No manual edits. Bug: 170883422 Test: Annotation change only. Should have not impact. Exempt-From-Owner-Approval: Mechanical change not specific to any component. Change-Id: I5eedb571c9d78862115dfdc5dae1cf2a35343580
* | Merge "Add details to VibrationEffect waveform documentation" into rvc-dev ↵TreeHugger Robot2020-06-111-4/+5
|\| | | | | | | | | | | | | | | am: 19dd14d76a am: 76b6eb1e9f am: 131cf3f49c am: 300c251919 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11837599 Change-Id: I46aecd3c9fcd66a9fdd68ec03326233183875ac5
| * Add details to VibrationEffect waveform documentationLais Andrade2020-06-111-4/+5
| | | | | | | | | | | | | | | | | | Explain the time unit of timings argument and copy explanation of amplitude values to the summary segments of the javadocs. Fix: 140846849 Test: N/A Change-Id: Ia6fd6cb5d0e16076a54f24f7c3d2f3d4ca78d5bd
| * Fix broken @see tags in public documentation.Andrew Sapperstein2020-05-011-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously being suppressed by doclava but with this change, all failures are fixed and the suppression logic has been removed. To fix the issues, there were a few possible changes made: - broken reference to a public API (such as incorrect parameters): fixed - unnecessary @link inside an @see tag: fixed - @see referring to an @hide or @SystemApi: reference removed - broken references to inner class constructors - worked around by fully qualifying the constructor Bug: 6963924 Test: make doc-comment-check-docs Exempt-From-Owner-Approval: cherry-picked from master Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85 Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85 (cherry picked from commit e0624c7a40baae30cf77e948db5258b78856d0e5)
* | Change implementation of VibrationEffect scalingLais Andrade2020-05-151-89/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a scale factor and fixed Stevens' coefficient value for gamma correction. Scale factors within [0,1) will scale down the effect intensity/amplitude, and values larger than 1 will scale it up. The scale up function also makes sure it never scales amplitude above MAX_AMPLITUDE, or relative intensity value above 1. New implementation can be visualized here: https://colab.corp.google.com/drive/1rGCBWXyUe7NePaSLnO-qkeFw8h0DkWJA?usp=sharing This cl also moves the #resolve and #scale methods to superclass VibrationEffect (using @hide annotation). This will force every new effect to also define both behaviors (or explicitly ignore them), and thus avoid cases where the VibratorService skips scaling new effects by accident. Fix: 154712843 Test: atest FrameworksCoreTests:VibrationEffectTest Change-Id: Ib46e609663aec60a49a8827c90df144caaf7c926
* | Fix broken @see tags in public documentation.Andrew Sapperstein2020-04-281-6/+0
|/ | | | | | | | | | | | | | | | These were previously being suppressed by doclava but with this change, all failures are fixed and the suppression logic has been removed. To fix the issues, there were a few possible changes made: - broken reference to a public API (such as incorrect parameters): fixed - unnecessary @link inside an @see tag: fixed - @see referring to an @hide or @SystemApi: reference removed - broken references to inner class constructors - worked around by fully qualifying the constructor Bug: 6963924 Test: make doc-comment-check-docs Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
* Apply intensity settings to composed vibration effectsLais Andrade2020-04-201-0/+28
| | | | | | | | | | | | | Use the existing maxAmplitude and gamma adjustment values to apply the relative scaling of default vibration intensity settings and user settings on top of the PrimitiveEffect#scale value. As a consequence, the relative scaled amplitude of a OneShot or Waveform vibration effect should match the scaled PrimitiveEffect#scale value. Fix: 154089649 Test: atest FrameworksCoreTests:VibrationEffectTest Change-Id: I3ca0042a42675289a2ed8110c9dc3798055ebf4a
* Address API Council feedback.Michael Wright2020-03-261-5/+7
| | | | | | | | | | | | | - Make VibrationEffect.Composition final - Hide the VibrationEffect.Composition default constructor - Fix doc and nullability annotation bugs on VibrationEffect.Composition#addPrimiritive - Make Vibrator#areAllEffectsSupported and Vibrator#areAllPrimitivesSupported Fixes: 150958120 Test: build Change-Id: I0d9a782fd4130639ad99179d7770dcde1a2afba5
* Skip unnecessary IPC when getting VibrationEffect.Michael Wright2020-03-191-2/+9
| | | | | | | | | If we know there's no configured ringtone-specific effects, we can skip uncanonicalizing the URI, which normally incurs an IPC. Bug: 151696203 Test: atest android.os.VibrationEffectTest Change-Id: I0e3c8f5cd50761a90875d326cc57dcfd4597dd97
* Remove haptic primitives that aren't ready yet.Michael Wright2020-03-161-5/+10
| | | | | | | | | | | | | | | | We have some concerns about a couple of the primitives we're exposing, so rather than risk committing to an API surface that we may regret and aren't 100% confident in the implementation of, lets hide it and keep them for private usage for now. Also, rename LIGHT_TICK to TICK; we shouldn't expose the internal differences to users since it just makes the whole surface more complicated to explain. Fixes: 151085071 Fixes: 151261619 Test: N/A Change-Id: I2872e8f52202d6192de6aa7e3081778486174f4e
* Add haptic composition API.Michael Wright2020-01-271-0/+346
| | | | | | | | | | | | | | | | | Not all effects will be thought of by system owners. By exposing the underlying primitives we use to design effects we can enable our own future development in an unbundled fashion while at the same time providing the ecosystem more freedom to create novel and meaningful haptic experiences. This CL implements the fundamental parts of the APIs but doesn't yet do a number of things (e.g. intensity scaling, breaking up long delay durations with NOOP primitives, etc.) Bug: 139762802 Test: atest VibratorTest manual testing Change-Id: I15d12f34137a81ca64390b4ef06927341b6ca1ac
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-2/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I534e3fd1305e2f4af076986770033478448a665c
* Add @UnsupportedAppUsage to test apis that are known to be used by apps.Artur Satayev2019-11-131-0/+6
| | | | | | | | | go/testapi-enforcement Bug: 133832325 Test: m Change-Id: Ifc8db120640a1554dcbf1722e61e09c7ddc65dd6 Merged-In: Ifc8db120640a1554dcbf1722e61e09c7ddc65dd6
* docs: Improved tick/click effect descriptionsKevin Hufnagle2019-08-291-3/+3
| | | | | | | Test: make ds-docs -j32 Bug: 139888074 Change-Id: I939aaa4cf81ddab1705611222c12a60823493d38
* Uncanonicalize URIs when searching for audio-coupled haptics.Michael Wright2019-06-041-2/+9
| | | | | | | | | | | It's possible that the Ringtone URIs will be pre-canonicalized, which don't maintain equality when compared to uncanonicalized URIs. In order to handle this case, we just need to uncanonicalize both URIs before comparing. Fixes: 134394754 Test: manual, verified audio-coupled haptics works again on B1C1 Change-Id: I2e216db1013d5bc0db0a1622e0670853663f0db8
* Add fallback for TEXTURE_TICKAlexey Kuzmin2019-04-101-0/+1
| | | | | | | | | | | | | TEXTURE_TICK vibration effect should fallback to TICK effect if not supported by HAL (and, if necessary, fallback further to TICK effect fallback) Bug: 129275029 Test: atest VibrationEffectTest Test: adb cmd vibrator prebaked 21 on a phone which does not support TEXTURE_TICK - you should feel the device vibrates Change-Id: I788b0835312e2b2ab590c26ef2f9961fe542cf77 (cherry picked from commit bebf04aaaf9ba3ceef2695d2c8e5d0bfcc30703b)
* Move TEXT_HANDLE_MOVE and CLOCK_TICK to TEXTURE_TICK.Michael Wright2019-03-221-3/+16
| | | | | | | | | | TEXTURE_TICK is a new constant that is expected to be called repeatedly in order to simulate a texture effect when a user is interacting with the device, like with TEXT_HANDLE_MOVE. Bug: 111461797 Test: Manual Change-Id: Ia21de3ce1755a908b4bd4fcbdda411864e5b9fe9