Transactions are now more flexible. Some sequences of operations that were previously incorrectly disallowed are now allowed. For example, after reading a document that doesn't exist, you can now set it multiple times successfully in a transaction. Fixed an issue where query results were temporarily missing documents that previously had not matched but had been updated to now match the query.
Refer to this GitHub issue for more details. Added support for Android notifications that include an image. Fixed an internal assertion that was triggered when an update with a FieldValue. Improved performance for queries with filters that only return a small subset of the documents in a collection.
Fixed an issue where Smart Reply would log the input text. Improved detecting small objects with FirebaseVisionObjectDetector. Fixed the known issue where for Android API level 18 and earlier, the object detector recycles Bitmap objects passed to it.
You no longer need to pass a copy of the Bitmap. Fixed the known issue where in streaming mode, if the category of an object changes, the detector assigns it a new tracking ID. Adds the ability for an app to specify whether events logged by Google Analytics can be used to personalize ads for the user.
This update of firebase-auth is required to use new versions of firebase-firestore , firebase-functions , firebase-storage , and firebase-database going forward. Refactored code to ensure functionality alignment with other updated Firebase libraries. Added an asynchronous way to set config settings: FirebaseRemoteConfig.
Updated all "cache expiration" references to "minimum fetch interval" and "cache" references to "local storage". Deprecated developer mode. Use FirebaseRemoteConfigSettings. Deprecated the synchronous FirebaseRemoteConfig.
Removed the deprecated FirebaseInstanceIdService class. To use Firebase Performance Monitoring, you must add perf-plugin explicitly rather than adding it via firebase-plugins. Firebase Crash Reporting and the associated crash-plugin are deprecated. Instead, upgrade to Firebase Crashlytics for more powerful, real-time crash analysis and new stability insights.
Improved error messages for edge cases where providers had been misconfigured in the Firebase console. Internal compatibility changes to improve interoperability with different versions of Google Play services. Enabled multi-App support. Added a method that fetches configs and activates them: FirebaseRemoteConfig.
Network connection timeout for fetch requests is now customizable. To set the network timeout, use FirebaseRemoteConfigSettings. The default minimum fetch interval is now customizable. To set the default minimum fetch interval, use FirebaseRemoteConfigSettings. Added a way to determine if the Firebase Remote Config instance has finished initializing. To get a task that will complete when the Firebase Remote Config instance is finished initializing, use FirebaseRemoteConfig.
Added an asynchronous way to activate configs: FirebaseRemoteConfig. Added an asynchronous way to set defaults: FirebaseRemoteConfig.
Deprecated FirebaseRemoteConfig. Added FieldValue. Added functional interface FirebaseFirestore. Prepared the persistence layer to support collection group queries. While this feature is not yet available, all schema changes are included in this release. This affects internal APIs that were previously obfuscated and are not mentioned in our documentation. Improved error messages for certain Number types that are not supported by our serialization layer.
Changed the default timeout for callable functions to 70 seconds Added setTimeout and withTimeout methods to change the timeout for a callable Fixed bug that sometimes prevented Analytics events from being automatically written to Crashlytics logs as "breadcrumbs".
Improved logging output when Crashlytics fails to initialize due to missing build tools. Updated the Android documentation to reflect that Remote Config uses Locale to retrieve location information, similar to iOS's use of countryCode. Added an API to customize the dynamic link domain that is used in out-of-band email action flows.
The following Firebase Android SDKs have been updated to support internal refactoring and bug fixes:. Apps will need to bump their compileSdkVersion to 28 or higher. Added Indexable. Note that this method grants permission for the specified Uri to Google Play Services com. The client app can revoke Slice permissions to these packages at any time through SliceManager. Deprecated GeoShapeBuilder.
Introduces the Sessions feature, which gives developers access to actionable insights about data captured using Performance Monitoring. This release includes minor fixes and improvements to the following SDKs:. New useFunctionsEmulator method allows testing against a local instance of the Cloud Functions Emulator. Enabled custom key-value pairs and the ability to specify the action name and url on the Action.
Your app gradle file now has to explicitly list com. Unless otherwise specified, services' major version increases were made to correct version range issues in their version 15 releases. Removed the deprecated getToken method from the FirebaseUser class. Switch to getIdToken instead, if you haven't already. Removed the deprecated StorageMetadata. The methods subscribeToTopic and unsubscribeFromTopic on FirebaseMessaging now return a Task that can be used to see when the request has completed.
Performance Monitoring automatic traces now include screen traces, which monitor slow and frozen frames. The incrementCounter method of the Trace class is now deprecated. Use the new incrementMetric method instead. Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates. If your app has a dependency on com. You will need to update the version of the latter dependency to This addresses the issue where version 3.
Updates for auto-initialization and interoperability with other Firebase libraries. Added the updateCurrentUser method to the FirebaseAuth class, to allow copying FirebaseUser s from one instance to another.
Instead of calling addSnapshotListener with either of those classes, use the enum: addSnapshotListener MetadataChanges. By default, metadata-only document changes are suppressed in getDocumentChanges , even when listening to a query with MetadataChanges. Added the ability to control whether DocumentReference. By default, both methods still attempt server and fall back to the cache.
If you don't use ProGuard, your app size will increase by roughly 1MB. You can avoid this increase by running ProGuard on your release builds to remove unneeded methods. To learn how, see Shrink Your Code and Resources.
Added a ServerTimestampBehavior enum to control how DocumentSnapshot s return unresolved server timestamps. This update fixes issues introduced in the v For more details, see the Google Play services You can now redirect users after email-based actions, like password resets or email verifications, by providing an app link with custom state to the new ActionCodeSettings class.
You can now specify a language for emails and text messages sent from your apps using useAppLanguage or setLanguageCode.
Firebase Authentication Using Phone Numbers is now available! Added the getIdToken method to the FirebaseUser class. This method gets an Authentication ID token for the user, and replaces the getToken method, which is now deprecated. This method re-authenticates a user and returns the profile data for that user's account.
Added the AdditionalUserInfo class. This method returns ID provider-specific user data contained in an AdditionalUser object. Added the FirebaseAuth. IdTokenListener class. This class creates a listener that is called when the ID token changes, such as when a user signs in or signs out.
These methods register or unregister FirebaseAuth. IdTokenListener objects. Added the FirebaseAuthEmailException class. This class represents an exception that results from attempting to send an email message using Firebase Authentication. Added the OAuthProvider class. This class represents the login authentication provider for a generic OAuth2 provider.
I suppose this won't work anymore with latest gradle plugin: stackoverflow. This is the one and only answer that includes the simplest form, with all modern syntax, including implementation etc. This is copy-paste the solution. Lots of new upvotes incoming because Android Build Gradle Plugin 4. Changhoon Changhoon 3, 32 32 silver badges 61 61 bronze badges. Working fine, this is the way to go if the library is simple. But their is an issue here : You need to import all the library imported in your aar file to make it works.
Import from the aar file are not propagated using this method. Works perfect on AS 1. In case someone needs it, if gradle works ok but you still can't see classes, restart Android Studio This solution works great in AS2. Please update or delete, compile is deprecated and there is also this issue: stackoverflow. With Android Studio 3. This is the best answer. The dependency is explicit and very simple. Agreed on this being the best answer. Instantly worked, was perfect for adding.
This throws an error starting with gradle plugin 4: stackoverflow. David Thanks for the report, I will try to test it asap. David Sorry, forgot to answer this. Works fine for me. I've just succeeded! Copy the mylib Here comes the most important point: Gradle needs to access the network for dependencies unless offline mode is enabled. Allen Luce 6, 2 2 gold badges 35 35 silver badges 49 49 bronze badges.
Orhun D. The second way Create a folder in libs directory, such as aars. Put your aar lib into the aars folder. When followed first way, classes inside aar file are not detected in main project, do we need to add any extra config?
Please update or delete, firs the answers are already posted and second "compile" is deprecated. Currently referencing a local. Artiom Chilaru Artiom Chilaru I didn't manage to make it work when the artifact is a snapshot, any idea why? Did you get this working with Eclipse, or Android studio only?
With eclipse, "gradle eclipse" adds the aar file to the classpath, but eclipse does not recognize classes within it. Check this question stackoverflow. Add below line in app level build. That's it. Tarun A Tarun A 3 3 silver badges 7 7 bronze badges. You can add multiple aar dependencies with just few lines of code. Added blocks support for the android Accelerometer.
Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AnalogInput.
Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad.
Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor.
Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity.
Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added blocks to support Acceleration. Added blocks to support LinearOpMode.
Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. When user downloads Blocks-generated op mode, only the. When user uploads Blocks-generated op mode. Added DbgLog support. Fixed bug to properly render blocks even if missing devices from configuration file.
Added support for additional characters not just alphanumeric for the block file names for download and upload. Changes to Samples to prevent tutorial issues. Remove Servo Glitches when robot stopped. Added log info to help diagnose why the Robot Controller app was terminated for example, by watch dog function. Added ability to transfer log from the controller.
Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry. Update to Vuforia 6. Fix for autonomous 30 second timer bug where timer was in effect, even though it appeared to have timed out.
Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Modified computer vision code to require an individual Vuforia license per legal requirement from PTC.
Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller.
Updated sample gyro program. Blockly enhancements support for android. Provides ability to disable audio cues. Standardized units in analog input. Cleaned up code for existing analog sensor classes. This is important - we no longer set the motor modes through the motor controller. Some changes have been made new methods added on how a user can access items from the hardware map.
Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Users can place the Robot Controller into this mode, and then use a device such as a laptop that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller.
Android Studio project supports Android Studio 2. Short, int, java. Integer, long, or java. Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java. Float, double, java. Double will accept any block that returns a number. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.
The minSdkVersion is now On Control Hubs running OS 1. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. Fixes bug in UVC driver where often half the frames from the camera would be dropped e.
Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available.
This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode. OFF default : All hardware calls operate as usual. Bulk data can read through LynxModule getBulkData and processed manually. The cache can also be cleared manually with LynxModule clearBulkCache , although this is not recommended.
AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. The new motor types will still be available but their Default control behavior will revert back to Rev 5.
Version 5. This should provide more responsive, yet stable, speed control. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently.
The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded drag or friction , the more noticable the PIDF improvement will be.
Includes sample Skystone Vuforia Navigation op modes Java. Includes sample Skystone Vuforia Navigation op modes Blocks. Adds TensorFlow inference model. Includes sample Skystone TensorFlow op modes Java. Includes sample Skystone TensorFlow op modes Blocks. Removes older season-specific sample op modes. Includes bit support to comply with Google Play requirements. Shows generated java code for blocks, even when hardware items are missing from the active configuration.
To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution.
Adds many Star Wars sounds to RobotController resources. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired.
OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab.
Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station.
Compliance with Google's permissions infrastructure Required after build tooling update. Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Miscellaneous bug fixes and improvements. Version 4. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover.
Bug in versions 4. If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added google repo to build. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.
Provide examples for playing audio files in an Op Mode. Change the "Save completed successfully. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for game. Example Java and Block op modes are included to show how to determine the relative position of the gold block left, center, right.
Improvements to Telemetry. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. User can upload calibration files from Program and Manage web interface. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. Support for improved motor control. Deprecated older PID-related methods and variables. REV's 1. Wireless Added 5GHz support for wireless channel changing for those devices that support it.
Tested with Moto G5 and E4 phones. Also tested with other currently non-approved phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process when performed through Robot Controller app. User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware.
The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS connection. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt.
Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF proportional, integral, derivative and feed forward motor control.
Added formatting options under Telemetry and Miscellaneous categories so user can set how many decimal places to display a numerical value. Support to play audio files which are uploaded through Blocks web interface on Driver Station in addition to the Robot Controller.
Fixed bug with Download Image of Blocks feature. Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. Modest Improvements in Logging Decrease frequency of battery checker voltage statements.
Removed non-FTC related log statements wherever possible. Introduced a "Match Logging" feature. If enabled, user provides a "Match Number" through the Driver Station user interface top of the screen.
0コメント