firebase-database/src/main/java/com/google/firebase/database/connection/PersistentConnectionImpl.java (6 lines): - line 389: // TODO: Fix this somehow? - line 506: // TODO: this is a hack. Make the json parser give us a Long - line 516: // TODO: log the error? probably shouldn't throw here... - line 579: // TODO: fix this by understanding query params? - line 1035: // TODO: implement on iOS too - line 1424: // TODO: Also send stats for connection version firebase-firestore/src/main/java/com/google/firebase/firestore/core/UserData.java (4 lines): - line 201: // TODO: path should never be null, but we don't support array paths right now. - line 214: *

TODO: We don't support array paths right now, so path can be null to indicate the - line 276: // TODO: We don't support array paths right now; so make path null. - line 300: // TODO: Remove null check once we have proper paths for fields within arrays. firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CommonUtils.java (4 lines): - line 80: // TODO: Maybe move this method into a more appropriate class. - line 263: // :TODO: Need to specify character encoding?? - line 585: // TODO: This functionality should be refactored into an InstanceIdProvider class or similar. - line 639: // :TODO: replace calls to this method with Objects.equals(...) when minSdkVersion is 19+ firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalStore.java (4 lines): - line 237: // TODO: Call queryEngine.handleDocumentChange() appropriately. - line 331: // TODO: Call queryEngine.handleDocumentChange() appropriately. - line 393: // TODO: Call queryEngine.handleDocumentChange() appropriately. - line 630: // TODO: freshen last accessed date? firebase-database/src/main/java/com/google/firebase/database/core/persistence/DefaultPersistenceManager.java (3 lines): - line 115: // TODO: This could probably be optimized. - line 220: // TODO: In the future we may want to try to prune the no-longer-tracked keys. - line 232: // TODO: In the future we may want to try to prune the no-longer-tracked keys. firebase-common/src/main/java/com/google/firebase/FirebaseOptions.java (3 lines): - line 32: // TODO: deprecate and remove it once we can fetch these from Remote Config. - line 98: // TODO: unhide once an API (AppInvite) starts reading it. - line 197: // TODO: unhide once an API (AppInvite) starts reading it. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/FirebaseInAppMessagingDisplay.java (3 lines): - line 311: // TODO: need an onclick listener per action - line 459: // TODO: Factor this into the InAppMessage API. - line 477: // TODO: Factor this into the InAppMessage API firebase-database/src/testUtil/java/com/google/firebase/database/core/RandomOperationGenerator.java (3 lines): - line 165: // TODO: maybe ignore if write equals server data - line 225: // TODO: this is broken for multiple listens - line 262: // TODO: somehow filter out incomplete children firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CrashlyticsCore.java (3 lines): - line 123: // TODO: This flag is no longer supported and should be removed, as part of a larger refactor - line 226: // TODO: This isn't actually an error condition, so figure out the right way to - line 236: // TODO: Move this call out of this method, so that the return value merely indicates firebase-database/src/main/java/com/google/firebase/database/core/view/ViewProcessor.java (3 lines): - line 200: // TODO: figure out how this plays with "sliding ack windows" - line 426: // TODO: I consider an item "in view" if cacheHasChild is true, which checks both the server - line 479: // TODO: I consider an item "in view" if cacheHasChild is true, which checks both the server appcheck/firebase-appcheck-safetynet/src/main/java/com/google/firebase/appcheck/safetynet/internal/SafetyNetAppCheckProvider.java (2 lines): - line 163: // TODO: more specific error mapping to help clients debug more - line 198: // TODO: Surface more error details. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/SwipeDismissTouchListener.java (2 lines): - line 137: // TODO: ensure this is a finger, and set a flag - line 233: // TODO: use an ease-out interpolator or such firebase-database/src/main/java/com/google/firebase/database/core/SyncPoint.java (2 lines): - line 120: // TODO: make writesCache take flag for complete server node - line 246: // TODO: iOS doesn't have this loadsAllData() case and I'm not sure it makes sense... but firebase-common/src/main/java/com/google/firebase/FirebaseApp.java (2 lines): - line 523: // TODO: make sure that all APIs that are interested in these events are - line 552: // TODO: also delete, once functionality is implemented. firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/persistence/CrashlyticsReportPersistence.java (2 lines): - line 192: // TODO: log deleted or failed - line 243: // TODO: log deleted or failed firebase-functions/src/main/java/com/google/firebase/functions/Serializer.java (2 lines): - line 136: // TODO: Maybe this should throw a FirebaseFunctionsException instead? - line 161: // TODO: Once min API version is >26, should switch to Long.parseUnsignedLong. firebase-crashlytics-ndk/src/main/jni/libcrashlytics-common/include/system/log.h (2 lines): - line 19: // TODO: Look into expanding this logging to call back into the NDK Kit so it can call - line 20: // TODO: Fabric.getLogger() - discuss the right approach for this with the team. firebase-firestore/src/main/java/com/google/firebase/firestore/DocumentReference.java (2 lines): - line 68: // TODO: We should checkNotNull(firestore), but tests are currently cheating - line 322: // TODO: Reconsider how to raise missing documents when offline. firebase-firestore/src/main/java/com/google/firebase/firestore/core/View.java (2 lines): - line 361: // TODO: Do this incrementally so that it's not quadratic when updating many - line 401: // TODO: Ideally, we would only consider changes that might actually affect this firebase-firestore/src/main/java/com/google/firebase/firestore/UserDataReader.java (2 lines): - line 269: // TODO: Include the path containing the array in the error message. - line 422: // TODO: Rework once pre-converter is ported to Android. firebase-database/src/main/java/com/google/firebase/database/core/TokenProvider.java (2 lines): - line 32: *

