Check push tokens for primary device platform tags
This commit is contained in:
parent
e1a3b48c6e
commit
47c82b42d9
|
@ -52,6 +52,7 @@ import java.util.concurrent.CompletionStage;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.glassfish.jersey.server.ContainerRequest;
|
import org.glassfish.jersey.server.ContainerRequest;
|
||||||
import org.whispersystems.textsecuregcm.auth.AuthenticatedDevice;
|
import org.whispersystems.textsecuregcm.auth.AuthenticatedDevice;
|
||||||
import org.whispersystems.textsecuregcm.auth.BasicAuthorizationHeader;
|
import org.whispersystems.textsecuregcm.auth.BasicAuthorizationHeader;
|
||||||
|
@ -599,13 +600,21 @@ public class DeviceController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static io.micrometer.core.instrument.Tag primaryPlatformTag(final Account account) {
|
private static io.micrometer.core.instrument.Tag primaryPlatformTag(final Account account) {
|
||||||
final Optional<ClientPlatform> clientPlatform = Optional.ofNullable(
|
final Device primaryDevice = account.getPrimaryDevice();
|
||||||
switch (account.getPrimaryDevice().getUserAgent()) {
|
|
||||||
|
Optional<ClientPlatform> clientPlatform = Optional.empty();
|
||||||
|
if (StringUtils.isNotBlank(primaryDevice.getGcmId())) {
|
||||||
|
clientPlatform = Optional.of(ClientPlatform.ANDROID);
|
||||||
|
} else if (StringUtils.isNotBlank(primaryDevice.getApnId())) {
|
||||||
|
clientPlatform = Optional.of(ClientPlatform.IOS);
|
||||||
|
}
|
||||||
|
clientPlatform = clientPlatform.or(() -> Optional.ofNullable(
|
||||||
|
switch (primaryDevice.getUserAgent()) {
|
||||||
case "OWA" -> ClientPlatform.ANDROID;
|
case "OWA" -> ClientPlatform.ANDROID;
|
||||||
case "OWI", "OWP" -> ClientPlatform.IOS;
|
case "OWI", "OWP" -> ClientPlatform.IOS;
|
||||||
case "OWD" -> ClientPlatform.DESKTOP;
|
case "OWD" -> ClientPlatform.DESKTOP;
|
||||||
case null, default -> null;
|
case null, default -> null;
|
||||||
});
|
}));
|
||||||
|
|
||||||
return io.micrometer.core.instrument.Tag.of(
|
return io.micrometer.core.instrument.Tag.of(
|
||||||
"primaryPlatform",
|
"primaryPlatform",
|
||||||
|
|
Loading…
Reference in New Issue