blob: 921ae724b25e416ce4b51902f36ce9bebfb9437c [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package io.v.rx.syncbase;
import android.content.Context;
import java.util.Arrays;
import java.util.List;
import io.v.baku.toolkit.blessings.BlessingsUtils;
import io.v.baku.toolkit.blessings.ClientUser;
import io.v.impl.google.naming.NamingUtil;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class UserAppSyncHost implements SyncHostLevel {
private final String mAppName, mSgHostSuffix, mRendezvousSuffix;
public UserAppSyncHost(final String appName) {
this(appName, DEFAULT_SG_HOST_SUFFIX, DEFAULT_RENDEZVOUS_SUFFIX);
}
public UserAppSyncHost(final Context androidContext) {
this(androidContext.getPackageName());
}
@Override
public String getSyncgroupHostName(final ClientUser clientUser) {
return NamingUtil.join(BlessingsUtils.userMount(clientUser.getUsername()),
mAppName, mSgHostSuffix);
}
@Override
public List<String> getRendezvousTableNames(final ClientUser clientUser) {
return Arrays.asList(NamingUtil.join(
BlessingsUtils.userMount(clientUser.getUsername()), mAppName, mRendezvousSuffix));
}
}