Skip to content

Commit f96ce06

Browse files
authored
Remove experimental bindAsUser() method, deprecated since 1.69 (#12401)
1 parent b37ee67 commit f96ce06

File tree

3 files changed

+1
-41
lines changed

3 files changed

+1
-41
lines changed

binder/src/main/java/io/grpc/binder/BinderChannelBuilder.java

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import static com.google.common.base.Preconditions.checkState;
2121

2222
import android.content.Context;
23-
import android.os.UserHandle;
24-
import androidx.annotation.RequiresApi;
2523
import com.google.errorprone.annotations.DoNotCall;
2624
import io.grpc.ExperimentalApi;
2725
import io.grpc.ForwardingChannelBuilder;
@@ -235,32 +233,6 @@ public BinderChannelBuilder securityPolicy(SecurityPolicy securityPolicy) {
235233
return this;
236234
}
237235

238-
/**
239-
* Specifies the {@link UserHandle} to be searched for the remote Android Service by default.
240-
*
241-
* <p>Used only as a fallback if the direct or resolved {@link AndroidComponentAddress} doesn't
242-
* specify a {@link UserHandle}. If neither the Channel nor the {@link AndroidComponentAddress}
243-
* specifies a target user, the {@link UserHandle} of the current process will be used.
244-
*
245-
* <p>Connecting to a server in a different Android user is uncommon and can only be done by a
246-
* "system app" client with special permissions. See {@link
247-
* AndroidComponentAddress.Builder#setTargetUser(UserHandle)} for details.
248-
*
249-
* @deprecated This method's name is misleading because it implies an impersonated client identity
250-
* when it's actually specifying part of the server's location. It's also no longer necessary
251-
* since the target user is part of {@link AndroidComponentAddress}. Prefer to specify target
252-
* user in the address instead, either directly or via a {@link io.grpc.NameResolverProvider}.
253-
* @param targetUserHandle the target user to bind into.
254-
* @return this
255-
*/
256-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/10173")
257-
@RequiresApi(30)
258-
@Deprecated
259-
public BinderChannelBuilder bindAsUser(UserHandle targetUserHandle) {
260-
transportFactoryBuilder.setDefaultTargetUserHandle(targetUserHandle);
261-
return this;
262-
}
263-
264236
/** Sets the policy for inbound parcelable objects. */
265237
public BinderChannelBuilder inboundParcelablePolicy(
266238
InboundParcelablePolicy inboundParcelablePolicy) {

binder/src/main/java/io/grpc/binder/internal/BinderClientTransport.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,7 @@ public BinderClientTransport(
131131
factory.sourceContext,
132132
factory.channelCredentials,
133133
targetAddress.asBindIntent(),
134-
targetAddress.getTargetUser() != null
135-
? targetAddress.getTargetUser()
136-
: factory.defaultTargetUserHandle,
134+
targetAddress.getTargetUser(),
137135
factory.bindServiceFlags.toInteger(),
138136
this);
139137
}

binder/src/main/java/io/grpc/binder/internal/BinderClientTransportFactory.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static com.google.common.base.Preconditions.checkNotNull;
1919

2020
import android.content.Context;
21-
import android.os.UserHandle;
2221
import androidx.core.content.ContextCompat;
2322
import io.grpc.ChannelCredentials;
2423
import io.grpc.ChannelLogger;
@@ -39,7 +38,6 @@
3938
import java.util.Collections;
4039
import java.util.concurrent.Executor;
4140
import java.util.concurrent.ScheduledExecutorService;
42-
import javax.annotation.Nullable;
4341

4442
/** Creates new binder transports. */
4543
@Internal
@@ -50,7 +48,6 @@ public final class BinderClientTransportFactory implements ClientTransportFactor
5048
final ObjectPool<ScheduledExecutorService> scheduledExecutorPool;
5149
final ObjectPool<? extends Executor> offloadExecutorPool;
5250
final SecurityPolicy securityPolicy;
53-
@Nullable final UserHandle defaultTargetUserHandle;
5451
final BindServiceFlags bindServiceFlags;
5552
final InboundParcelablePolicy inboundParcelablePolicy;
5653
final OneWayBinderProxy.Decorator binderDecorator;
@@ -71,7 +68,6 @@ private BinderClientTransportFactory(Builder builder) {
7168
scheduledExecutorPool = checkNotNull(builder.scheduledExecutorPool);
7269
offloadExecutorPool = checkNotNull(builder.offloadExecutorPool);
7370
securityPolicy = checkNotNull(builder.securityPolicy);
74-
defaultTargetUserHandle = builder.defaultTargetUserHandle;
7571
bindServiceFlags = checkNotNull(builder.bindServiceFlags);
7672
inboundParcelablePolicy = checkNotNull(builder.inboundParcelablePolicy);
7773
binderDecorator = checkNotNull(builder.binderDecorator);
@@ -125,7 +121,6 @@ public static final class Builder implements ClientTransportFactoryBuilder {
125121
ObjectPool<ScheduledExecutorService> scheduledExecutorPool =
126122
SharedResourcePool.forResource(GrpcUtil.TIMER_SERVICE);
127123
SecurityPolicy securityPolicy = SecurityPolicies.internalOnly();
128-
@Nullable UserHandle defaultTargetUserHandle;
129124
BindServiceFlags bindServiceFlags = BindServiceFlags.DEFAULTS;
130125
InboundParcelablePolicy inboundParcelablePolicy = InboundParcelablePolicy.DEFAULT;
131126
OneWayBinderProxy.Decorator binderDecorator = OneWayBinderProxy.IDENTITY_DECORATOR;
@@ -172,11 +167,6 @@ public Builder setSecurityPolicy(SecurityPolicy securityPolicy) {
172167
return this;
173168
}
174169

175-
public Builder setDefaultTargetUserHandle(@Nullable UserHandle defaultTargetUserHandle) {
176-
this.defaultTargetUserHandle = defaultTargetUserHandle;
177-
return this;
178-
}
179-
180170
public Builder setBindServiceFlags(BindServiceFlags bindServiceFlags) {
181171
this.bindServiceFlags = checkNotNull(bindServiceFlags, "bindServiceFlags");
182172
return this;

0 commit comments

Comments
 (0)