TODO: Figure out sane way to plumb errors through. - line 46: // TODO: Remove this once AndroidAuthTokenProvider is updated to call firebase-database/src/main/java/com/google/firebase/database/core/Repo.java (2 lines): - line 591: // TODO: DatabaseReference.CompleteionListener isn't really appropriate (the DatabaseReference - line 1293: // TODO: In the future, perhaps this should just be KeyIndex? firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/NativeSessionFileProvider.java (2 lines): - line 22: // TODO: Consider alternative approaches to making all these nullable. - line 23: // TODO: Implement equality checks firebase-database/src/main/java/com/google/firebase/database/android/AndroidAuthTokenProvider.java (2 lines): - line 53: // TODO: Figure out how to plumb errors through in a sane way. - line 77: // TODO Implement removeIdTokenListener. firebase-firestore/src/main/java/com/google/firebase/firestore/util/CustomClassMapper.java (2 lines): - line 388: // TODO: runtime validation of keys? - line 672: // TODO: Should we support overloads? firebase-firestore/src/main/java/com/google/firebase/firestore/remote/RemoteSerializer.java (2 lines): - line 891: // TODO: implement existence filter parsing (see b/33076578) - line 918: // TODO: Use details? firebase-database/src/main/java/com/google/firebase/database/core/utilities/encoding/CustomClassMapper.java (2 lines): - line 341: // TODO: runtime validation of keys? - line 623: // TODO: replace Android logging with "our" logging firebase-database/src/main/java/com/google/firebase/database/core/DatabaseConfig.java (2 lines): - line 23: * TODO: Merge this class with Context and clean this up. Some methods may need to be re-added to - line 28: // TODO: Remove this from the public API since we currently can't pass logging firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctionsException.java (2 lines): - line 24: // TODO: This is a copy of FirebaseFirestoreException. - line 198: // TODO: Add better default descriptions for error enums. firebase-firestore/src/main/java/com/google/firebase/firestore/remote/RemoteStore.java (2 lines): - line 55: /** The maximum number of pending writes to allow. TODO: Negotiate this value with the backend. */ - line 682: // TODO: handle UNAUTHENTICATED status, see go/firestore-client-errors firebase-firestore/src/main/java/com/google/firebase/firestore/auth/FirebaseAuthCredentialsProvider.java (1 line): - line 76: @SuppressLint("ProviderAssignment") // TODO: Remove this @SuppressLint once b/181014061 is fixed. firebase-database/src/main/java/com/google/firebase/database/snapshot/LongNode.java (1 line): - line 48: // TODO: unify number nodes firebase-firestore/src/main/java/com/google/firebase/firestore/local/MemoryMutationQueue.java (1 line): - line 270: // TODO: we'll need a different scanner when we implement ancestor queries. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/ResizableImageView.java (1 line): - line 36: // TODO (ashwinraghav) tests pending firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/settings/SettingsV3JsonTransform.java (1 line): - line 127: // TODO: Build support back for "collect logged exceptions" firebase-messaging/src/main/java/com/google/firebase/messaging/TopicsSubscriber.java (1 line): - line 272: // TODO: (b/148494404) refactor so we only block once on this code path firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/DisplayCallbacksImpl.java (1 line): - line 201: * TODO: Refactor this to be a function wrapper. transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/LogRequest.java (1 line): - line 78: // TODO: enforce this at builder level. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/layout/ModalLayoutPortrait.java (1 line): - line 156: // TODO: Mark flexible items with an attribute and then don't care about IDs at all in this class firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/settings/SettingsController.java (1 line): - line 163: // TODO: Refactor this so that it doesn't do the cache lookup twice when settings are firebase-firestore/src/main/java/com/google/firebase/firestore/local/MutationQueue.java (1 line): - line 80: // TODO: PERF: Current consumer only needs mutated keys; if we can provide that appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/DefaultFirebaseAppCheck.java (1 line): - line 162: // TODO: Cache the in-flight task. firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/SessionReportingCoordinator.java (1 line): - line 236: // TODO: Put this back once support for reports endpoint is removed. firebase-database/src/main/java/com/google/firebase/database/snapshot/DoubleNode.java (1 line): - line 56: // TODO: unify number nodes firebase-database/src/main/java/com/google/firebase/database/GenericTypeIndicator.java (1 line): - line 59: // TODO: This is a legacy class that inherited from TypeIndicator from Jackson to be firebase-firestore/src/main/java/com/google/firebase/firestore/model/FieldPath.java (1 line): - line 50: // TODO: We should make this more strict. firebase-firestore/src/testUtil/java/com/google/firebase/firestore/testutil/TestUtil.java (1 line): - line 725: // TODO: We could probably do some de-duplication between assertFails / expectError. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/FiamWindowManager.java (1 line): - line 75: // TODO: Should use WindowInsetCompat to make sure we don't overlap with the status bar appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/NetworkClient.java (1 line): - line 171: // TODO: Create a mapping from HTTP error codes to public App Check error codes. firebase-firestore/src/main/java/com/google/firebase/firestore/local/MemoryPersistence.java (1 line): - line 76: // TODO: This assertion seems problematic, since we may attempt shutdown in the finally firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/model/CrashlyticsReport.java (1 line): - line 555: public abstract int getState(); // TODO Use DeviceState enum here for Bitmasking transport/transport-runtime/src/main/java/com/google/android/datatransport/runtime/scheduling/persistence/SQLiteEventStore.java (1 line): - line 155: // TODO: insert all with one sql query. firebase-crashlytics-ndk/src/main/java/com/google/firebase/crashlytics/ndk/FirebaseCrashlyticsNdk.java (1 line): - line 95: // TODO: If this is called more than once with the same ID, it should return firebase-firestore/src/main/java/com/google/firebase/firestore/remote/WriteStream.java (1 line): - line 137: // TODO: Support stream resumption. We intentionally do not set the stream token on the firebase-database/src/main/java/com/google/firebase/database/util/JsonMapper.java (1 line): - line 31: * Helper class to convert from/to JSON strings. TODO: This class should ideally not live in firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CrashlyticsController.java (1 line): - line 550: // :TODO HW2021 this implementation can be cleaned up. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/bindingwrappers/BannerBindingWrapper.java (1 line): - line 116: // TODO: Document why the width is the min of the max width and height firebase-database/src/main/java/com/google/firebase/database/core/WriteTree.java (1 line): - line 121: // TODO: maybe use hashmap firebase-storage/src/main/java/com/google/firebase/storage/StorageMetadata.java (1 line): - line 104: // TODO: Change the default value to "identity" with the next major API version. firebase-installations/src/main/java/com/google/firebase/installations/Utils.java (1 line): - line 102: // TODO: separate random delay generation into a separate class that can be injected for easy firebase-functions/src/main/java/com/google/firebase/functions/FirebaseFunctions.java (1 line): - line 357: // TODO: Allow "result" instead of "data" for now, for backwards compatibility. firebase-database/src/main/java/com/google/firebase/database/connection/WebsocketConnection.java (1 line): - line 279: // TODO: The server is only supposed to send up to 9999 frames (i.e. length <= 4), but that firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/DevelopmentPlatformProvider.java (1 line): - line 106: // TODO: Get the version when available - https://github.com/flutter/flutter/issues/92681 firebase-database/src/main/java/com/google/firebase/database/android/AndroidPlatform.java (1 line): - line 117: // TODO: Ideally we would remove this listener at some point, but right now firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/model/StaticSessionData.java (1 line): - line 33: // TODO consider simplifying by combining with firebase-database/src/main/java/com/google/firebase/database/tubesock/WebSocketReceiver.java (1 line): - line 66: // TODO: add Limit for WebSocket Payload Length. firebase-database/src/main/java/com/google/firebase/database/connection/ConnectionUtils.java (1 line): - line 60: // TODO: Merge these with Utils from firebase-database firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/bindingwrappers/CardBindingWrapper.java (1 line): - line 207: // TODO: Kill this. firebase-database/src/main/java/com/google/firebase/database/connection/ConnectionTokenProvider.java (1 line): - line 29: *

