-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
binder: Promote out of experimental status #9669
binder: Promote out of experimental status #9669
Conversation
…tion and leaving the internalOnly() without.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These comments are from our API review meeting. Overall, mostly nits. I don't expect most of these to be addressed directly in this PR. The two things that are impactful that we noticed involve IBinderReceiver
and non-final AndroidComponentAddress
. We can accept not touching IBinderReceiver
. But final-izing AndroidComponentAddress
seems reasonably important.
binder/src/main/java/io/grpc/binder/AndroidComponentAddress.java
Outdated
Show resolved
Hide resolved
binder/src/main/java/io/grpc/binder/AndroidComponentAddress.java
Outdated
Show resolved
Hide resolved
…nboundParcelablePolicy per PR discussions.
If the user adds interceptors, they will run before the security interceptor, because interceptors wrap services. The last one is closest to the network.
|
…om several policies.
…ckage check in AndroidComponentAddress. BinderInternal class to expose IBinderReceiver methods.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I noticed one thing. I think I'll fix it up myself and then approve.
That sounds good to me. Thanks for running the additional checks as well. All looks good. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll let markb74 merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if readers in this forum will understand the connection to "app interaction sdk" in the PR description. How about "Promote binder out of experimental status" or similar?
@jdcormie , I think that's a good suggestion to give better change context. I updated the description accordingly using the active tense. |
@@ -103,6 +101,10 @@ public static AndroidComponentAddress forComponent(ComponentName component) { | |||
new Intent(ApiConstants.ACTION_BIND).setComponent(component)); | |||
} | |||
|
|||
/** | |||
* Returns the Authority which is the package name of the target app. | |||
* See {@link android.content.ComponentName}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
between paragraphs (https://google.github.io/styleguide/javaguide.html#s7.1.2-javadoc-paragraphs)
public class BinderInternal { | ||
|
||
/** | ||
* Set the receiver's {@link IBinder} using {@link IBinderReceiver#set(IBinder)}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public static ServerSecurityPolicy serverInternalOnly() { | ||
return new ServerSecurityPolicy(); | ||
} | ||
|
||
/** | ||
* Creates a default {@link SecurityPolicy} that checks authorization based on UID. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"... that allows access only to callers with the same UID as the current process."
This reverts commit d6aa0ea.
Removing the @experimentalapi annotation for APIs used by the App Interaction Library to enable gRPC to be used as dependency for IPCs for Jetpack.