Add initial classes for Remote Config API#477
Conversation
498018e to
74c21d3
Compare
74c21d3 to
07ec304
Compare
hiranya911
left a comment
There was a problem hiding this comment.
Looks mostly good. I've added a series of questions and comments on things that we can clean up.
src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImpl.java
Show resolved
Hide resolved
src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImpl.java
Outdated
Show resolved
Hide resolved
src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImplTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImplTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImplTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImplTest.java
Show resolved
Hide resolved
src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigClientImplTest.java
Outdated
Show resolved
Hide resolved
hiranya911
left a comment
There was a problem hiding this comment.
It's getting there. Just needs a bit of cleanup around error handling.
| "ETag header is not available in the server response.", null, null, | ||
| RemoteConfigErrorCode.INTERNAL); | ||
| } | ||
| checkArgument(!(etagList == null || etagList.isEmpty()), |
There was a problem hiding this comment.
Perhaps checkState is more appropriate here.
| "ETag header is not available in the server response.", null, null, | ||
| RemoteConfigErrorCode.INTERNAL); | ||
| } | ||
| checkArgument(!(etagList == null || etagList.isEmpty()), |
There was a problem hiding this comment.
Also checkState(etagList != null && !etagList.isEmpty())
| "ETag header is not available in the server response.", null, null, | ||
| RemoteConfigErrorCode.INTERNAL); | ||
| } | ||
| checkArgument(!Strings.isNullOrEmpty(etag), |
There was a problem hiding this comment.
Here too. I'd even recommend adding a getETag(IncomingResponse resp) helper method, and doing all the validation there.
src/main/java/com/google/firebase/remoteconfig/internal/RemoteConfigServiceErrorResponse.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/firebase/remoteconfig/internal/RemoteConfigServiceErrorResponse.java
Outdated
Show resolved
Hide resolved
64efe89 to
426fe78
Compare
| int separator = message.indexOf(':'); | ||
| if (separator != -1) { | ||
| String errorCode = message.substring(0, separator).replaceAll("\\[|\\]", ""); | ||
| Matcher errorMatcher = Pattern.compile("^\\[(\\w+)\\]:.*$").matcher(message); |
There was a problem hiding this comment.
Pattern.compile() could be expensive. Pre-compute it and store as a static constant.
There was a problem hiding this comment.
Good point! Thanks!
643fc74 to
52319e9
Compare
FirebaseRemoteConfigClientinterface and implementationFirebaseRemoteConfigClientImplNote: merging to
remote-configbranch.Related issue: #446