TODO: Figure out sane way to plumb errors through. firebase-firestore/src/main/java/com/google/firebase/firestore/model/DocumentSet.java (1 line): - line 167: * Returns a copy of the documents in this set as array. This is O(n) in the size of the set TODO: appcheck/firebase-appcheck-debug/src/main/java/com/google/firebase/appcheck/debug/internal/DebugAppCheckProvider.java (1 line): - line 121: // TODO: Surface more error details. firebase-firestore/src/main/java/com/google/firebase/firestore/core/FieldFilter.java (1 line): - line 158: // TODO: Technically, this won't be unique if two values have the same description, firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/common/CrashlyticsReportDataCapture.java (1 line): - line 116: // TODO: Consider setting it to 0 to mark it as unknown. firebase-database/src/main/java/com/google/firebase/database/core/view/EventRaiser.java (1 line): - line 45: // TODO: Use an immutable data structure for events so we don't have to clone to be safe. firebase-database/src/main/java/com/google/firebase/database/core/Context.java (1 line): - line 222: // TODO: We really need to remove this option from the public DatabaseConfig firebase-firestore/src/main/java/com/google/firebase/firestore/remote/WatchChange.java (1 line): - line 42: // TODO: figure out if we can actually use arrays here for efficiency firebase-database/src/main/java/com/google/firebase/database/snapshot/NodeUtilities.java (1 line): - line 58: // TODO: refine this and use same code to iterate over array and map by building firebase-database/src/main/java/com/google/firebase/database/core/utilities/ImmutableTree.java (1 line): - line 83: // TODO: this seems inefficient firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java (1 line): - line 119: // TODO: make this public firebase-firestore/src/main/java/com/google/firebase/firestore/auth/FirebaseAppCheckTokenProvider.java (1 line): - line 59: @SuppressLint("ProviderAssignment") // TODO: Remove this @SuppressLint once b/181014061 is fixed. firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteTargetCache.java (1 line): - line 220: // TODO: break out early if found. firebase-firestore/src/main/java/com/google/firebase/firestore/core/SyncEngine.java (1 line): - line 405: // TODO: Retry on transient errors? firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/persistence/FileStore.java (1 line): - line 80: // :TODO: consider removing this method in mid 2023, to give all clients time to upgrade firebase-perf/src/main/java/com/google/firebase/perf/application/AppStateMonitor.java (1 line): - line 153: * TODO: Only add activities that are hardware acceleration enabled so that calling {@link firebase-firestore/src/main/java/com/google/firebase/firestore/UserDataWriter.java (1 line): - line 137: // TODO: Somehow support foreign references. transport/transport-runtime/src/main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java (1 line): - line 26: // TODO: when we do schema upgrades in the future we need to make sure both downgrades and firebase-common/src/main/java/com/google/firebase/FirebaseAppLifecycleListener.java (1 line): - line 24: // TODO: consider making it public in a future release. firebase-database/src/main/java/com/google/firebase/database/core/view/filter/LimitedFilter.java (1 line): - line 77: // TODO: rename all cache stuff etc to general snap terminology firebase-database/src/main/java/com/google/firebase/database/tubesock/WebSocket.java (1 line): - line 321: // TODO: the default hostname verifier on the JVM always returns false. firebase-database/src/main/java/com/google/firebase/database/android/AndroidAppCheckTokenProvider.java (1 line): - line 69: // TODO Implement removeIdTokenListener. firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLitePersistence.java (1 line): - line 140: // TODO: Use a better exception type firebase-database/src/main/java/com/google/firebase/database/FirebaseDatabaseComponent.java (1 line): - line 34: *

TODO: This serves a duplicate purpose as RepoManager. We should clean up. TODO: We should firebase-database/src/main/java/com/google/firebase/database/core/ThreadPoolEventTarget.java (1 line): - line 47: // TODO: should we set an uncaught exception handler here? Probably want to let firebase-firestore/src/main/java/com/google/firebase/firestore/local/EncodedPath.java (1 line): - line 204: // TODO: this really should be a general thing, but not worth it right now firebase-firestore/src/main/java/com/google/firebase/firestore/core/Bound.java (1 line): - line 69: // TODO: Make this collision robust. firebase-inappmessaging-display/src/main/java/com/google/firebase/inappmessaging/display/internal/bindingwrappers/ModalBindingWrapper.java (1 line): - line 199: // TODO: Kill this. firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteMutationQueue.java (1 line): - line 349: // TODO: Actually implement a single-collection query