mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-12-12 13:47:45 +01:00
Continue work on Wearable
(+ small fix in maps)
This commit is contained in:
parent
c618221a38
commit
28c11da033
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -4,3 +4,6 @@
|
||||
[submodule "extern/GmsApi"]
|
||||
path = extern/GmsApi
|
||||
url = https://github.com/microg/android_external_GmsApi.git
|
||||
[submodule "extern/Wearable"]
|
||||
path = extern/Wearable
|
||||
url = https://github.com/microg/android_external_Wearable.git
|
||||
|
2
extern/GmsApi
vendored
2
extern/GmsApi
vendored
@ -1 +1 @@
|
||||
Subproject commit 4f6a84de9d95fef255579c5ce06a89363dc05aa8
|
||||
Subproject commit f0ec7e606f3e6e3a219eb87266c4dae1828b5083
|
1
extern/Wearable
vendored
Submodule
1
extern/Wearable
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit e6d59dc062def314cdebf64699b15bb8b6a5eede
|
@ -39,6 +39,7 @@ dependencies {
|
||||
compile 'com.squareup.wire:wire-runtime:1.6.1'
|
||||
compile project(':play-services-api')
|
||||
compile project(':unifiednlp-base')
|
||||
compile project(':wearable-lib')
|
||||
// vtm from ./libs
|
||||
compile 'org.oscim:vtm-android:0.6.0-SNAPSHOT@aar'
|
||||
compile 'org.oscim:vtm-themes:0.6.0-SNAPSHOT'
|
||||
|
@ -18,12 +18,14 @@ package org.microg.gms.maps.camera;
|
||||
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
import com.google.android.gms.dynamic.ObjectWrapper;
|
||||
import com.google.android.gms.maps.internal.ICameraUpdateFactoryDelegate;
|
||||
import com.google.android.gms.maps.model.CameraPosition;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
import com.google.android.gms.maps.model.LatLngBounds;
|
||||
|
||||
import org.microg.gms.maps.GmsMapsTypeHelper;
|
||||
import org.oscim.core.MapPosition;
|
||||
import org.oscim.map.Map;
|
||||
@ -159,7 +161,7 @@ public class CameraUpdateFactoryImpl extends ICameraUpdateFactoryDelegate.Stub {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IObjectWrapper newLatLngBounds(final LatLngBounds bounds, int i) throws RemoteException {
|
||||
public IObjectWrapper newLatLngBounds(final LatLngBounds bounds, int padding) throws RemoteException {
|
||||
Log.d(TAG, "newLatLngBounds");
|
||||
return new ObjectWrapper<CameraUpdate>(new MapPositionCameraUpdate() {
|
||||
@Override
|
||||
@ -173,9 +175,17 @@ public class CameraUpdateFactoryImpl extends ICameraUpdateFactoryDelegate.Stub {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IObjectWrapper newLatLngBoundsWithSize(LatLngBounds bounds, int i1, int i2, int i3)
|
||||
public IObjectWrapper newLatLngBoundsWithSize(final LatLngBounds bounds, final int width, final int height, int padding)
|
||||
throws RemoteException {
|
||||
Log.d(TAG, "newLatLngBoundsWithSize");
|
||||
return new ObjectWrapper<CameraUpdate>(new NoCameraUpdate());
|
||||
return new ObjectWrapper<CameraUpdate>(new MapPositionCameraUpdate() {
|
||||
@Override
|
||||
MapPosition getMapPosition(Map map) {
|
||||
MapPosition mapPosition = map.getMapPosition();
|
||||
mapPosition.setByBoundingBox(GmsMapsTypeHelper.fromLatLngBounds(bounds),
|
||||
width, height);
|
||||
return mapPosition;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -37,6 +37,12 @@ public class DataItemInternal {
|
||||
this.uri = new Uri.Builder().scheme("wear").authority(host).path(path).build();
|
||||
}
|
||||
|
||||
public DataItemInternal(Uri uri) {
|
||||
this.uri = uri;
|
||||
this.host = uri.getAuthority();
|
||||
this.path = uri.getPath();
|
||||
}
|
||||
|
||||
public DataItemInternal addAsset(String key, Asset asset) {
|
||||
this.assets.put(key, asset);
|
||||
return this;
|
||||
|
@ -18,11 +18,15 @@ package org.microg.gms.wearable;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.google.android.gms.wearable.Asset;
|
||||
import com.google.android.gms.wearable.internal.DataItemAssetParcelable;
|
||||
import com.google.android.gms.wearable.internal.DataItemParcelable;
|
||||
|
||||
import org.microg.wearable.proto.AssetEntry;
|
||||
import org.microg.wearable.proto.SetDataItem;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class DataItemRecord {
|
||||
@ -76,4 +80,23 @@ public class DataItemRecord {
|
||||
record.assetsAreReady = cursor.getLong(10) > 0;
|
||||
return record;
|
||||
}
|
||||
|
||||
public static DataItemRecord fromSetDataItem(SetDataItem setDataItem) {
|
||||
DataItemRecord record = new DataItemRecord();
|
||||
record.dataItem = new DataItemInternal(Uri.parse(setDataItem.uri));
|
||||
if (setDataItem.data != null) record.dataItem.data = setDataItem.data.toByteArray();
|
||||
if (setDataItem.assets != null) {
|
||||
for (AssetEntry asset : setDataItem.assets) {
|
||||
// TODO record.dataItem.addAsset(asset.key, asset.value)
|
||||
}
|
||||
}
|
||||
record.source = setDataItem.source;
|
||||
record.seqId = setDataItem.seqId;
|
||||
record.v1SeqId = -1;
|
||||
record.lastModified = setDataItem.lastModified;
|
||||
record.deleted = setDataItem.deleted == null ? false : setDataItem.deleted;
|
||||
record.packageName = setDataItem.packageName;
|
||||
record.signatureDigest = setDataItem.signatureDigest;
|
||||
return record;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Copyright 2013-2015 microG Project Team
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.android.gms.wearable.ConnectionConfiguration;
|
||||
import com.google.android.gms.wearable.internal.MessageEventParcelable;
|
||||
import com.google.android.gms.wearable.internal.NodeParcelable;
|
||||
|
||||
import org.microg.gms.checkin.LastCheckinInfo;
|
||||
import org.microg.gms.common.Build;
|
||||
import org.microg.wearable.ServerMessageListener;
|
||||
import org.microg.wearable.proto.AckAsset;
|
||||
import org.microg.wearable.proto.Connect;
|
||||
import org.microg.wearable.proto.FetchAsset;
|
||||
import org.microg.wearable.proto.FilePiece;
|
||||
import org.microg.wearable.proto.Heartbeat;
|
||||
import org.microg.wearable.proto.Request;
|
||||
import org.microg.wearable.proto.RootMessage;
|
||||
import org.microg.wearable.proto.SetAsset;
|
||||
import org.microg.wearable.proto.SetDataItem;
|
||||
import org.microg.wearable.proto.SyncStart;
|
||||
import org.microg.wearable.proto.SyncTableEntry;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class MessageHandler extends ServerMessageListener {
|
||||
private static final String TAG = "GmsWearMsgHandler";
|
||||
private final WearableServiceImpl service;
|
||||
private final ConnectionConfiguration config;
|
||||
|
||||
public MessageHandler(WearableServiceImpl service, ConnectionConfiguration config) {
|
||||
this(service, config, new Build().model, config.nodeId, LastCheckinInfo.read(service.getContext()).androidId);
|
||||
}
|
||||
|
||||
private MessageHandler(WearableServiceImpl service, ConnectionConfiguration config, String name, String networkId, long androidId) {
|
||||
super(new Connect.Builder()
|
||||
.name(name)
|
||||
.id(config.nodeId)
|
||||
.networkId(networkId)
|
||||
.peerAndroidId(androidId)
|
||||
.unknown4(3)
|
||||
.unknown5(1)
|
||||
.build());
|
||||
this.service = service;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnect(Connect connect) {
|
||||
super.onConnect(connect);
|
||||
config.peerNodeId = connect.id;
|
||||
config.connected = true;
|
||||
service.onPeerConnected(new NodeParcelable(connect.id, connect.name));
|
||||
try {
|
||||
getConnection().writeMessage(new RootMessage.Builder().syncStart(new SyncStart.Builder()
|
||||
.receivedSeqId(-1L)
|
||||
.version(2)
|
||||
.syncTable(Arrays.asList(
|
||||
new SyncTableEntry.Builder().key("cloud").value(1L).build(),
|
||||
new SyncTableEntry.Builder().key(config.nodeId).value(service.getCurrentSeqId(config.nodeId)).build(), // TODO
|
||||
new SyncTableEntry.Builder().key(config.peerNodeId).value(service.getCurrentSeqId(config.peerNodeId)).build() // TODO
|
||||
)).build()).build());
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetAsset(SetAsset setAsset) {
|
||||
Log.d(TAG, "onSetAsset: " + setAsset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAckAsset(AckAsset ackAsset) {
|
||||
Log.d(TAG, "onAckAsset: " + ackAsset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFetchAsset(FetchAsset fetchAsset) {
|
||||
Log.d(TAG, "onFetchAsset: " + fetchAsset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSyncStart(SyncStart syncStart) {
|
||||
Log.d(TAG, "onSyncStart: " + syncStart);
|
||||
if (syncStart.version < 2) {
|
||||
Log.d(TAG, "Sync uses version " + syncStart.version + " which is not supported (yet)");
|
||||
}
|
||||
if (syncStart.syncTable != null) {
|
||||
for (SyncTableEntry entry : syncStart.syncTable) {
|
||||
service.syncToPeer(getConnection(), entry.key, entry.value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetDataItem(SetDataItem setDataItem) {
|
||||
Log.d(TAG, "onSetDataItem: " + setDataItem);
|
||||
service.putDataItem(DataItemRecord.fromSetDataItem(setDataItem));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRcpRequest(Request rcpRequest) {
|
||||
Log.d(TAG, "onRcpRequest: " + rcpRequest);
|
||||
if (TextUtils.isEmpty(rcpRequest.targetNodeId)) {
|
||||
// TODO: That's probably not how it should go!
|
||||
MessageEventParcelable messageEvent = new MessageEventParcelable();
|
||||
messageEvent.data = rcpRequest.rawData != null ? rcpRequest.rawData.toByteArray() : null;
|
||||
messageEvent.path = rcpRequest.path;
|
||||
messageEvent.requestId = rcpRequest.requestId + 31 * (rcpRequest.generation + 527);
|
||||
messageEvent.sourceNodeId = TextUtils.isEmpty(rcpRequest.sourceNodeId) ? config.peerNodeId : rcpRequest.sourceNodeId;
|
||||
|
||||
service.onMessageReceived(messageEvent);
|
||||
} else if (rcpRequest.targetNodeId.equals(config.peerNodeId)) {
|
||||
// Drop it, loop detection (yes we really need this in this protocol o.O)
|
||||
} else {
|
||||
// TODO: find next hop (yes, wtf hops in a network usually consisting of two devices)
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHearbeat(Heartbeat heartbeat) {
|
||||
Log.d(TAG, "onHearbeat: " + heartbeat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFilePiece(FilePiece filePiece) {
|
||||
Log.d(TAG, "onFilePiece: " + filePiece);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelRequest(Request channelRequest) {
|
||||
Log.d(TAG, "onChannelRequest:" + channelRequest);
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright 2013-2015 microG Project Team
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.android.gms.wearable.ConnectionConfiguration;
|
||||
|
||||
import org.microg.wearable.SocketWearableConnection;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
|
||||
class NetworkConnectionThread extends Thread {
|
||||
private static final String TAG = "GmsWearNetConnThr";
|
||||
private static final int WEAR_TCP_PORT = 5601;
|
||||
|
||||
private ConnectionConfiguration config;
|
||||
private ServerSocket socket;
|
||||
private MessageHandler handler;
|
||||
|
||||
public NetworkConnectionThread(WearableServiceImpl service, ConnectionConfiguration config) {
|
||||
this.config = config;
|
||||
this.handler = new MessageHandler(service, config);
|
||||
}
|
||||
|
||||
public void close() {
|
||||
try {
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
socket = new ServerSocket(WEAR_TCP_PORT);
|
||||
Log.d(TAG, "Listening for connections on TCP :" + WEAR_TCP_PORT);
|
||||
Socket accepted = socket.accept();
|
||||
new SocketWearableConnection(accepted, handler).run();
|
||||
Log.d(TAG, "Connection terminated, me too");
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
}
|
||||
}
|
||||
}
|
@ -187,6 +187,11 @@ public class NodeDatabaseHelper extends SQLiteOpenHelper {
|
||||
return db.query("dataItemsAndAssets", GDIBHAP_FIELDS, selection, params, null, null, "packageName, signatureDigest, host, path");
|
||||
}
|
||||
|
||||
public Cursor getModifiedDataItems(final String nodeId, final long seqId, final boolean excludeDeleted) {
|
||||
String selection = "sourceNode =? AND seqId >?" + (excludeDeleted ? "AND deleted =0" : "");
|
||||
return getReadableDatabase().query("dataItemsAndAssets", GDIBHAP_FIELDS, selection, new String[]{nodeId, Long.toString(seqId)}, null, null, "seqId", null);
|
||||
}
|
||||
|
||||
public synchronized int deleteDataItems(String packageName, String signatureDigest, String host, String path) {
|
||||
SQLiteDatabase db = getWritableDatabase();
|
||||
db.beginTransaction();
|
||||
@ -204,4 +209,17 @@ public class NodeDatabaseHelper extends SQLiteOpenHelper {
|
||||
db.endTransaction();
|
||||
return n;
|
||||
}
|
||||
|
||||
public long getCurrentSeqId(String sourceNode) {
|
||||
SQLiteDatabase db = getReadableDatabase();
|
||||
Cursor cursor = db.query("dataItemsAndAssets", new String[]{"seqId"}, "sourceNode=?", new String[]{sourceNode}, null, null, "seqId DESC", "1");
|
||||
long res = 1;
|
||||
if (cursor != null) {
|
||||
if (cursor.moveToFirst()) {
|
||||
res = cursor.getLong(0);
|
||||
}
|
||||
cursor.close();;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
@ -28,28 +28,35 @@ import android.util.Log;
|
||||
|
||||
import com.google.android.gms.common.api.Status;
|
||||
import com.google.android.gms.common.data.DataHolder;
|
||||
import com.google.android.gms.wearable.internal.AddListenerRequest;
|
||||
import com.google.android.gms.wearable.Asset;
|
||||
import com.google.android.gms.wearable.ConnectionConfiguration;
|
||||
import com.google.android.gms.wearable.Node;
|
||||
import com.google.android.gms.wearable.internal.AddListenerRequest;
|
||||
import com.google.android.gms.wearable.internal.AmsEntityUpdateParcelable;
|
||||
import com.google.android.gms.wearable.internal.AncsNotificationParcelable;
|
||||
import com.google.android.gms.wearable.internal.CapabilityInfoParcelable;
|
||||
import com.google.android.gms.wearable.internal.ChannelEventParcelable;
|
||||
import com.google.android.gms.wearable.internal.DataItemParcelable;
|
||||
import com.google.android.gms.wearable.internal.DeleteDataItemsResponse;
|
||||
import com.google.android.gms.wearable.internal.GetConfigResponse;
|
||||
import com.google.android.gms.wearable.internal.GetConfigsResponse;
|
||||
import com.google.android.gms.wearable.internal.GetConnectedNodesResponse;
|
||||
import com.google.android.gms.wearable.internal.GetDataItemResponse;
|
||||
import com.google.android.gms.wearable.internal.GetLocalNodeResponse;
|
||||
import com.google.android.gms.wearable.internal.IWearableCallbacks;
|
||||
import com.google.android.gms.wearable.internal.IWearableListener;
|
||||
import com.google.android.gms.wearable.internal.IWearableService;
|
||||
import com.google.android.gms.wearable.internal.MessageEventParcelable;
|
||||
import com.google.android.gms.wearable.internal.NodeParcelable;
|
||||
import com.google.android.gms.wearable.internal.PutDataRequest;
|
||||
import com.google.android.gms.wearable.internal.PutDataResponse;
|
||||
import com.google.android.gms.wearable.internal.RemoveListenerRequest;
|
||||
import com.google.android.gms.wearable.internal.DataItemParcelable;
|
||||
import com.google.android.gms.wearable.internal.IWearableCallbacks;
|
||||
import com.google.android.gms.wearable.internal.IWearableService;
|
||||
import com.google.android.gms.wearable.internal.NodeParcelable;
|
||||
|
||||
import org.microg.gms.common.PackageUtils;
|
||||
import org.microg.wearable.WearableConnection;
|
||||
import org.microg.wearable.proto.AssetEntry;
|
||||
import org.microg.wearable.proto.RootMessage;
|
||||
import org.microg.wearable.proto.SetDataItem;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
@ -63,6 +70,8 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import okio.ByteString;
|
||||
|
||||
public class WearableServiceImpl extends IWearableService.Stub implements IWearableListener {
|
||||
private static final String TAG = "GmsWearSvcImpl";
|
||||
|
||||
@ -75,6 +84,10 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
private final NodeDatabaseHelper nodeDatabase;
|
||||
private final ConfigurationDatabaseHelper configDatabase;
|
||||
private Set<IWearableListener> listeners = new HashSet<IWearableListener>();
|
||||
private Set<Node> connectedNodes = new HashSet<Node>();
|
||||
private ConnectionConfiguration[] configurations;
|
||||
private boolean configurationsUpdated = false;
|
||||
private NetworkConnectionThread nct;
|
||||
|
||||
private long seqIdBlock;
|
||||
private long seqIdInBlock = -1;
|
||||
@ -125,7 +138,7 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
callbacks.onPutDataResponse(new PutDataResponse(0, parcelable));
|
||||
}
|
||||
|
||||
private DataItemRecord putDataItem(String packageName, String signatureDigest, String source, DataItemInternal dataItem) {
|
||||
public DataItemRecord putDataItem(String packageName, String signatureDigest, String source, DataItemInternal dataItem) {
|
||||
DataItemRecord record = new DataItemRecord();
|
||||
record.packageName = packageName;
|
||||
record.signatureDigest = signatureDigest;
|
||||
@ -134,6 +147,10 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
record.dataItem = dataItem;
|
||||
record.v1SeqId = getNextSeqId();
|
||||
if (record.source.equals(getLocalNodeId())) record.seqId = record.v1SeqId;
|
||||
return putDataItem(record);
|
||||
}
|
||||
|
||||
public DataItemRecord putDataItem(DataItemRecord record) {
|
||||
nodeDatabase.putRecord(record);
|
||||
return record;
|
||||
}
|
||||
@ -231,8 +248,16 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
|
||||
@Override
|
||||
public void getConnectedNodes(IWearableCallbacks callbacks) throws RemoteException {
|
||||
Log.d(TAG, "getConnectedNodes[fak]");
|
||||
callbacks.onGetConnectedNodesResponse(new GetConnectedNodesResponse(0, new ArrayList<NodeParcelable>()));
|
||||
Log.d(TAG, "getConnectedNodes");
|
||||
callbacks.onGetConnectedNodesResponse(new GetConnectedNodesResponse(0, getConnectedNodesParcelableList()));
|
||||
}
|
||||
|
||||
private List<NodeParcelable> getConnectedNodesParcelableList() {
|
||||
List<NodeParcelable> nodes = new ArrayList<NodeParcelable>();
|
||||
for (Node connectedNode : connectedNodes) {
|
||||
nodes.add(new NodeParcelable(connectedNode));
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -253,13 +278,14 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
public void putConfig(IWearableCallbacks callbacks, ConnectionConfiguration config) throws RemoteException {
|
||||
Log.d(TAG, "putConfig[nyp]: " + config);
|
||||
configDatabase.putConfiguration(config);
|
||||
configurationsUpdated = true;
|
||||
callbacks.onStatus(Status.SUCCESS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getConfig(IWearableCallbacks callbacks) throws RemoteException {
|
||||
Log.d(TAG, "getConfig");
|
||||
ConnectionConfiguration[] configurations = configDatabase.getAllConfigurations();
|
||||
ConnectionConfiguration[] configurations = getConfigurations();
|
||||
if (configurations == null || configurations.length == 0) {
|
||||
callbacks.onGetConfigResponse(new GetConfigResponse(1, new ConnectionConfiguration(null, null, 0, 0, false)));
|
||||
} else {
|
||||
@ -271,16 +297,59 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
public void getConfigs(IWearableCallbacks callbacks) throws RemoteException {
|
||||
Log.d(TAG, "getConfigs");
|
||||
try {
|
||||
callbacks.onGetConfigsResponse(new GetConfigsResponse(0, configDatabase.getAllConfigurations()));
|
||||
callbacks.onGetConfigsResponse(new GetConfigsResponse(0, getConfigurations()));
|
||||
} catch (Exception e) {
|
||||
callbacks.onGetConfigsResponse(new GetConfigsResponse(8, new ConnectionConfiguration[0]));
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized ConnectionConfiguration[] getConfigurations() {
|
||||
if (configurations == null) {
|
||||
configurations = configDatabase.getAllConfigurations();
|
||||
}
|
||||
if (configurationsUpdated) {
|
||||
configurationsUpdated = false;
|
||||
ConnectionConfiguration[] newConfigurations = configDatabase.getAllConfigurations();
|
||||
for (ConnectionConfiguration configuration : configurations) {
|
||||
for (ConnectionConfiguration newConfiguration : newConfigurations) {
|
||||
if (newConfiguration.name.equals(configuration.name)) {
|
||||
newConfiguration.connected = configuration.connected;
|
||||
newConfiguration.peerNodeId = configuration.peerNodeId;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
configurations = newConfigurations;
|
||||
}
|
||||
return configurations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enableConnection(IWearableCallbacks callbacks, String name) throws RemoteException {
|
||||
Log.d(TAG, "enableConnection: " + name);
|
||||
configDatabase.setEnabledState(name, true);
|
||||
configurationsUpdated = true;
|
||||
callbacks.onStatus(Status.SUCCESS);
|
||||
if (name.equals("server")) {
|
||||
// TODO: hackady hack
|
||||
(nct = new NetworkConnectionThread(this, configDatabase.getConfiguration(name))).start();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableConnection(IWearableCallbacks callbacks, String name) throws RemoteException {
|
||||
Log.d(TAG, "disableConnection: " + name);
|
||||
configDatabase.setEnabledState(name, false);
|
||||
configurationsUpdated = true;
|
||||
callbacks.onStatus(Status.SUCCESS);
|
||||
if (name.equals("server")) {
|
||||
// TODO: hacady hack
|
||||
if (nct != null) {
|
||||
nct.close();
|
||||
nct.interrupt();
|
||||
nct = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -298,18 +367,46 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(MessageEventParcelable messageEvent) throws RemoteException {
|
||||
for (IWearableListener listener : listeners) {
|
||||
public void onMessageReceived(MessageEventParcelable messageEvent) {
|
||||
Log.d(TAG, "onMessageReceived: " + messageEvent);
|
||||
for (IWearableListener listener : new ArrayList<IWearableListener>(listeners)) {
|
||||
try {
|
||||
listener.onMessageReceived(messageEvent);
|
||||
} catch (RemoteException e) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPeerConnected(NodeParcelable node) throws RemoteException {
|
||||
for (IWearableListener listener : listeners) {
|
||||
public void onPeerConnected(NodeParcelable node) {
|
||||
Log.d(TAG, "onPeerConnected: " + node);
|
||||
for (IWearableListener listener : new ArrayList<IWearableListener>(listeners)) {
|
||||
try {
|
||||
listener.onPeerConnected(node);
|
||||
} catch (RemoteException e) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
}
|
||||
addConnectedNode(node);
|
||||
}
|
||||
|
||||
private void addConnectedNode(Node node) {
|
||||
connectedNodes.add(node);
|
||||
onConnectedNodes(getConnectedNodesParcelableList());
|
||||
}
|
||||
|
||||
private void removeConnectedNode(String nodeId) {
|
||||
Node toRemove = null;
|
||||
for (Node node : connectedNodes) {
|
||||
if (node.getId().equals(nodeId)) {
|
||||
toRemove = node;
|
||||
break;
|
||||
}
|
||||
}
|
||||
connectedNodes.remove(toRemove);
|
||||
onConnectedNodes(getConnectedNodesParcelableList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPeerDisconnected(NodeParcelable node) throws RemoteException {
|
||||
@ -319,9 +416,21 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnectedNodes(List<NodeParcelable> nodes) throws RemoteException {
|
||||
public void onConnectedNodes(List<NodeParcelable> nodes) {
|
||||
Log.d(TAG, "onConnectedNodes: " + nodes);
|
||||
for (IWearableListener listener : listeners) {
|
||||
try {
|
||||
listener.onConnectedNodes(nodes);
|
||||
} catch (RemoteException e) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationReceived(AncsNotificationParcelable notification) throws RemoteException {
|
||||
for (IWearableListener listener : listeners) {
|
||||
listener.onNotificationReceived(notification);
|
||||
}
|
||||
}
|
||||
|
||||
@ -338,4 +447,55 @@ public class WearableServiceImpl extends IWearableService.Stub implements IWeara
|
||||
listener.onConnectedCapabilityChanged(capabilityInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityUpdate(AmsEntityUpdateParcelable update) throws RemoteException {
|
||||
for (IWearableListener listener : listeners) {
|
||||
listener.onEntityUpdate(update);
|
||||
}
|
||||
}
|
||||
|
||||
public Context getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
public void syncToPeer(WearableConnection connection, String nodeId, long seqId) {
|
||||
Cursor cursor = nodeDatabase.getModifiedDataItems(nodeId, seqId, true);
|
||||
if (cursor != null) {
|
||||
while (cursor.moveToNext()) {
|
||||
DataItemRecord record = DataItemRecord.fromCursor(cursor);
|
||||
SetDataItem.Builder builder = new SetDataItem.Builder()
|
||||
.packageName(record.packageName)
|
||||
.signatureDigest(record.signatureDigest)
|
||||
.uri(record.dataItem.uri.toString())
|
||||
.seqId(record.seqId)
|
||||
.deleted(record.deleted)
|
||||
.lastModified(record.lastModified);
|
||||
if (record.source != null) builder.source(record.source);
|
||||
if (record.dataItem.data != null) builder.data(ByteString.of(record.dataItem.data));
|
||||
List<AssetEntry> protoAssets = new ArrayList<AssetEntry>();
|
||||
Map<String, Asset> assets = record.dataItem.getAssets();
|
||||
for (String key : assets.keySet()) {
|
||||
protoAssets.add(new AssetEntry.Builder()
|
||||
.key(key)
|
||||
.unknown3(4)
|
||||
.value(new org.microg.wearable.proto.Asset.Builder()
|
||||
.digest(assets.get(key).getDigest())
|
||||
.build()).build());
|
||||
}
|
||||
builder.assets(protoAssets);
|
||||
try {
|
||||
connection.writeMessage(new RootMessage.Builder().setDataItem(builder.build()).build());
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
public long getCurrentSeqId(String nodeId) {
|
||||
return nodeDatabase.getCurrentSeqId(nodeId);
|
||||
}
|
||||
}
|
||||
|
@ -1,62 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class AckAsset extends Message {
|
||||
|
||||
public static final String DEFAULT_DIGEST = "";
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String digest;
|
||||
|
||||
public AckAsset(String digest) {
|
||||
this.digest = digest;
|
||||
}
|
||||
|
||||
private AckAsset(Builder builder) {
|
||||
this(builder.digest);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof AckAsset)) return false;
|
||||
return equals(digest, ((AckAsset) other).digest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
return result != 0 ? result : (hashCode = digest != null ? digest.hashCode() : 0);
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<AckAsset> {
|
||||
|
||||
public String digest;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(AckAsset message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.digest = message.digest;
|
||||
}
|
||||
|
||||
public Builder digest(String digest) {
|
||||
this.digest = digest;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AckAsset build() {
|
||||
return new AckAsset(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class AppKey extends Message {
|
||||
|
||||
public static final String DEFAULT_PACKAGENAME = "";
|
||||
public static final String DEFAULT_SIGNATUREDIGEST = "";
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String packageName;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String signatureDigest;
|
||||
|
||||
public AppKey(String packageName, String signatureDigest) {
|
||||
this.packageName = packageName;
|
||||
this.signatureDigest = signatureDigest;
|
||||
}
|
||||
|
||||
private AppKey(Builder builder) {
|
||||
this(builder.packageName, builder.signatureDigest);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof AppKey)) return false;
|
||||
AppKey o = (AppKey) other;
|
||||
return equals(packageName, o.packageName)
|
||||
&& equals(signatureDigest, o.signatureDigest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = packageName != null ? packageName.hashCode() : 0;
|
||||
result = result * 37 + (signatureDigest != null ? signatureDigest.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<AppKey> {
|
||||
|
||||
public String packageName;
|
||||
public String signatureDigest;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(AppKey message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.packageName = message.packageName;
|
||||
this.signatureDigest = message.signatureDigest;
|
||||
}
|
||||
|
||||
public Builder packageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder signatureDigest(String signatureDigest) {
|
||||
this.signatureDigest = signatureDigest;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppKey build() {
|
||||
return new AppKey(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.squareup.wire.Message.Label.REPEATED;
|
||||
|
||||
public final class AppKeys extends Message {
|
||||
|
||||
public static final List<AppKey> DEFAULT_APPKEYS = Collections.emptyList();
|
||||
|
||||
@ProtoField(tag = 1, label = REPEATED, messageType = AppKey.class)
|
||||
public final List<AppKey> appKeys;
|
||||
|
||||
public AppKeys(List<AppKey> appKeys) {
|
||||
this.appKeys = immutableCopyOf(appKeys);
|
||||
}
|
||||
|
||||
private AppKeys(Builder builder) {
|
||||
this(builder.appKeys);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof AppKeys)) return false;
|
||||
return equals(appKeys, ((AppKeys) other).appKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
return result != 0 ? result : (hashCode = appKeys != null ? appKeys.hashCode() : 1);
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<AppKeys> {
|
||||
|
||||
public List<AppKey> appKeys;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(AppKeys message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.appKeys = copyOf(message.appKeys);
|
||||
}
|
||||
|
||||
public Builder appKeys(List<AppKey> appKeys) {
|
||||
this.appKeys = checkForNulls(appKeys);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppKeys build() {
|
||||
return new AppKeys(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
|
||||
public final class Asset extends Message {
|
||||
|
||||
public Asset() {
|
||||
}
|
||||
|
||||
private Asset(Builder builder) {
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
return other instanceof Asset;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<Asset> {
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(Asset message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Asset build() {
|
||||
return new Asset(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class AssetEntry extends Message {
|
||||
|
||||
public static final String DEFAULT_KEY = "";
|
||||
public static final Integer DEFAULT_UNKNOWN3 = 0;
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String key;
|
||||
|
||||
@ProtoField(tag = 2)
|
||||
public final Asset value;
|
||||
|
||||
@ProtoField(tag = 3, type = INT32)
|
||||
public final Integer unknown3;
|
||||
|
||||
public AssetEntry(String key, Asset value, Integer unknown3) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
this.unknown3 = unknown3;
|
||||
}
|
||||
|
||||
private AssetEntry(Builder builder) {
|
||||
this(builder.key, builder.value, builder.unknown3);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof AssetEntry)) return false;
|
||||
AssetEntry o = (AssetEntry) other;
|
||||
return equals(key, o.key)
|
||||
&& equals(value, o.value)
|
||||
&& equals(unknown3, o.unknown3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = key != null ? key.hashCode() : 0;
|
||||
result = result * 37 + (value != null ? value.hashCode() : 0);
|
||||
result = result * 37 + (unknown3 != null ? unknown3.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<AssetEntry> {
|
||||
|
||||
public String key;
|
||||
public Asset value;
|
||||
public Integer unknown3;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(AssetEntry message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.key = message.key;
|
||||
this.value = message.value;
|
||||
this.unknown3 = message.unknown3;
|
||||
}
|
||||
|
||||
public Builder key(String key) {
|
||||
this.key = key;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder value(Asset value) {
|
||||
this.value = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown3(Integer unknown3) {
|
||||
this.unknown3 = unknown3;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AssetEntry build() {
|
||||
return new AssetEntry(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,154 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class ChannelControlRequest extends Message {
|
||||
|
||||
public static final Integer DEFAULT_TYPE = 0;
|
||||
public static final Long DEFAULT_CHANNELID = 0L;
|
||||
public static final Boolean DEFAULT_FROMCHANNELOPERATOR = false;
|
||||
public static final String DEFAULT_PACKAGENAME = "";
|
||||
public static final String DEFAULT_SIGNATUREDIGEST = "";
|
||||
public static final String DEFAULT_PATH = "";
|
||||
public static final Integer DEFAULT_CLOSEERRORCODE = 0;
|
||||
|
||||
@ProtoField(tag = 1, type = INT32)
|
||||
public final Integer type;
|
||||
|
||||
@ProtoField(tag = 2, type = INT64)
|
||||
public final Long channelId;
|
||||
|
||||
@ProtoField(tag = 3, type = BOOL)
|
||||
public final Boolean fromChannelOperator;
|
||||
|
||||
@ProtoField(tag = 4, type = STRING)
|
||||
public final String packageName;
|
||||
|
||||
@ProtoField(tag = 5, type = STRING)
|
||||
public final String signatureDigest;
|
||||
|
||||
@ProtoField(tag = 6, type = STRING)
|
||||
public final String path;
|
||||
|
||||
@ProtoField(tag = 7, type = INT32)
|
||||
public final Integer closeErrorCode;
|
||||
|
||||
public ChannelControlRequest(Integer type, Long channelId, Boolean fromChannelOperator, String packageName, String signatureDigest, String path, Integer closeErrorCode) {
|
||||
this.type = type;
|
||||
this.channelId = channelId;
|
||||
this.fromChannelOperator = fromChannelOperator;
|
||||
this.packageName = packageName;
|
||||
this.signatureDigest = signatureDigest;
|
||||
this.path = path;
|
||||
this.closeErrorCode = closeErrorCode;
|
||||
}
|
||||
|
||||
private ChannelControlRequest(Builder builder) {
|
||||
this(builder.type, builder.channelId, builder.fromChannelOperator, builder.packageName, builder.signatureDigest, builder.path, builder.closeErrorCode);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof ChannelControlRequest)) return false;
|
||||
ChannelControlRequest o = (ChannelControlRequest) other;
|
||||
return equals(type, o.type)
|
||||
&& equals(channelId, o.channelId)
|
||||
&& equals(fromChannelOperator, o.fromChannelOperator)
|
||||
&& equals(packageName, o.packageName)
|
||||
&& equals(signatureDigest, o.signatureDigest)
|
||||
&& equals(path, o.path)
|
||||
&& equals(closeErrorCode, o.closeErrorCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = type != null ? type.hashCode() : 0;
|
||||
result = result * 37 + (channelId != null ? channelId.hashCode() : 0);
|
||||
result = result * 37 + (fromChannelOperator != null ? fromChannelOperator.hashCode() : 0);
|
||||
result = result * 37 + (packageName != null ? packageName.hashCode() : 0);
|
||||
result = result * 37 + (signatureDigest != null ? signatureDigest.hashCode() : 0);
|
||||
result = result * 37 + (path != null ? path.hashCode() : 0);
|
||||
result = result * 37 + (closeErrorCode != null ? closeErrorCode.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<ChannelControlRequest> {
|
||||
|
||||
public Integer type;
|
||||
public Long channelId;
|
||||
public Boolean fromChannelOperator;
|
||||
public String packageName;
|
||||
public String signatureDigest;
|
||||
public String path;
|
||||
public Integer closeErrorCode;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(ChannelControlRequest message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.type = message.type;
|
||||
this.channelId = message.channelId;
|
||||
this.fromChannelOperator = message.fromChannelOperator;
|
||||
this.packageName = message.packageName;
|
||||
this.signatureDigest = message.signatureDigest;
|
||||
this.path = message.path;
|
||||
this.closeErrorCode = message.closeErrorCode;
|
||||
}
|
||||
|
||||
public Builder type(Integer type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder channelId(Long channelId) {
|
||||
this.channelId = channelId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder fromChannelOperator(Boolean fromChannelOperator) {
|
||||
this.fromChannelOperator = fromChannelOperator;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder packageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder signatureDigest(String signatureDigest) {
|
||||
this.signatureDigest = signatureDigest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder path(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder closeErrorCode(Integer closeErrorCode) {
|
||||
this.closeErrorCode = closeErrorCode;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelControlRequest build() {
|
||||
return new ChannelControlRequest(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
|
||||
public final class ChannelDataAckRequest extends Message {
|
||||
|
||||
public static final Boolean DEFAULT_FINALMESSAGE = false;
|
||||
|
||||
@ProtoField(tag = 1)
|
||||
public final ChannelDataHeader header;
|
||||
|
||||
@ProtoField(tag = 2, type = BOOL)
|
||||
public final Boolean finalMessage;
|
||||
|
||||
public ChannelDataAckRequest(ChannelDataHeader header, Boolean finalMessage) {
|
||||
this.header = header;
|
||||
this.finalMessage = finalMessage;
|
||||
}
|
||||
|
||||
private ChannelDataAckRequest(Builder builder) {
|
||||
this(builder.header, builder.finalMessage);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof ChannelDataAckRequest)) return false;
|
||||
ChannelDataAckRequest o = (ChannelDataAckRequest) other;
|
||||
return equals(header, o.header)
|
||||
&& equals(finalMessage, o.finalMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = header != null ? header.hashCode() : 0;
|
||||
result = result * 37 + (finalMessage != null ? finalMessage.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<ChannelDataAckRequest> {
|
||||
|
||||
public ChannelDataHeader header;
|
||||
public Boolean finalMessage;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(ChannelDataAckRequest message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.header = message.header;
|
||||
this.finalMessage = message.finalMessage;
|
||||
}
|
||||
|
||||
public Builder header(ChannelDataHeader header) {
|
||||
this.header = header;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder finalMessage(Boolean finalMessage) {
|
||||
this.finalMessage = finalMessage;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelDataAckRequest build() {
|
||||
return new ChannelDataAckRequest(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
|
||||
public final class ChannelDataHeader extends Message {
|
||||
|
||||
public static final Long DEFAULT_CHANNELID = 0L;
|
||||
public static final Boolean DEFAULT_FROMCHANNELOPERATOR = false;
|
||||
public static final Long DEFAULT_UNKNOWN3 = 0L;
|
||||
|
||||
@ProtoField(tag = 1, type = INT64)
|
||||
public final Long channelId;
|
||||
|
||||
@ProtoField(tag = 2, type = BOOL)
|
||||
public final Boolean fromChannelOperator;
|
||||
|
||||
@ProtoField(tag = 3, type = INT64)
|
||||
public final Long unknown3;
|
||||
|
||||
public ChannelDataHeader(Long channelId, Boolean fromChannelOperator, Long unknown3) {
|
||||
this.channelId = channelId;
|
||||
this.fromChannelOperator = fromChannelOperator;
|
||||
this.unknown3 = unknown3;
|
||||
}
|
||||
|
||||
private ChannelDataHeader(Builder builder) {
|
||||
this(builder.channelId, builder.fromChannelOperator, builder.unknown3);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof ChannelDataHeader)) return false;
|
||||
ChannelDataHeader o = (ChannelDataHeader) other;
|
||||
return equals(channelId, o.channelId)
|
||||
&& equals(fromChannelOperator, o.fromChannelOperator)
|
||||
&& equals(unknown3, o.unknown3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = channelId != null ? channelId.hashCode() : 0;
|
||||
result = result * 37 + (fromChannelOperator != null ? fromChannelOperator.hashCode() : 0);
|
||||
result = result * 37 + (unknown3 != null ? unknown3.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<ChannelDataHeader> {
|
||||
|
||||
public Long channelId;
|
||||
public Boolean fromChannelOperator;
|
||||
public Long unknown3;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(ChannelDataHeader message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.channelId = message.channelId;
|
||||
this.fromChannelOperator = message.fromChannelOperator;
|
||||
this.unknown3 = message.unknown3;
|
||||
}
|
||||
|
||||
public Builder channelId(Long channelId) {
|
||||
this.channelId = channelId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder fromChannelOperator(Boolean fromChannelOperator) {
|
||||
this.fromChannelOperator = fromChannelOperator;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown3(Long unknown3) {
|
||||
this.unknown3 = unknown3;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelDataHeader build() {
|
||||
return new ChannelDataHeader(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
|
||||
public final class ChannelDataRequest extends Message {
|
||||
|
||||
public static final ByteString DEFAULT_PAYLOAD = ByteString.EMPTY;
|
||||
public static final Boolean DEFAULT_FINALMESSAGE = false;
|
||||
|
||||
@ProtoField(tag = 1)
|
||||
public final ChannelDataHeader header;
|
||||
|
||||
@ProtoField(tag = 2, type = BYTES)
|
||||
public final ByteString payload;
|
||||
|
||||
@ProtoField(tag = 3, type = BOOL)
|
||||
public final Boolean finalMessage;
|
||||
|
||||
public ChannelDataRequest(ChannelDataHeader header, ByteString payload, Boolean finalMessage) {
|
||||
this.header = header;
|
||||
this.payload = payload;
|
||||
this.finalMessage = finalMessage;
|
||||
}
|
||||
|
||||
private ChannelDataRequest(Builder builder) {
|
||||
this(builder.header, builder.payload, builder.finalMessage);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof ChannelDataRequest)) return false;
|
||||
ChannelDataRequest o = (ChannelDataRequest) other;
|
||||
return equals(header, o.header)
|
||||
&& equals(payload, o.payload)
|
||||
&& equals(finalMessage, o.finalMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = header != null ? header.hashCode() : 0;
|
||||
result = result * 37 + (payload != null ? payload.hashCode() : 0);
|
||||
result = result * 37 + (finalMessage != null ? finalMessage.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<ChannelDataRequest> {
|
||||
|
||||
public ChannelDataHeader header;
|
||||
public ByteString payload;
|
||||
public Boolean finalMessage;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(ChannelDataRequest message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.header = message.header;
|
||||
this.payload = message.payload;
|
||||
this.finalMessage = message.finalMessage;
|
||||
}
|
||||
|
||||
public Builder header(ChannelDataHeader header) {
|
||||
this.header = header;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder payload(ByteString payload) {
|
||||
this.payload = payload;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder finalMessage(Boolean finalMessage) {
|
||||
this.finalMessage = finalMessage;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelDataRequest build() {
|
||||
return new ChannelDataRequest(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
|
||||
public final class ChannelRequest extends Message {
|
||||
|
||||
public static final Integer DEFAULT_VERSION = 0;
|
||||
|
||||
@ProtoField(tag = 2)
|
||||
public final ChannelControlRequest channelControlRequest;
|
||||
|
||||
@ProtoField(tag = 3)
|
||||
public final ChannelDataRequest channelDataRequest;
|
||||
|
||||
@ProtoField(tag = 4)
|
||||
public final ChannelDataAckRequest channelDataAckRequest;
|
||||
|
||||
@ProtoField(tag = 6, type = INT32)
|
||||
public final Integer version;
|
||||
|
||||
public ChannelRequest(ChannelControlRequest channelControlRequest, ChannelDataRequest channelDataRequest, ChannelDataAckRequest channelDataAckRequest, Integer version) {
|
||||
this.channelControlRequest = channelControlRequest;
|
||||
this.channelDataRequest = channelDataRequest;
|
||||
this.channelDataAckRequest = channelDataAckRequest;
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
private ChannelRequest(Builder builder) {
|
||||
this(builder.channelControlRequest, builder.channelDataRequest, builder.channelDataAckRequest, builder.version);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof ChannelRequest)) return false;
|
||||
ChannelRequest o = (ChannelRequest) other;
|
||||
return equals(channelControlRequest, o.channelControlRequest)
|
||||
&& equals(channelDataRequest, o.channelDataRequest)
|
||||
&& equals(channelDataAckRequest, o.channelDataAckRequest)
|
||||
&& equals(version, o.version);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = channelControlRequest != null ? channelControlRequest.hashCode() : 0;
|
||||
result = result * 37 + (channelDataRequest != null ? channelDataRequest.hashCode() : 0);
|
||||
result = result * 37 + (channelDataAckRequest != null ? channelDataAckRequest.hashCode() : 0);
|
||||
result = result * 37 + (version != null ? version.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<ChannelRequest> {
|
||||
|
||||
public ChannelControlRequest channelControlRequest;
|
||||
public ChannelDataRequest channelDataRequest;
|
||||
public ChannelDataAckRequest channelDataAckRequest;
|
||||
public Integer version;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(ChannelRequest message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.channelControlRequest = message.channelControlRequest;
|
||||
this.channelDataRequest = message.channelDataRequest;
|
||||
this.channelDataAckRequest = message.channelDataAckRequest;
|
||||
this.version = message.version;
|
||||
}
|
||||
|
||||
public Builder channelControlRequest(ChannelControlRequest channelControlRequest) {
|
||||
this.channelControlRequest = channelControlRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder channelDataRequest(ChannelDataRequest channelDataRequest) {
|
||||
this.channelDataRequest = channelDataRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder channelDataAckRequest(ChannelDataAckRequest channelDataAckRequest) {
|
||||
this.channelDataAckRequest = channelDataAckRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder version(Integer version) {
|
||||
this.version = version;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChannelRequest build() {
|
||||
return new ChannelRequest(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,153 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class Connect extends Message {
|
||||
|
||||
public static final Integer DEFAULT_ID = 0;
|
||||
public static final String DEFAULT_NAME = "";
|
||||
public static final Long DEFAULT_PEERANDROIDID = 0L;
|
||||
public static final Integer DEFAULT_UNKNOWN4 = 0;
|
||||
public static final Integer DEFAULT_UNKNOWN5 = 0;
|
||||
public static final Integer DEFAULT_UNKNOWN6 = 0;
|
||||
public static final String DEFAULT_NETWORKID = "";
|
||||
|
||||
@ProtoField(tag = 1, type = INT32)
|
||||
public final Integer id;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String name;
|
||||
|
||||
@ProtoField(tag = 3, type = INT64)
|
||||
public final Long peerAndroidId;
|
||||
|
||||
@ProtoField(tag = 4, type = INT32)
|
||||
public final Integer unknown4;
|
||||
|
||||
@ProtoField(tag = 5, type = INT32)
|
||||
public final Integer unknown5;
|
||||
|
||||
@ProtoField(tag = 6, type = INT32)
|
||||
public final Integer unknown6;
|
||||
|
||||
@ProtoField(tag = 7, type = STRING)
|
||||
public final String networkId;
|
||||
|
||||
public Connect(Integer id, String name, Long peerAndroidId, Integer unknown4, Integer unknown5, Integer unknown6, String networkId) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.peerAndroidId = peerAndroidId;
|
||||
this.unknown4 = unknown4;
|
||||
this.unknown5 = unknown5;
|
||||
this.unknown6 = unknown6;
|
||||
this.networkId = networkId;
|
||||
}
|
||||
|
||||
private Connect(Builder builder) {
|
||||
this(builder.id, builder.name, builder.peerAndroidId, builder.unknown4, builder.unknown5, builder.unknown6, builder.networkId);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof Connect)) return false;
|
||||
Connect o = (Connect) other;
|
||||
return equals(id, o.id)
|
||||
&& equals(name, o.name)
|
||||
&& equals(peerAndroidId, o.peerAndroidId)
|
||||
&& equals(unknown4, o.unknown4)
|
||||
&& equals(unknown5, o.unknown5)
|
||||
&& equals(unknown6, o.unknown6)
|
||||
&& equals(networkId, o.networkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = id != null ? id.hashCode() : 0;
|
||||
result = result * 37 + (name != null ? name.hashCode() : 0);
|
||||
result = result * 37 + (peerAndroidId != null ? peerAndroidId.hashCode() : 0);
|
||||
result = result * 37 + (unknown4 != null ? unknown4.hashCode() : 0);
|
||||
result = result * 37 + (unknown5 != null ? unknown5.hashCode() : 0);
|
||||
result = result * 37 + (unknown6 != null ? unknown6.hashCode() : 0);
|
||||
result = result * 37 + (networkId != null ? networkId.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<Connect> {
|
||||
|
||||
public Integer id;
|
||||
public String name;
|
||||
public Long peerAndroidId;
|
||||
public Integer unknown4;
|
||||
public Integer unknown5;
|
||||
public Integer unknown6;
|
||||
public String networkId;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(Connect message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.id = message.id;
|
||||
this.name = message.name;
|
||||
this.peerAndroidId = message.peerAndroidId;
|
||||
this.unknown4 = message.unknown4;
|
||||
this.unknown5 = message.unknown5;
|
||||
this.unknown6 = message.unknown6;
|
||||
this.networkId = message.networkId;
|
||||
}
|
||||
|
||||
public Builder id(Integer id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder peerAndroidId(Long peerAndroidId) {
|
||||
this.peerAndroidId = peerAndroidId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown4(Integer unknown4) {
|
||||
this.unknown4 = unknown4;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown5(Integer unknown5) {
|
||||
this.unknown5 = unknown5;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown6(Integer unknown6) {
|
||||
this.unknown6 = unknown6;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder networkId(String networkId) {
|
||||
this.networkId = networkId;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Connect build() {
|
||||
return new Connect(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,110 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class FetchAsset extends Message {
|
||||
|
||||
public static final String DEFAULT_PACKAGENAME = "";
|
||||
public static final String DEFAULT_ASSETNAME = "";
|
||||
public static final Boolean DEFAULT_PERMISSION = false;
|
||||
public static final String DEFAULT_SIGNATUREDIGEST = "";
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String packageName;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String assetName;
|
||||
|
||||
@ProtoField(tag = 3, type = BOOL)
|
||||
public final Boolean permission;
|
||||
|
||||
@ProtoField(tag = 4, type = STRING)
|
||||
public final String signatureDigest;
|
||||
|
||||
public FetchAsset(String packageName, String assetName, Boolean permission, String signatureDigest) {
|
||||
this.packageName = packageName;
|
||||
this.assetName = assetName;
|
||||
this.permission = permission;
|
||||
this.signatureDigest = signatureDigest;
|
||||
}
|
||||
|
||||
private FetchAsset(Builder builder) {
|
||||
this(builder.packageName, builder.assetName, builder.permission, builder.signatureDigest);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof FetchAsset)) return false;
|
||||
FetchAsset o = (FetchAsset) other;
|
||||
return equals(packageName, o.packageName)
|
||||
&& equals(assetName, o.assetName)
|
||||
&& equals(permission, o.permission)
|
||||
&& equals(signatureDigest, o.signatureDigest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = packageName != null ? packageName.hashCode() : 0;
|
||||
result = result * 37 + (assetName != null ? assetName.hashCode() : 0);
|
||||
result = result * 37 + (permission != null ? permission.hashCode() : 0);
|
||||
result = result * 37 + (signatureDigest != null ? signatureDigest.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<FetchAsset> {
|
||||
|
||||
public String packageName;
|
||||
public String assetName;
|
||||
public Boolean permission;
|
||||
public String signatureDigest;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(FetchAsset message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.packageName = message.packageName;
|
||||
this.assetName = message.assetName;
|
||||
this.permission = message.permission;
|
||||
this.signatureDigest = message.signatureDigest;
|
||||
}
|
||||
|
||||
public Builder packageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder assetName(String assetName) {
|
||||
this.assetName = assetName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder permission(Boolean permission) {
|
||||
this.permission = permission;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder signatureDigest(String signatureDigest) {
|
||||
this.signatureDigest = signatureDigest;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FetchAsset build() {
|
||||
return new FetchAsset(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,112 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class FilePiece extends Message {
|
||||
|
||||
public static final String DEFAULT_FILENAME = "";
|
||||
public static final Boolean DEFAULT_FINALPIECE = false;
|
||||
public static final ByteString DEFAULT_PIECE = ByteString.EMPTY;
|
||||
public static final String DEFAULT_DIGEST = "";
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String fileName;
|
||||
|
||||
@ProtoField(tag = 2, type = BOOL)
|
||||
public final Boolean finalPiece;
|
||||
|
||||
@ProtoField(tag = 3, type = BYTES)
|
||||
public final ByteString piece;
|
||||
|
||||
@ProtoField(tag = 4, type = STRING)
|
||||
public final String digest;
|
||||
|
||||
public FilePiece(String fileName, Boolean finalPiece, ByteString piece, String digest) {
|
||||
this.fileName = fileName;
|
||||
this.finalPiece = finalPiece;
|
||||
this.piece = piece;
|
||||
this.digest = digest;
|
||||
}
|
||||
|
||||
private FilePiece(Builder builder) {
|
||||
this(builder.fileName, builder.finalPiece, builder.piece, builder.digest);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof FilePiece)) return false;
|
||||
FilePiece o = (FilePiece) other;
|
||||
return equals(fileName, o.fileName)
|
||||
&& equals(finalPiece, o.finalPiece)
|
||||
&& equals(piece, o.piece)
|
||||
&& equals(digest, o.digest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = fileName != null ? fileName.hashCode() : 0;
|
||||
result = result * 37 + (finalPiece != null ? finalPiece.hashCode() : 0);
|
||||
result = result * 37 + (piece != null ? piece.hashCode() : 0);
|
||||
result = result * 37 + (digest != null ? digest.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<FilePiece> {
|
||||
|
||||
public String fileName;
|
||||
public Boolean finalPiece;
|
||||
public ByteString piece;
|
||||
public String digest;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(FilePiece message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.fileName = message.fileName;
|
||||
this.finalPiece = message.finalPiece;
|
||||
this.piece = message.piece;
|
||||
this.digest = message.digest;
|
||||
}
|
||||
|
||||
public Builder fileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder finalPiece(Boolean finalPiece) {
|
||||
this.finalPiece = finalPiece;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder piece(ByteString piece) {
|
||||
this.piece = piece;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder digest(String digest) {
|
||||
this.digest = digest;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FilePiece build() {
|
||||
return new FilePiece(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
|
||||
public final class Heartbeat extends Message {
|
||||
|
||||
public Heartbeat() {
|
||||
}
|
||||
|
||||
private Heartbeat(Builder builder) {
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
return other instanceof Heartbeat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<Heartbeat> {
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(Heartbeat message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Heartbeat build() {
|
||||
return new Heartbeat(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,126 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class MessagePiece extends Message {
|
||||
|
||||
public static final ByteString DEFAULT_DATA = ByteString.EMPTY;
|
||||
public static final String DEFAULT_DIGEST = "";
|
||||
public static final Integer DEFAULT_THISPIECE = 0;
|
||||
public static final Integer DEFAULT_TOTALPIECES = 0;
|
||||
public static final Integer DEFAULT_QUEUEID = 0;
|
||||
|
||||
@ProtoField(tag = 1, type = BYTES)
|
||||
public final ByteString data;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String digest;
|
||||
|
||||
@ProtoField(tag = 3, type = INT32)
|
||||
public final Integer thisPiece;
|
||||
|
||||
@ProtoField(tag = 4, type = INT32)
|
||||
public final Integer totalPieces;
|
||||
|
||||
@ProtoField(tag = 5, type = INT32)
|
||||
public final Integer queueId;
|
||||
|
||||
public MessagePiece(ByteString data, String digest, Integer thisPiece, Integer totalPieces, Integer queueId) {
|
||||
this.data = data;
|
||||
this.digest = digest;
|
||||
this.thisPiece = thisPiece;
|
||||
this.totalPieces = totalPieces;
|
||||
this.queueId = queueId;
|
||||
}
|
||||
|
||||
private MessagePiece(Builder builder) {
|
||||
this(builder.data, builder.digest, builder.thisPiece, builder.totalPieces, builder.queueId);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof MessagePiece)) return false;
|
||||
MessagePiece o = (MessagePiece) other;
|
||||
return equals(data, o.data)
|
||||
&& equals(digest, o.digest)
|
||||
&& equals(thisPiece, o.thisPiece)
|
||||
&& equals(totalPieces, o.totalPieces)
|
||||
&& equals(queueId, o.queueId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = data != null ? data.hashCode() : 0;
|
||||
result = result * 37 + (digest != null ? digest.hashCode() : 0);
|
||||
result = result * 37 + (thisPiece != null ? thisPiece.hashCode() : 0);
|
||||
result = result * 37 + (totalPieces != null ? totalPieces.hashCode() : 0);
|
||||
result = result * 37 + (queueId != null ? queueId.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<MessagePiece> {
|
||||
|
||||
public ByteString data;
|
||||
public String digest;
|
||||
public Integer thisPiece;
|
||||
public Integer totalPieces;
|
||||
public Integer queueId;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(MessagePiece message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.data = message.data;
|
||||
this.digest = message.digest;
|
||||
this.thisPiece = message.thisPiece;
|
||||
this.totalPieces = message.totalPieces;
|
||||
this.queueId = message.queueId;
|
||||
}
|
||||
|
||||
public Builder data(ByteString data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder digest(String digest) {
|
||||
this.digest = digest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder thisPiece(Integer thisPiece) {
|
||||
this.thisPiece = thisPiece;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder totalPieces(Integer totalPieces) {
|
||||
this.totalPieces = totalPieces;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder queueId(Integer queueId) {
|
||||
this.queueId = queueId;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MessagePiece build() {
|
||||
return new MessagePiece(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,195 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class Request extends Message {
|
||||
|
||||
public static final Integer DEFAULT_REQUESTID = 0;
|
||||
public static final String DEFAULT_PACKAGENAME = "";
|
||||
public static final String DEFAULT_SIGNATUREDIGEST = "";
|
||||
public static final String DEFAULT_TARGETNODEID = "";
|
||||
public static final Integer DEFAULT_UNKNOWN5 = 0;
|
||||
public static final String DEFAULT_PATH = "";
|
||||
public static final ByteString DEFAULT_RAWDATA = ByteString.EMPTY;
|
||||
public static final String DEFAULT_SOURCENODEID = "";
|
||||
public static final Integer DEFAULT_GENERATION = 0;
|
||||
|
||||
@ProtoField(tag = 1, type = INT32)
|
||||
public final Integer requestId;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String packageName;
|
||||
|
||||
@ProtoField(tag = 3, type = STRING)
|
||||
public final String signatureDigest;
|
||||
|
||||
@ProtoField(tag = 4, type = STRING)
|
||||
public final String targetNodeId;
|
||||
|
||||
@ProtoField(tag = 5, type = INT32)
|
||||
public final Integer unknown5;
|
||||
|
||||
@ProtoField(tag = 6, type = STRING)
|
||||
public final String path;
|
||||
|
||||
@ProtoField(tag = 7, type = BYTES)
|
||||
public final ByteString rawData;
|
||||
|
||||
@ProtoField(tag = 8, type = STRING)
|
||||
public final String sourceNodeId;
|
||||
|
||||
@ProtoField(tag = 9)
|
||||
public final ChannelRequest request;
|
||||
|
||||
@ProtoField(tag = 10, type = INT32)
|
||||
public final Integer generation;
|
||||
|
||||
public Request(Integer requestId, String packageName, String signatureDigest, String targetNodeId, Integer unknown5, String path, ByteString rawData, String sourceNodeId, ChannelRequest request, Integer generation) {
|
||||
this.requestId = requestId;
|
||||
this.packageName = packageName;
|
||||
this.signatureDigest = signatureDigest;
|
||||
this.targetNodeId = targetNodeId;
|
||||
this.unknown5 = unknown5;
|
||||
this.path = path;
|
||||
this.rawData = rawData;
|
||||
this.sourceNodeId = sourceNodeId;
|
||||
this.request = request;
|
||||
this.generation = generation;
|
||||
}
|
||||
|
||||
private Request(Builder builder) {
|
||||
this(builder.requestId, builder.packageName, builder.signatureDigest, builder.targetNodeId, builder.unknown5, builder.path, builder.rawData, builder.sourceNodeId, builder.request, builder.generation);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof Request)) return false;
|
||||
Request o = (Request) other;
|
||||
return equals(requestId, o.requestId)
|
||||
&& equals(packageName, o.packageName)
|
||||
&& equals(signatureDigest, o.signatureDigest)
|
||||
&& equals(targetNodeId, o.targetNodeId)
|
||||
&& equals(unknown5, o.unknown5)
|
||||
&& equals(path, o.path)
|
||||
&& equals(rawData, o.rawData)
|
||||
&& equals(sourceNodeId, o.sourceNodeId)
|
||||
&& equals(request, o.request)
|
||||
&& equals(generation, o.generation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = requestId != null ? requestId.hashCode() : 0;
|
||||
result = result * 37 + (packageName != null ? packageName.hashCode() : 0);
|
||||
result = result * 37 + (signatureDigest != null ? signatureDigest.hashCode() : 0);
|
||||
result = result * 37 + (targetNodeId != null ? targetNodeId.hashCode() : 0);
|
||||
result = result * 37 + (unknown5 != null ? unknown5.hashCode() : 0);
|
||||
result = result * 37 + (path != null ? path.hashCode() : 0);
|
||||
result = result * 37 + (rawData != null ? rawData.hashCode() : 0);
|
||||
result = result * 37 + (sourceNodeId != null ? sourceNodeId.hashCode() : 0);
|
||||
result = result * 37 + (request != null ? request.hashCode() : 0);
|
||||
result = result * 37 + (generation != null ? generation.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<Request> {
|
||||
|
||||
public Integer requestId;
|
||||
public String packageName;
|
||||
public String signatureDigest;
|
||||
public String targetNodeId;
|
||||
public Integer unknown5;
|
||||
public String path;
|
||||
public ByteString rawData;
|
||||
public String sourceNodeId;
|
||||
public ChannelRequest request;
|
||||
public Integer generation;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(Request message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.requestId = message.requestId;
|
||||
this.packageName = message.packageName;
|
||||
this.signatureDigest = message.signatureDigest;
|
||||
this.targetNodeId = message.targetNodeId;
|
||||
this.unknown5 = message.unknown5;
|
||||
this.path = message.path;
|
||||
this.rawData = message.rawData;
|
||||
this.sourceNodeId = message.sourceNodeId;
|
||||
this.request = message.request;
|
||||
this.generation = message.generation;
|
||||
}
|
||||
|
||||
public Builder requestId(Integer requestId) {
|
||||
this.requestId = requestId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder packageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder signatureDigest(String signatureDigest) {
|
||||
this.signatureDigest = signatureDigest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder targetNodeId(String targetNodeId) {
|
||||
this.targetNodeId = targetNodeId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown5(Integer unknown5) {
|
||||
this.unknown5 = unknown5;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder path(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder rawData(ByteString rawData) {
|
||||
this.rawData = rawData;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder sourceNodeId(String sourceNodeId) {
|
||||
this.sourceNodeId = sourceNodeId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder request(ChannelRequest request) {
|
||||
this.request = request;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder generation(Integer generation) {
|
||||
this.generation = generation;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Request build() {
|
||||
return new Request(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,197 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
|
||||
public final class RootMessage extends Message {
|
||||
|
||||
public static final Boolean DEFAULT_UNKNOWN13 = false;
|
||||
|
||||
@ProtoField(tag = 4)
|
||||
public final SetAsset setAsset;
|
||||
|
||||
@ProtoField(tag = 5)
|
||||
public final AckAsset ackAsset;
|
||||
|
||||
@ProtoField(tag = 6)
|
||||
public final FetchAsset fetchAsset;
|
||||
|
||||
@ProtoField(tag = 7)
|
||||
public final Connect connect;
|
||||
|
||||
@ProtoField(tag = 8)
|
||||
public final SyncStart syncStart;
|
||||
|
||||
@ProtoField(tag = 9)
|
||||
public final SetDataItem setDataItem;
|
||||
|
||||
@ProtoField(tag = 10)
|
||||
public final Request rcpRequest;
|
||||
|
||||
@ProtoField(tag = 11)
|
||||
public final Heartbeat heartbeat;
|
||||
|
||||
@ProtoField(tag = 12)
|
||||
public final FilePiece filePiece;
|
||||
|
||||
@ProtoField(tag = 13, type = BOOL)
|
||||
public final Boolean unknown13;
|
||||
|
||||
@ProtoField(tag = 16)
|
||||
public final Request channelRequest;
|
||||
|
||||
public RootMessage(SetAsset setAsset, AckAsset ackAsset, FetchAsset fetchAsset, Connect connect, SyncStart syncStart, SetDataItem setDataItem, Request rcpRequest, Heartbeat heartbeat, FilePiece filePiece, Boolean unknown13, Request channelRequest) {
|
||||
this.setAsset = setAsset;
|
||||
this.ackAsset = ackAsset;
|
||||
this.fetchAsset = fetchAsset;
|
||||
this.connect = connect;
|
||||
this.syncStart = syncStart;
|
||||
this.setDataItem = setDataItem;
|
||||
this.rcpRequest = rcpRequest;
|
||||
this.heartbeat = heartbeat;
|
||||
this.filePiece = filePiece;
|
||||
this.unknown13 = unknown13;
|
||||
this.channelRequest = channelRequest;
|
||||
}
|
||||
|
||||
private RootMessage(Builder builder) {
|
||||
this(builder.setAsset, builder.ackAsset, builder.fetchAsset, builder.connect, builder.syncStart, builder.setDataItem, builder.rcpRequest, builder.heartbeat, builder.filePiece, builder.unknown13, builder.channelRequest);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof RootMessage)) return false;
|
||||
RootMessage o = (RootMessage) other;
|
||||
return equals(setAsset, o.setAsset)
|
||||
&& equals(ackAsset, o.ackAsset)
|
||||
&& equals(fetchAsset, o.fetchAsset)
|
||||
&& equals(connect, o.connect)
|
||||
&& equals(syncStart, o.syncStart)
|
||||
&& equals(setDataItem, o.setDataItem)
|
||||
&& equals(rcpRequest, o.rcpRequest)
|
||||
&& equals(heartbeat, o.heartbeat)
|
||||
&& equals(filePiece, o.filePiece)
|
||||
&& equals(unknown13, o.unknown13)
|
||||
&& equals(channelRequest, o.channelRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = setAsset != null ? setAsset.hashCode() : 0;
|
||||
result = result * 37 + (ackAsset != null ? ackAsset.hashCode() : 0);
|
||||
result = result * 37 + (fetchAsset != null ? fetchAsset.hashCode() : 0);
|
||||
result = result * 37 + (connect != null ? connect.hashCode() : 0);
|
||||
result = result * 37 + (syncStart != null ? syncStart.hashCode() : 0);
|
||||
result = result * 37 + (setDataItem != null ? setDataItem.hashCode() : 0);
|
||||
result = result * 37 + (rcpRequest != null ? rcpRequest.hashCode() : 0);
|
||||
result = result * 37 + (heartbeat != null ? heartbeat.hashCode() : 0);
|
||||
result = result * 37 + (filePiece != null ? filePiece.hashCode() : 0);
|
||||
result = result * 37 + (unknown13 != null ? unknown13.hashCode() : 0);
|
||||
result = result * 37 + (channelRequest != null ? channelRequest.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<RootMessage> {
|
||||
|
||||
public SetAsset setAsset;
|
||||
public AckAsset ackAsset;
|
||||
public FetchAsset fetchAsset;
|
||||
public Connect connect;
|
||||
public SyncStart syncStart;
|
||||
public SetDataItem setDataItem;
|
||||
public Request rcpRequest;
|
||||
public Heartbeat heartbeat;
|
||||
public FilePiece filePiece;
|
||||
public Boolean unknown13;
|
||||
public Request channelRequest;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(RootMessage message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.setAsset = message.setAsset;
|
||||
this.ackAsset = message.ackAsset;
|
||||
this.fetchAsset = message.fetchAsset;
|
||||
this.connect = message.connect;
|
||||
this.syncStart = message.syncStart;
|
||||
this.setDataItem = message.setDataItem;
|
||||
this.rcpRequest = message.rcpRequest;
|
||||
this.heartbeat = message.heartbeat;
|
||||
this.filePiece = message.filePiece;
|
||||
this.unknown13 = message.unknown13;
|
||||
this.channelRequest = message.channelRequest;
|
||||
}
|
||||
|
||||
public Builder setAsset(SetAsset setAsset) {
|
||||
this.setAsset = setAsset;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder ackAsset(AckAsset ackAsset) {
|
||||
this.ackAsset = ackAsset;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder fetchAsset(FetchAsset fetchAsset) {
|
||||
this.fetchAsset = fetchAsset;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder connect(Connect connect) {
|
||||
this.connect = connect;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder syncStart(SyncStart syncStart) {
|
||||
this.syncStart = syncStart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setDataItem(SetDataItem setDataItem) {
|
||||
this.setDataItem = setDataItem;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder rcpRequest(Request rcpRequest) {
|
||||
this.rcpRequest = rcpRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder heartbeat(Heartbeat heartbeat) {
|
||||
this.heartbeat = heartbeat;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder filePiece(FilePiece filePiece) {
|
||||
this.filePiece = filePiece;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown13(Boolean unknown13) {
|
||||
this.unknown13 = unknown13;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder channelRequest(Request channelRequest) {
|
||||
this.channelRequest = channelRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RootMessage build() {
|
||||
return new RootMessage(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class SetAsset extends Message {
|
||||
|
||||
public static final String DEFAULT_DIGEST = "";
|
||||
public static final ByteString DEFAULT_DATA = ByteString.EMPTY;
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String digest;
|
||||
|
||||
@ProtoField(tag = 2, type = BYTES)
|
||||
public final ByteString data;
|
||||
|
||||
@ProtoField(tag = 3)
|
||||
public final AppKeys appkeys;
|
||||
|
||||
public SetAsset(String digest, ByteString data, AppKeys appkeys) {
|
||||
this.digest = digest;
|
||||
this.data = data;
|
||||
this.appkeys = appkeys;
|
||||
}
|
||||
|
||||
private SetAsset(Builder builder) {
|
||||
this(builder.digest, builder.data, builder.appkeys);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof SetAsset)) return false;
|
||||
SetAsset o = (SetAsset) other;
|
||||
return equals(digest, o.digest)
|
||||
&& equals(data, o.data)
|
||||
&& equals(appkeys, o.appkeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = digest != null ? digest.hashCode() : 0;
|
||||
result = result * 37 + (data != null ? data.hashCode() : 0);
|
||||
result = result * 37 + (appkeys != null ? appkeys.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<SetAsset> {
|
||||
|
||||
public String digest;
|
||||
public ByteString data;
|
||||
public AppKeys appkeys;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(SetAsset message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.digest = message.digest;
|
||||
this.data = message.data;
|
||||
this.appkeys = message.appkeys;
|
||||
}
|
||||
|
||||
public Builder digest(String digest) {
|
||||
this.digest = digest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder data(ByteString data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder appkeys(AppKeys appkeys) {
|
||||
this.appkeys = appkeys;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SetAsset build() {
|
||||
return new SetAsset(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,200 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import okio.ByteString;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.BOOL;
|
||||
import static com.squareup.wire.Message.Datatype.BYTES;
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
import static com.squareup.wire.Message.Label.REPEATED;
|
||||
|
||||
public final class SetDataItem extends Message {
|
||||
|
||||
public static final String DEFAULT_PACKAGENAME = "";
|
||||
public static final String DEFAULT_URI = "";
|
||||
public static final List<String> DEFAULT_UNKNOWN3 = Collections.emptyList();
|
||||
public static final ByteString DEFAULT_DATA = ByteString.EMPTY;
|
||||
public static final Long DEFAULT_SEQID = 0L;
|
||||
public static final Boolean DEFAULT_DELETED = false;
|
||||
public static final String DEFAULT_SOURCE = "";
|
||||
public static final List<AssetEntry> DEFAULT_ASSETS = Collections.emptyList();
|
||||
public static final String DEFAULT_SIGNATUREDIGEST = "";
|
||||
public static final Long DEFAULT_LASTMODIFIED = 0L;
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String packageName;
|
||||
|
||||
@ProtoField(tag = 2, type = STRING)
|
||||
public final String uri;
|
||||
|
||||
@ProtoField(tag = 3, type = STRING, label = REPEATED)
|
||||
public final List<String> unknown3;
|
||||
|
||||
@ProtoField(tag = 4, type = BYTES)
|
||||
public final ByteString data;
|
||||
|
||||
@ProtoField(tag = 5, type = INT64)
|
||||
public final Long seqId;
|
||||
|
||||
@ProtoField(tag = 6, type = BOOL)
|
||||
public final Boolean deleted;
|
||||
|
||||
@ProtoField(tag = 7, type = STRING)
|
||||
public final String source;
|
||||
|
||||
@ProtoField(tag = 8, label = REPEATED, messageType = AssetEntry.class)
|
||||
public final List<AssetEntry> assets;
|
||||
|
||||
@ProtoField(tag = 9, type = STRING)
|
||||
public final String signatureDigest;
|
||||
|
||||
@ProtoField(tag = 10, type = INT64)
|
||||
public final Long lastModified;
|
||||
|
||||
public SetDataItem(String packageName, String uri, List<String> unknown3, ByteString data, Long seqId, Boolean deleted, String source, List<AssetEntry> assets, String signatureDigest, Long lastModified) {
|
||||
this.packageName = packageName;
|
||||
this.uri = uri;
|
||||
this.unknown3 = immutableCopyOf(unknown3);
|
||||
this.data = data;
|
||||
this.seqId = seqId;
|
||||
this.deleted = deleted;
|
||||
this.source = source;
|
||||
this.assets = immutableCopyOf(assets);
|
||||
this.signatureDigest = signatureDigest;
|
||||
this.lastModified = lastModified;
|
||||
}
|
||||
|
||||
private SetDataItem(Builder builder) {
|
||||
this(builder.packageName, builder.uri, builder.unknown3, builder.data, builder.seqId, builder.deleted, builder.source, builder.assets, builder.signatureDigest, builder.lastModified);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof SetDataItem)) return false;
|
||||
SetDataItem o = (SetDataItem) other;
|
||||
return equals(packageName, o.packageName)
|
||||
&& equals(uri, o.uri)
|
||||
&& equals(unknown3, o.unknown3)
|
||||
&& equals(data, o.data)
|
||||
&& equals(seqId, o.seqId)
|
||||
&& equals(deleted, o.deleted)
|
||||
&& equals(source, o.source)
|
||||
&& equals(assets, o.assets)
|
||||
&& equals(signatureDigest, o.signatureDigest)
|
||||
&& equals(lastModified, o.lastModified);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = packageName != null ? packageName.hashCode() : 0;
|
||||
result = result * 37 + (uri != null ? uri.hashCode() : 0);
|
||||
result = result * 37 + (unknown3 != null ? unknown3.hashCode() : 1);
|
||||
result = result * 37 + (data != null ? data.hashCode() : 0);
|
||||
result = result * 37 + (seqId != null ? seqId.hashCode() : 0);
|
||||
result = result * 37 + (deleted != null ? deleted.hashCode() : 0);
|
||||
result = result * 37 + (source != null ? source.hashCode() : 0);
|
||||
result = result * 37 + (assets != null ? assets.hashCode() : 1);
|
||||
result = result * 37 + (signatureDigest != null ? signatureDigest.hashCode() : 0);
|
||||
result = result * 37 + (lastModified != null ? lastModified.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<SetDataItem> {
|
||||
|
||||
public String packageName;
|
||||
public String uri;
|
||||
public List<String> unknown3;
|
||||
public ByteString data;
|
||||
public Long seqId;
|
||||
public Boolean deleted;
|
||||
public String source;
|
||||
public List<AssetEntry> assets;
|
||||
public String signatureDigest;
|
||||
public Long lastModified;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(SetDataItem message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.packageName = message.packageName;
|
||||
this.uri = message.uri;
|
||||
this.unknown3 = copyOf(message.unknown3);
|
||||
this.data = message.data;
|
||||
this.seqId = message.seqId;
|
||||
this.deleted = message.deleted;
|
||||
this.source = message.source;
|
||||
this.assets = copyOf(message.assets);
|
||||
this.signatureDigest = message.signatureDigest;
|
||||
this.lastModified = message.lastModified;
|
||||
}
|
||||
|
||||
public Builder packageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder uri(String uri) {
|
||||
this.uri = uri;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder unknown3(List<String> unknown3) {
|
||||
this.unknown3 = checkForNulls(unknown3);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder data(ByteString data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder seqId(Long seqId) {
|
||||
this.seqId = seqId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder deleted(Boolean deleted) {
|
||||
this.deleted = deleted;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder source(String source) {
|
||||
this.source = source;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder assets(List<AssetEntry> assets) {
|
||||
this.assets = checkForNulls(assets);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder signatureDigest(String signatureDigest) {
|
||||
this.signatureDigest = signatureDigest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder lastModified(Long lastModified) {
|
||||
this.lastModified = lastModified;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SetDataItem build() {
|
||||
return new SetDataItem(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.INT32;
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
import static com.squareup.wire.Message.Label.REPEATED;
|
||||
|
||||
public final class SyncStart extends Message {
|
||||
|
||||
public static final Long DEFAULT_RECEIVEDSEQID = 0L;
|
||||
public static final List<SyncTableEntry> DEFAULT_SYNCTABLE = Collections.emptyList();
|
||||
public static final Integer DEFAULT_VERSION = 0;
|
||||
|
||||
@ProtoField(tag = 1, type = INT64)
|
||||
public final Long receivedSeqId;
|
||||
|
||||
@ProtoField(tag = 2, label = REPEATED, messageType = SyncTableEntry.class)
|
||||
public final List<SyncTableEntry> syncTable;
|
||||
|
||||
@ProtoField(tag = 3, type = INT32)
|
||||
public final Integer version;
|
||||
|
||||
public SyncStart(Long receivedSeqId, List<SyncTableEntry> syncTable, Integer version) {
|
||||
this.receivedSeqId = receivedSeqId;
|
||||
this.syncTable = immutableCopyOf(syncTable);
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
private SyncStart(Builder builder) {
|
||||
this(builder.receivedSeqId, builder.syncTable, builder.version);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof SyncStart)) return false;
|
||||
SyncStart o = (SyncStart) other;
|
||||
return equals(receivedSeqId, o.receivedSeqId)
|
||||
&& equals(syncTable, o.syncTable)
|
||||
&& equals(version, o.version);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = receivedSeqId != null ? receivedSeqId.hashCode() : 0;
|
||||
result = result * 37 + (syncTable != null ? syncTable.hashCode() : 1);
|
||||
result = result * 37 + (version != null ? version.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<SyncStart> {
|
||||
|
||||
public Long receivedSeqId;
|
||||
public List<SyncTableEntry> syncTable;
|
||||
public Integer version;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(SyncStart message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.receivedSeqId = message.receivedSeqId;
|
||||
this.syncTable = copyOf(message.syncTable);
|
||||
this.version = message.version;
|
||||
}
|
||||
|
||||
public Builder receivedSeqId(Long receivedSeqId) {
|
||||
this.receivedSeqId = receivedSeqId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder syncTable(List<SyncTableEntry> syncTable) {
|
||||
this.syncTable = checkForNulls(syncTable);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder version(Integer version) {
|
||||
this.version = version;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncStart build() {
|
||||
return new SyncStart(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
// Code generated by Wire protocol buffer compiler, do not edit.
|
||||
// Source file: protos-repo/wearable.proto
|
||||
package org.microg.gms.wearable;
|
||||
|
||||
import com.squareup.wire.Message;
|
||||
import com.squareup.wire.ProtoField;
|
||||
|
||||
import static com.squareup.wire.Message.Datatype.INT64;
|
||||
import static com.squareup.wire.Message.Datatype.STRING;
|
||||
|
||||
public final class SyncTableEntry extends Message {
|
||||
|
||||
public static final String DEFAULT_KEY = "";
|
||||
public static final Long DEFAULT_VALUE = 0L;
|
||||
|
||||
@ProtoField(tag = 1, type = STRING)
|
||||
public final String key;
|
||||
|
||||
@ProtoField(tag = 2, type = INT64)
|
||||
public final Long value;
|
||||
|
||||
public SyncTableEntry(String key, Long value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
private SyncTableEntry(Builder builder) {
|
||||
this(builder.key, builder.value);
|
||||
setBuilder(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) return true;
|
||||
if (!(other instanceof SyncTableEntry)) return false;
|
||||
SyncTableEntry o = (SyncTableEntry) other;
|
||||
return equals(key, o.key)
|
||||
&& equals(value, o.value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = hashCode;
|
||||
if (result == 0) {
|
||||
result = key != null ? key.hashCode() : 0;
|
||||
result = result * 37 + (value != null ? value.hashCode() : 0);
|
||||
hashCode = result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final class Builder extends Message.Builder<SyncTableEntry> {
|
||||
|
||||
public String key;
|
||||
public Long value;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public Builder(SyncTableEntry message) {
|
||||
super(message);
|
||||
if (message == null) return;
|
||||
this.key = message.key;
|
||||
this.value = message.value;
|
||||
}
|
||||
|
||||
public Builder key(String key) {
|
||||
this.key = key;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder value(Long value) {
|
||||
this.value = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncTableEntry build() {
|
||||
return new SyncTableEntry(this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,152 +0,0 @@
|
||||
option java_package = "org.microg.gms.wearable";
|
||||
option java_outer_classname = "WearableProto";
|
||||
|
||||
message AckAsset {
|
||||
optional string digest = 1;
|
||||
}
|
||||
|
||||
message AppKey {
|
||||
optional string packageName = 1;
|
||||
optional string signatureDigest = 2;
|
||||
}
|
||||
|
||||
message AppKeys {
|
||||
repeated AppKey appKeys = 1;
|
||||
}
|
||||
|
||||
message Asset {
|
||||
// TODO
|
||||
}
|
||||
|
||||
message AssetEntry {
|
||||
optional string key = 1;
|
||||
optional Asset value = 2;
|
||||
optional int32 unknown3 = 3;
|
||||
}
|
||||
|
||||
message ChannelControlRequest {
|
||||
optional int32 type = 1;
|
||||
optional int64 channelId = 2;
|
||||
optional bool fromChannelOperator = 3;
|
||||
optional string packageName = 4;
|
||||
optional string signatureDigest = 5;
|
||||
optional string path = 6;
|
||||
optional int32 closeErrorCode = 7;
|
||||
}
|
||||
|
||||
message ChannelDataAckRequest {
|
||||
optional ChannelDataHeader header = 1;
|
||||
optional bool finalMessage = 2;
|
||||
}
|
||||
|
||||
message ChannelDataHeader {
|
||||
optional int64 channelId = 1;
|
||||
optional bool fromChannelOperator = 2;
|
||||
optional int64 unknown3 = 3;
|
||||
}
|
||||
|
||||
message ChannelDataRequest {
|
||||
optional ChannelDataHeader header = 1;
|
||||
optional bytes payload = 2;
|
||||
optional bool finalMessage = 3;
|
||||
}
|
||||
|
||||
message ChannelRequest {
|
||||
optional ChannelControlRequest channelControlRequest = 2;
|
||||
optional ChannelDataRequest channelDataRequest = 3;
|
||||
optional ChannelDataAckRequest channelDataAckRequest = 4;
|
||||
optional int32 version = 6;
|
||||
}
|
||||
|
||||
message Connect {
|
||||
optional int32 id = 1;
|
||||
optional string name = 2;
|
||||
optional int64 peerAndroidId = 3;
|
||||
optional int32 unknown4 = 4;
|
||||
optional int32 unknown5 = 5;
|
||||
optional int32 unknown6 = 6;
|
||||
optional string networkId = 7;
|
||||
}
|
||||
|
||||
message FetchAsset {
|
||||
optional string packageName = 1;
|
||||
optional string assetName = 2;
|
||||
optional bool permission = 3;
|
||||
optional string signatureDigest = 4;
|
||||
}
|
||||
|
||||
message FilePiece {
|
||||
optional string fileName = 1;
|
||||
optional bool finalPiece = 2;
|
||||
optional bytes piece = 3;
|
||||
optional string digest = 4;
|
||||
}
|
||||
|
||||
message Heartbeat {
|
||||
|
||||
}
|
||||
|
||||
message MessagePiece {
|
||||
optional bytes data = 1;
|
||||
optional string digest = 2;
|
||||
optional int32 thisPiece = 3;
|
||||
optional int32 totalPieces = 4;
|
||||
optional int32 queueId = 5;
|
||||
}
|
||||
|
||||
message Request {
|
||||
optional int32 requestId = 1;
|
||||
optional string packageName = 2;
|
||||
optional string signatureDigest = 3;
|
||||
optional string targetNodeId = 4;
|
||||
optional int32 unknown5 = 5;
|
||||
optional string path = 6;
|
||||
optional bytes rawData = 7;
|
||||
optional string sourceNodeId = 8;
|
||||
optional ChannelRequest request = 9;
|
||||
optional int32 generation = 10;
|
||||
}
|
||||
|
||||
message RootMessage {
|
||||
optional SetAsset setAsset = 4;
|
||||
optional AckAsset ackAsset = 5;
|
||||
optional FetchAsset fetchAsset = 6;
|
||||
optional Connect connect = 7;
|
||||
optional SyncStart syncStart = 8;
|
||||
optional SetDataItem setDataItem = 9;
|
||||
optional Request rcpRequest = 10;
|
||||
optional Heartbeat heartbeat = 11;
|
||||
optional FilePiece filePiece = 12;
|
||||
optional bool unknown13 = 13;
|
||||
optional Request channelRequest = 16;
|
||||
}
|
||||
|
||||
message SetAsset {
|
||||
optional string digest = 1;
|
||||
optional bytes data = 2;
|
||||
optional AppKeys appkeys = 3;
|
||||
}
|
||||
|
||||
message SetDataItem {
|
||||
optional string packageName = 1;
|
||||
optional string uri = 2;
|
||||
repeated string unknown3 = 3;
|
||||
optional bytes data = 4;
|
||||
optional int64 seqId = 5;
|
||||
optional bool deleted = 6;
|
||||
optional string source = 7;
|
||||
repeated AssetEntry assets = 8;
|
||||
optional string signatureDigest = 9;
|
||||
optional int64 lastModified = 10;
|
||||
}
|
||||
|
||||
message SyncStart {
|
||||
optional int64 receivedSeqId = 1;
|
||||
repeated SyncTableEntry syncTable = 2;
|
||||
optional int32 version = 3;
|
||||
}
|
||||
|
||||
message SyncTableEntry {
|
||||
optional string key = 1;
|
||||
optional int64 value = 2;
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
include ':safe-parcel'
|
||||
|
||||
include ':wearable-lib'
|
||||
|
||||
include ':unifiednlp-api'
|
||||
include ':unifiednlp-base'
|
||||
include ':unifiednlp-compat'
|
||||
|
1
wearable-lib
Symbolic link
1
wearable-lib
Symbolic link
@ -0,0 +1 @@
|
||||
extern/Wearable/wearable-lib/
|
Loading…
Reference in New Issue
Block a user